找回密码
 注册
Simdroid-非首页
查看: 94|回复: 7

[命令和APDL] *do循环内能恢复数据库吗?

[复制链接]
发表于 2012-3-28 10:32:29 | 显示全部楼层 |阅读模式 来自 大连理工大学
是这样的,有两个模型a和模型b,都是在do循环之前已经保存。如果在后面使用do循环(do,I,1,5,1),do循环内恢复了前面的模型a的话,那么这个do循环的的变量I是不是也会自动清空了? 如果是这样的话,怎么样才能在do循环内恢复之前的数据库呢?
发表于 2012-3-28 12:55:23 | 显示全部楼层 来自 湖北武汉
Simdroid开发平台
使用别的变量,使的*do循环变量不被模型中的变量覆盖

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-28 14:09:41 | 显示全部楼层 来自 大连理工大学
senja 发表于 2012-3-28 12:55
使用别的变量,使的*do循环变量不被模型中的变量覆盖

恩,明白啦,谢谢斑竹
回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-28 15:42:02 | 显示全部楼层 来自 大连理工大学
本帖最后由 zhuizhu18 于 2012-3-28 15:43 编辑
senja 发表于 2012-3-28 12:55
使用别的变量,使的*do循环变量不被模型中的变量覆盖


!建立子模型
FINISH
/CLEAR,START
/FILNAME,SUB-MODEL
ALLSEL
SAVE

!建立整体模型
FINISH
/FILNAME,FULL-MODEL
/CLEAR,START
/FILNAME,FULL-MODEL
ALLSEL
SAVE


/PREP7

*DO,C,1,2,1
   
  *DO,D,1,2,1

   FINISH
   /FILNAME,FULL-MODEL
   /CLEAR,START
   /FILNAME,FULL-MODEL
   RESUME

   /PREP7
   *CFOPEN,brace1_1 result_1,txt,,APPEND   !采用追加的方式写入数据
     *VWRITE,
     ('the end of this level')
   *CFCLOSE

  *ENDDO


  /PREP7
  *CFOPEN,brace1_1 result_1,txt,,APPEND   !采用追加的方式写入数据
  *VWRITE,C
  ('the end of this level frequency of this wave is:'F10.4)
  *CFCLOSE

*ENDDO
版主能帮忙看下这个循环循环吧,按理说这个命令写出的C值应该是1,和2,为啥我算出来是0呢?
回复 不支持

使用道具 举报

发表于 2012-3-28 21:05:49 | 显示全部楼层 来自 湖北武汉
zhuizhu18 发表于 2012-3-28 15:42
!建立子模型
FINISH
/CLEAR,START

在这程序基础上修改、试调了一下,这两个变量是读不出来,但是循环可以实现。询问了si13前辈,说是可以用文件的形式调用可以实现,直接提取是不行的。

回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-28 21:32:23 | 显示全部楼层 来自 大连理工大学
senja 发表于 2012-3-28 21:05
在这程序基础上修改、试调了一下,这两个变量是读不出来,但是循环可以实现。询问了si13前辈,说是可以用 ...

恩,多谢版主和si13前辈,向各位前辈多多学习
回复 不支持

使用道具 举报

发表于 2012-3-28 21:34:44 | 显示全部楼层 来自 湖北武汉
zhuizhu18 发表于 2012-3-28 15:42
!建立子模型
FINISH
/CLEAR,START

循环变量调不出来,因为循环中有/clear,存储的变量没有,但是循环可以进行。
我修改了一下,选用si13版主的建议,自定义合适的变量,通过文件存储的方式实现。楼主可以试着修改,以实现你自己的运算。




!建立子模型
FINISH
/CLEAR,START
/FILNAME,SUB-MODEL
ALLSEL
SAVE

!建立整体模型
FINISH
/CLEAR,START
/FILNAME,FULL-MODEL
ALLSEL
SAVE


/PREP7

    *dim,c_d,array,1,2
    c_d(1,1)=1
    c_d(1,2)=1
    *cfopen,cd,txt
    *vwrite,c_d(1,1),c_d(1,2)
     (2f5.2)
    *cfclos

*DO,C,1,2,1
   *DO,D,1,2,1
      
   FINISH
   /CLEAR
   /FILNAME,FULL-MODEL
   RESUME

   /PREP7
   *dim,cc,array,1,2
   *vread,cc,cd,txt,,jik,2,1
   (2f5.2)
   *CFOPEN,brace1_1 result_1,txt,,APPEND   !采用追加的方式写入数据
   *VWRITE
     ('the end of this level')
   *VWRITE,CC(1,1)
     (f5.2)
   *CFCLOSE

   cc(1,1)=cc(1,1)+1
   *cfopen,cd,txt
    *vwrite,cc(1,1),cc(1,2)
     (2f5.2)
    *cfclos


   *ENDDO


  /PREP7
  *dim,dd,array,1,2
   *vread,dd,cd,txt,,jik,2,1
   (2f5.2)
  *CFOPEN,brace1_1 result_1,txt,,APPEND   !采用追加的方式写入数据
  *VWRITE
  ('the end of this level frequency of this wave is:')
  *VWRITE,DD(1,2)
   (f5.2)
  *CFCLOSE

   dd(1,2)=dd(1,2)+1
   *cfopen,cd,txt
    *vwrite,dd(1,1),dd(1,2)
     (2f5.2)
    *cfclos
*ENDDO
运行完后,brace1_1 result_1.txt文件中内容如下图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2012-4-12 18:07:41 | 显示全部楼层 来自 广东东莞
senja 发表于 2012-3-28 21:34
循环变量调不出来,因为循环中有/clear,存储的变量没有,但是循环可以进行。
我修改了一下,选用si13版 ...

*do,k,1,10

*cfopen,k_par,inp
('k='f3.0)
*cfcols
/clear,start
.
.
!需要K数值时
/input,k_par,inp

*enddo
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-29 22:32 , Processed in 0.041808 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表