24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1713  |  回复: 13

chiko75

铜虫 (小有名气)

[求助] ANSYS中,do循环中使用生死单元再单点重启动,如何接着最后一个子步重启动?已有1人参与

请问一下,我在ANSYS中试用重启动功能时,在do循环里激活单元再单点重启动,重启动后发现所有单元都激活了。没有重启动的命令时计算结果是正常的。请问应该怎么改?命令如下:
!边界条件
time,1e-5
solve

esel,s,mat,,1
ekill,all
allsel

*do,i,1,10
locy=i*step_inc
local,13,0,0,locy,0
esel,s,loc,x,-width/2,width/2
esel,r,loc,y,-step_inc,step_inc
esel,r,loc,z,0,height
ealive,all
allsel
!载荷
allsel
solve
finish
/post1
!后处理中没有任何命令
/solu
resume
antype,,rest,,,continue
*enddo
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

htbbzzg

铁杆木虫 (著名写手)

引用回帖:
5楼: Originally posted by chiko75 at 2023-08-07 23:23:33
我是按照您的建议修改后发现还是出现了重启动后所有单元都激活了的情况,至于注释掉的命令可以不管,因为我在知乎上看到要用solve初始化,但失败了。其次,我用/input的命令导入材料物性,为了方便还是把物性写出来 ...

你是在知乎上那一篇文件中看到的 "要用solve初始化"?这肯定是错误的。如果是 "用 /solu 初始化" 到还勉强说得通。不过,初始化意味着什么你了解吗?每一次初始化都会使后续的求解从头开始,而不管之前计算到了哪一步,这显然不是你需要的 (从已计算的最后一步的结构继续计算)。
进一步的检查分析问题则比较复杂了。你可以先执行一次循环,并在循环的开始和重启动命令之后,以及执行 parasove 命令和 pararest 命令前后,分别将死单元放到不同的 component 中并输出其中的死单元编号到硬盘上,然后比较一下几组死单元是否相同。如不相同则需要进一步检查,看看死单元是什么情况下改变的。

至于循环尾部的 solve  被注解掉,那么就要回到循环的开始处,经过一些操作后才会进行求解,这其中是否有什么问题也需要仔细检查。
另外,本想试一下你的命令流,那么还需要你提供命令流中两个 /input 命令所使用的输入文件,否则无法试算和查找问题。。

» 本帖已获得的红花(最新10朵)

6楼2023-08-08 10:13:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

htbbzzg

铁杆木虫 (著名写手)

【答案】应助回帖

有两个地方改一下试试:
  1  循环中,第一个 solve 之后增加一个 save 命令。
  2  循环中,后处理之后,回到 /solu,一个 resume 命令是多余的,且会导致其它问题,需要删除掉。
      不过,上面增加 save 命令后,这个 resume  命令也就失去了作用,不删除也许是可以的。只是为了保险,还是删除较好。

  3  此外,在循环中第一个 solve  之后,save 之前,还可以增加一个命令“
        parsave, all
      然后,在后处理之后,回到求解模块时,再增加一个命令:
        paeres, new
      以保证重新回到求解模块时模型的状态与之前相同。
  你先改改试试,如仍有问题,需要你提供完整的命令流,以便分析。
2楼2023-08-04 08:40:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

htbbzzg

铁杆木虫 (著名写手)

【答案】应助回帖

单点重启动照理应该是从最后一次的计算结果继续进行计算,模型的状态也应该是最后一次计算时的状态。
马上周末了,我可以试试你的命令流,看看能否找到问题所在。
8楼2023-08-10 08:57:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

htbbzzg

铁杆木虫 (著名写手)

引用回帖:
9楼: Originally posted by chiko75 at 2023-08-10 14:38:53
谢谢谢谢。
我也在想如果重启动后会丢失生死单元命令,那么是不是再加上就行,但是直接激活后不确定是不是就是重启动到最后一步
...

如果确实是重启动导致死单元的定义丢失,那么重新加上应该是可以的。但是需要确认是否重启动导致了死单元的定义丢失,是否有其它问题。
另外,对于单点重启动,按照 ANSYS 的说明,就应该是回到之前计算的最后一步。
10楼2023-08-11 08:49:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

htbbzzg

铁杆木虫 (著名写手)

【答案】应助回帖

昨天试算和修改你的命令流,主要是添加了很多输出中间结果的命令,进行检查分析。最终确定重启动确实会导致生死单元的定义丢失,通过重新定义生死单元可以解决这个问题。
  看你的命令流,只是杀死了材料 1 的所有单元,所以定义生死单元还是很方便的。不过,有一个问题我没有修改,那就是你定义的约束条件好像涉及了少数材料 1 的单元,而你激活了与约束条件有关的单元,因而计算过程中死单元的数量不断在变化。不知道这是否你的本意。
    除了为了检查中间结果的部分外,修改的重点有一以几个:
  1  在循环中,solve 命令之后增加了 save 命令,以保证盘上存放的是最后一个计算成功的子步的模型。
  2  在循环中,后处理之后,回到求解模块时,恢复了 resume 命令,以保证模型与上一次求解后的状态一致。
  3  由于上两步不能保证死单元不变,所以在 Antype Rest 命令之后重新定义了死单元。

修改后的命令流如下。其中,用 *cfopen 命令打开了一个用于存放中间结果的文件,计算结束后可以看一下该文件,可以看到死计算过程单及元数量的变化。


!***   chiko75
finish
/clear
/filn, chiko75-03,1
/title, chiko75 -03
/units,si

/prep7
ET,1,SOLID70!responsive structural element for solid185
ET,2,SOLID90!responsive structural element for solid186
!et,2,suff_h152
!keyopt,2,4,0
!keyopt,2,5,1
!keyopt,2,8,3
!keyopt,2,9,1
mat3_top=1
mat_h13=2

!***  
!***  /input,FeCrBSi_top_ther,dat,E:\acdE\ANSYSdb\tesueship\matpara
!***  /input,H13_ther,dat,E:\acdE\ANSYSdb\tesueship\matpara
/input,  mat3_top,txt          !***  读入两个材料属性文件
/input,  mat_h13,txt
!***
  
mpdele,enth,1
mpdele,enth,2
w_matrix=0.05
l_matrix=0.08
h_matrix=0.010
h_clad=0.002
esize_ref=0.001
D=0.002
pi=acos(-1)
dists_inc=esize_ref
v_scan=10e-3
temp_preh=298.15
count=4        !l_matrix/v_scan
/COM,create volume
block,-D/2,D/2,0,l_matrix,0,h_clad
cm,clad,volu
block,-1.5*D,1.5*D,0,l_matrix,0,-h_matrix
block,-(1.5*D+2*esize_ref),-1.5*D,0,l_matrix,0,-h_matrix
block,1.5*D,(1.5*D+2*esize_ref),0,l_matrix,0,-h_matrix
block,-6*D,-(1.5*D+2*esize_ref),0,l_matrix,0,-h_matrix
block,(1.5*D+2*esize_ref),6*D,0,l_matrix,0,-h_matrix
block,-w_matrix/2,-6*D,0,l_matrix,0,-h_matrix
block,6*D,w_matrix/2,0,l_matrix,0,-h_matrix
allsel
vglue,all

vsel,s,loc,x,-w_matrix/2,-6*D
vsel,a,loc,x,6*D,w_matrix/2
cm,matrix_hex,volu
vsel,s,loc,x,-6*D,6*D
vsel,r,loc,z,0,-l_matrix
cm,matrix_tet,volu
allsel
cmgrp,matrix,matrix_hex,matrix_tet

allsel
lsel,s,loc,x,-1.5*D,1.5*D
lesize,all,esize_ref
lsel,s,loc,x,-(1.5*D+esize_ref)
lsel,a,loc,x,(1.5*D+esize_ref)
lsel,u,tan1,z,1
lsel,u,tan1,z,-1
lesize,all,esize_ref
lsel,s,loc,x,-4*D,-w_matrix
lsel,a,loc,x,4*D,w_matrix
lsel,r,loc,z,-h_matrix/2
lesize,all,4*esize_ref
lsel,s,loc,x,-4*D,-w_matrix
lsel,a,loc,x,4*D,w_matrix
lsel,r,tan1,z,0
lesize,all,4*esize_ref

mat,1
type,1
mshkey,1
mshape,0
vmesh,clad

mat,2
type,1
mshkey,1
mshape,0
vmesh,matrix_hex
!vmesh,7
type,2
mshkey,0
mshape,1
!vmesh,5
!vmesh,6
vmesh,matrix_tet
numcmp,area
vimp,matrix_tet,0,3

numcmp,all       !***  压缩实体编号,去掉空白的编号
save

/solu

*cfopen, chiko75-rl3,txt    !  定义一个输出文件,记录一些中间结果

antype,4
timint,1,therm
solcontrol,on,,
tintp,,,,1,,,,,,
thopt,full,0.05,64
neqit,100
trnopt,full
nropt,full,,on
pred,on,,on
cutcontrol,noiterpredict,0
cutcontrol,cutbackfactor,0.5
cutcontrol,plslimit,10,
cnvtol,temp,,0.01
cnvtol,heat,,0.01,,1e-6
kbc,0
lumpm,0
lnsrch,1
autots,1
ncnv,2
outres,all,all!basic,last

tunif,temp_preh
allsel
nsel,s,loc,z,-h_matrix
sf,all,conv,5,temp_preh
allsel
time,1e-4
deltim,5e-5,5e-5,5e-5

*vwrite,
(/' First solu & solve  time=1e-4')
!***  写中间结果文件,下同

solve

/solu
!***  这个 /solu 是多余的,可以删除试试,是否影响计算结果

*vwrite,
(/' Second solu  -  undeleted')

esel,s,mat,,1
ekill,all
cm, emat_1,elem      !***  为材料 1 死单元建组  

!***  将当前死单元数写入中间结果文件,下同
*get,ekilled, elem, 0, count
cm, ekilled, elem
*vwrite, ekilled
(' Ekill all elements for mat 1,  count =',f6.0 )

esel,s,live
eplot
!rescontrol,define,all,all
i=1
*do,i,0,count                !   count = 4

        disy=i*dists_inc
        t=(disy+dists_inc)/v_scan

!!!!!
   *vwrite, i,t
   (//' In *do,   i=',f5.0, '   time=',f10.8)

        esel,s,mat,,1
        nsle,s,1
        nsel,r,loc,y,disy-dists_inc,disy+dists_inc,0.00001
        esln,s,1      !***  可能会包含部分 mat 1 的单元
        ealive,all    !***  导致部分死单元被激活
        bf,all,hgen,4e10
        esel,s,live
        eplot

        csys,0
        allsel
        esel,s,live
        nsle,s,1,
        nsel,r,ext
        nsel,u,loc,z,-h_matrix       !------改
        sf,all,conv,50,temp_preh    !------改
        time,t
        nsubst,5,1000,5,1        
        allsel
        !求解
        SOLVE
        parsav,all,parareco-i1,txt    !** 保存参数
        save        !***  求解后将模型存盘

!***   检查死单元        
cm, e_befor,elem        !*** 保存当前单元
esel,s,live
esel,inve
cm, ekilled_2,elem      !***  为死单元建组  
*get,ekilled_2, elem, 0, count
!!!!!
*vwrite, i, ekilled_2
(' After solve,  i =',f5.0,'   killed elem count = ',f7.0)
cmsel, s, e_befor         !***  恢复原来单元组
        
       /solu
!***  这个 /solu 是多余的,可以删除试试,是否影响计算结果
        
!!!!!
        *vwrite,i,t
        (/' 3-th solu    i = ',f5.0,' time=',f10.8)
        
        parsav,all,parareco-i2,txt     !** 再次保存参数,与上一次比较
        
        
        BFDELE,all,HGEN
        allsel
        nsel,u,loc,z,-h_matrix
        sfdele,all,conv
        allsel
        save
        finish
      
        /post1
        !etable,temper,temp
    !esel,s,etab,temper,1160
        !cm,temper1,elem
        finish
        !save
      
        !/filename,
        
!***   检查死单元        
cm, e_befor,elem        !*** 保存当前单元
esel,s,live
esel,inve
cm, ekilled_3,elem      !***  为死单元建组  
*get,ekilled_3, elem, 0, count
*vwrite, i, ekilled_3
(' After solve,  i =',f5.0,'   killed elem count = ',f6.0)
cmsel, s, e_befor         !***  恢复原来单元组
        

        /solu
        
        resume
!****  恢复为上面存储的模型
        
        parres,new,parareco-i1,txt

!!!!!
        *vwrite
        (/' 4-th solu,   before  rest ')
        parsav,all,parareco-i3,txt     !** 再次保存参数,与第一次比较
        
!***   检查死单元        
cm, e_befor,elem        !*** 保存当前单元
esel,s,live
esel,inve
cm, ekilled_4,elem      !***  为死单元建组  
*get,ekilled_4, elem, 0, count
*vwrite, i, ekilled_4
(' Before rest,  i =',f5.0,'   killed elem count = ',f6.0)
cmsel, s,e_befor         !***  恢复原来单元组
        
        
        antype,,rest
        
        
!***   检查死单元        
cm, e_befor,elem        !*** 保存当前单元
esel,s,live
esel,inve
cm, ekilled_5,elem      !***  为死单元建组  
*get,ekilled_5, elem, 0, count
*vwrite, i, ekilled_5
(' After rest,  i =',f5.0,'   killed elem count = ',f6.0)
cmsel, s, e_befor         !***  恢复原来单元组

!***  如果没有死单元,则重新定义材料 1 的定义为死单元
  *if, ekilled_5,eq,0,then
    ESEL,S,MAT,,1   
    ekill,all   
    *get,ekilled_5, elem, 0, count
    *vwrite, i, ekilled_5
    (' Modify: After rest,  i =',f5.0,'   killed elem count = ',f6.0)
    cmsel, s, e_befor         !***  恢复原来单元组
  *endif

        parres,new,parareco-i3,txt
        
!***   检查死单元        
cm, e_befor,elem        !*** 保存当前单元
esel,s,live
esel,inve
cm, ekilled_6,elem      !***  为死单元建组  
*get,ekilled_6, elem, 0, count
*vwrite, i, ekilled_6
(' After rest&parares,  i =',f5.0,'   killed elem count = ',f6.0)
cmsel, s, e_befor         !***  恢复原来单元组
        
        
        !parres,new,parareco,txt
        !esel,s,,,temper1
        !ekill,all
!        allsel
        !kuse,1
        !solve
        allsel
*ENDDO
*cfclose

! *
11楼2023-08-13 08:54:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

htbbzzg

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
chiko75: 金币+20, ★★★很有帮助 2023-10-13 15:27:02
你好!
周末摸索了一下你的问题,发现确实是重启动导致死单元的定义被删除,不过,在重启动命令之后重新定义死单元就可以解决这个问题。
用于摸索你的问题和在重启动后重新添加死单元定义的命令流如下 ,你可以试试看:

!***   chiko75
finish
/clear
/filn, chiko75-03,1
/title, chiko75 -03
/units,si

/prep7
ET,1,SOLID70!responsive structural element for solid185
ET,2,SOLID90!responsive structural element for solid186
!et,2,suff_h152
!keyopt,2,4,0
!keyopt,2,5,1
!keyopt,2,8,3
!keyopt,2,9,1
mat3_top=1
mat_h13=2

!***  
!***  /input,FeCrBSi_top_ther,dat,E:\acdE\ANSYSdb\tesueship\matpara
!***  /input,H13_ther,dat,E:\acdE\ANSYSdb\tesueship\matpara
/input,  mat3_top,txt          !***  读入两个材料属性文件
/input,  mat_h13,txt
!***
  
mpdele,enth,1
mpdele,enth,2
w_matrix=0.05
l_matrix=0.08
h_matrix=0.010
h_clad=0.002
esize_ref=0.001
D=0.002
pi=acos(-1)
dists_inc=esize_ref
v_scan=10e-3
temp_preh=298.15
count=4        !l_matrix/v_scan
/COM,create volume
block,-D/2,D/2,0,l_matrix,0,h_clad
cm,clad,volu
block,-1.5*D,1.5*D,0,l_matrix,0,-h_matrix
block,-(1.5*D+2*esize_ref),-1.5*D,0,l_matrix,0,-h_matrix
block,1.5*D,(1.5*D+2*esize_ref),0,l_matrix,0,-h_matrix
block,-6*D,-(1.5*D+2*esize_ref),0,l_matrix,0,-h_matrix
block,(1.5*D+2*esize_ref),6*D,0,l_matrix,0,-h_matrix
block,-w_matrix/2,-6*D,0,l_matrix,0,-h_matrix
block,6*D,w_matrix/2,0,l_matrix,0,-h_matrix
allsel
vglue,all

vsel,s,loc,x,-w_matrix/2,-6*D
vsel,a,loc,x,6*D,w_matrix/2
cm,matrix_hex,volu
vsel,s,loc,x,-6*D,6*D
vsel,r,loc,z,0,-l_matrix
cm,matrix_tet,volu
allsel
cmgrp,matrix,matrix_hex,matrix_tet

allsel
lsel,s,loc,x,-1.5*D,1.5*D
lesize,all,esize_ref
lsel,s,loc,x,-(1.5*D+esize_ref)
lsel,a,loc,x,(1.5*D+esize_ref)
lsel,u,tan1,z,1
lsel,u,tan1,z,-1
lesize,all,esize_ref
lsel,s,loc,x,-4*D,-w_matrix
lsel,a,loc,x,4*D,w_matrix
lsel,r,loc,z,-h_matrix/2
lesize,all,4*esize_ref
lsel,s,loc,x,-4*D,-w_matrix
lsel,a,loc,x,4*D,w_matrix
lsel,r,tan1,z,0
lesize,all,4*esize_ref

mat,1
type,1
mshkey,1
mshape,0
vmesh,clad

mat,2
type,1
mshkey,1
mshape,0
vmesh,matrix_hex
!vmesh,7
type,2
mshkey,0
mshape,1
!vmesh,5
!vmesh,6
vmesh,matrix_tet
numcmp,area
vimp,matrix_tet,0,3

numcmp,all       !***  压缩实体编号,去掉空白的编号
save

/solu

*cfopen, chiko75-rl3,txt    !  定义一个输出文件,记录一些中间结果

antype,4
timint,1,therm
solcontrol,on,,
tintp,,,,1,,,,,,
thopt,full,0.05,64
neqit,100
trnopt,full
nropt,full,,on
pred,on,,on
cutcontrol,noiterpredict,0
cutcontrol,cutbackfactor,0.5
cutcontrol,plslimit,10,
cnvtol,temp,,0.01
cnvtol,heat,,0.01,,1e-6
kbc,0
lumpm,0
lnsrch,1
autots,1
ncnv,2
outres,all,all!basic,last

tunif,temp_preh
allsel
nsel,s,loc,z,-h_matrix
sf,all,conv,5,temp_preh
allsel
time,1e-4
deltim,5e-5,5e-5,5e-5

*vwrite,
(/' First solu & solve  time=1e-4')
!***  写中间结果文件,下同

solve

/solu
!***  这个 /solu 是多余的,可以删除试试,是否影响计算结果

*vwrite,
(/' Second solu  -  undeleted')

esel,s,mat,,1
ekill,all
cm, emat_1,elem      !***  为材料 1 死单元建组  

!***  将当前死单元数写入中间结果文件,下同
*get,ekilled, elem, 0, count
cm, ekilled, elem
*vwrite, ekilled
(' Ekill all elements for mat 1,  count =',f6.0 )

esel,s,live
eplot
!rescontrol,define,all,all
i=1
*do,i,0,count                !   count = 4

        disy=i*dists_inc
        t=(disy+dists_inc)/v_scan

!!!!!
   *vwrite, i,t
   (//' In *do,   i=',f5.0, '   time=',f10.8)

        esel,s,mat,,1
        nsle,s,1
        nsel,r,loc,y,disy-dists_inc,disy+dists_inc,0.00001
        esln,s,1      !***  可能会包含部分 mat 1 的单元
        ealive,all    !***  导致部分死单元被激活
        bf,all,hgen,4e10
        esel,s,live
        eplot

        csys,0
        allsel
        esel,s,live
        nsle,s,1,
        nsel,r,ext
        nsel,u,loc,z,-h_matrix       !------改
        sf,all,conv,50,temp_preh    !------改
        time,t
        nsubst,5,1000,5,1        
        allsel
        !求解
        SOLVE
        parsav,all,parareco-i1,txt    !** 保存参数
        save        !***  求解后将模型存盘

!***   检查死单元        
cm, e_befor,elem        !*** 保存当前单元
esel,s,live
esel,inve
cm, ekilled_2,elem      !***  为死单元建组  
*get,ekilled_2, elem, 0, count
!!!!!
*vwrite, i, ekilled_2
(' After solve,  i =',f5.0,'   killed elem count = ',f7.0)
cmsel, s, e_befor         !***  恢复原来单元组
        
       /solu
!***  这个 /solu 是多余的,可以删除试试,是否影响计算结果
        
!!!!!
        *vwrite,i,t
        (/' 3-th solu    i = ',f5.0,' time=',f10.8)
        
        parsav,all,parareco-i2,txt     !** 再次保存参数,与上一次比较
        
        
        BFDELE,all,HGEN
        allsel
        nsel,u,loc,z,-h_matrix
        sfdele,all,conv
        allsel
        save
        finish
      
        /post1
        !etable,temper,temp
    !esel,s,etab,temper,1160
        !cm,temper1,elem
        finish
        !save
      
        !/filename,
        
!***   检查死单元        
cm, e_befor,elem        !*** 保存当前单元
esel,s,live
esel,inve
cm, ekilled_3,elem      !***  为死单元建组  
*get,ekilled_3, elem, 0, count
*vwrite, i, ekilled_3
(' After solve,  i =',f5.0,'   killed elem count = ',f6.0)
cmsel, s, e_befor         !***  恢复原来单元组
        

        /solu
        
        resume
!****  恢复为上面存储的模型
        
        parres,new,parareco-i1,txt

!!!!!
        *vwrite
        (/' 4-th solu,   before  rest ')
        parsav,all,parareco-i3,txt     !** 再次保存参数,与第一次比较
        
!***   检查死单元        
cm, e_befor,elem        !*** 保存当前单元
esel,s,live
esel,inve
cm, ekilled_4,elem      !***  为死单元建组  
*get,ekilled_4, elem, 0, count
*vwrite, i, ekilled_4
(' Before rest,  i =',f5.0,'   killed elem count = ',f6.0)
cmsel, s,e_befor         !***  恢复原来单元组
        
        
        antype,,rest
        
        
!***   检查死单元        
cm, e_befor,elem        !*** 保存当前单元
esel,s,live
esel,inve
cm, ekilled_5,elem      !***  为死单元建组  
*get,ekilled_5, elem, 0, count
*vwrite, i, ekilled_5
(' After rest,  i =',f5.0,'   killed elem count = ',f6.0)
cmsel, s, e_befor         !***  恢复原来单元组

!***  如果没有死单元,则重新定义材料 1 的定义为死单元
  *if, ekilled_5,eq,0,then
    ESEL,S,MAT,,1   
    ekill,all   
    *get,ekilled_5, elem, 0, count
    *vwrite, i, ekilled_5
    (' Modify: After rest,  i =',f5.0,'   killed elem count = ',f6.0)
    cmsel, s, e_befor         !***  恢复原来单元组
  *endif

        parres,new,parareco-i3,txt
        
!***   检查死单元        
cm, e_befor,elem        !*** 保存当前单元
esel,s,live
esel,inve
cm, ekilled_6,elem      !***  为死单元建组  
*get,ekilled_6, elem, 0, count
*vwrite, i, ekilled_6
(' After rest&parares,  i =',f5.0,'   killed elem count = ',f6.0)
cmsel, s, e_befor         !***  恢复原来单元组
        
        
        !parres,new,parareco,txt
        !esel,s,,,temper1
        !ekill,all
!        allsel
        !kuse,1
        !solve
        allsel
*ENDDO
*cfclose
12楼2023-08-14 09:18:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

htbbzzg

铁杆木虫 (著名写手)

【答案】应助回帖

昨天把我摸索的结果发到小木虫网站了,可是今早进入你的帖子却没有找到我昨天发的内容,于是重新发了一次。发完后却有看到了我昨天发的内容,实在奇怪。
今天发的比较简单,缺少一些注解。你看昨天的内容就可以了。
13楼2023-08-14 09:23:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

chiko75

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by htbbzzg at 2023-08-04 08:40:16
有两个地方改一下试试:
  1  循环中,第一个 solve 之后增加一个 save 命令。
  2  循环中,后处理之后,回到 /solu,一个 resume 命令是多余的,且会导致其它问题,需要删除掉。
      不过,上面增加 save 命 ...

谢谢,不过还是不行。具体命令如下
finish
/clear
/units,si
/prep7
ET,1,SOLID70!responsive structural element for solid185
ET,2,SOLID90!responsive structural element for solid186
!et,2,suff_h152
!keyopt,2,4,0
!keyopt,2,5,1
!keyopt,2,8,3
!keyopt,2,9,1
mat3_top=1
mat_h13=2
/input,FeCrBSi_top_ther,dat,E:\acdE\ANSYSdb\tesueship\matpara
/input,H13_ther,dat,E:\acdE\ANSYSdb\tesueship\matpara
mpdele,enth,1
mpdele,enth,2
w_matrix=0.05
l_matrix=0.08
h_matrix=0.010
h_clad=0.002
esize_ref=0.001
D=0.002
pi=acos(-1)
dists_inc=esize_ref
v_scan=10e-3
temp_preh=298.15
count=4        !l_matrix/v_scan
/COM,create volume
block,-D/2,D/2,0,l_matrix,0,h_clad
cm,clad,volu
block,-1.5*D,1.5*D,0,l_matrix,0,-h_matrix
block,-(1.5*D+2*esize_ref),-1.5*D,0,l_matrix,0,-h_matrix
block,1.5*D,(1.5*D+2*esize_ref),0,l_matrix,0,-h_matrix
block,-6*D,-(1.5*D+2*esize_ref),0,l_matrix,0,-h_matrix
block,(1.5*D+2*esize_ref),6*D,0,l_matrix,0,-h_matrix
block,-w_matrix/2,-6*D,0,l_matrix,0,-h_matrix
block,6*D,w_matrix/2,0,l_matrix,0,-h_matrix
allsel
vglue,all

vsel,s,loc,x,-w_matrix/2,-6*D
vsel,a,loc,x,6*D,w_matrix/2
cm,matrix_hex,volu
vsel,s,loc,x,-6*D,6*D
vsel,r,loc,z,0,-l_matrix
cm,matrix_tet,volu
allsel
cmgrp,matrix,matrix_hex,matrix_tet

allsel
lsel,s,loc,x,-1.5*D,1.5*D
lesize,all,esize_ref
lsel,s,loc,x,-(1.5*D+esize_ref)
lsel,a,loc,x,(1.5*D+esize_ref)
lsel,u,tan1,z,1
lsel,u,tan1,z,-1
lesize,all,esize_ref
lsel,s,loc,x,-4*D,-w_matrix
lsel,a,loc,x,4*D,w_matrix
lsel,r,loc,z,-h_matrix/2
lesize,all,4*esize_ref
lsel,s,loc,x,-4*D,-w_matrix
lsel,a,loc,x,4*D,w_matrix
lsel,r,tan1,z,0
lesize,all,4*esize_ref

mat,1
type,1
mshkey,1
mshape,0
vmesh,clad

mat,2
type,1
mshkey,1
mshape,0
vmesh,matrix_hex
!vmesh,7
type,2
mshkey,0
mshape,1
!vmesh,5
!vmesh,6
vmesh,matrix_tet
numcmp,area
vimp,matrix_tet,0,3
save

/solu
antype,4
timint,1,therm
solcontrol,on,,
tintp,,,,1,,,,,,
thopt,full,0.05,64
neqit,100
trnopt,full
nropt,full,,on
pred,on,,on
cutcontrol,noiterpredict,0
cutcontrol,cutbackfactor,0.5
cutcontrol,plslimit,10,
cnvtol,temp,,0.01
cnvtol,heat,,0.01,,1e-6
kbc,0
lumpm,0
lnsrch,1
autots,1
ncnv,2
outres,all,all!basic,last

tunif,temp_preh
allsel
nsel,s,loc,z,-h_matrix
sf,all,conv,5,temp_preh
allsel
time,1e-4
deltim,5e-5,5e-5,5e-5
solve
/solu

esel,s,mat,,1
ekill,all
esel,s,live
eplot
!rescontrol,define,all,all
i=1
*do,i,0,count
        disy=i*dists_inc
        t=(disy+dists_inc)/v_scan
        esel,s,mat,,1
        nsle,s,1
        nsel,r,loc,y,disy-dists_inc,disy+dists_inc,0.00001
        esln,s,1
        ealive,all
        bf,all,hgen,4e10
        esel,s,live
        eplot

        csys,0
        allsel
        esel,s,live
        nsle,s,1,
        nsel,r,ext
        nsel,u,loc,z,-h_matrix       !------改
        sf,all,conv,50,temp_preh    !------改
        time,t
        nsubst,5,1000,5,1        
        allsel
        !求解
        SOLVE
        parsav,all,parareco,txt
        save
        /solu
        BFDELE,all,HGEN
        allsel
        nsel,u,loc,z,-h_matrix
        sfdele,all,conv
        allsel
        save
        finish
       
        /post1
        !etable,temper,temp
    !esel,s,etab,temper,1160
        !cm,temper1,elem
        finish
        !save
       
        !/filename,
        /solu
        !resume
        parres,new,parareco,txt
        antype,,rest
        !parres,new,parareco,txt
        !esel,s,,,temper1
        !ekill,all
        allsel
        !kuse,1
        !solve
        allsel
*ENDDO

材料物性参数如下:
!mat3_top=1
MPTEMP
MPTEMP,1,298.15
MPTEMP,2,373.15
MPTEMP,3,473.15
MPTEMP,4,573.15
MPTEMP,5,673.15
MPTEMP,6,773.15
MPTEMP,7,873.15
MPTEMP,8,973.15
MPTEMP,9,975.33443
MPTEMP,10,998.17961
MPTEMP,11,999.8139
MPTEMP,12,1015.91817
MPTEMP,13,1073.15
MPTEMP,14,1173.15
MPTEMP,15,1373.15
MPTEMP,16,1411.33015
MPTEMP,17,1456.42042
MPTEMP,18,1473.15
MPTEMP,19,1573.15
MPTEMP,20,1618.42234
MPTEMP,21,1658.14359
MPTEMP,22,1673.15
MPTEMP,23,1773.15
MPTEMP,24,1873.15
MPTEMP,25,1973.15
MPTEMP,26,2073.15
MPTEMP,27,2173.15
MPTEMP,28,2273.15
MPTEMP,29,2373.15
MPTEMP,30,2473.15
MPTEMP,31,2573.15
MPTEMP,32,2673.15
MPTEMP,33,2773.15
MPTEMP,34,2873.15
MPTEMP,35,2973.15
MPTEMP,36,3073.15
MPTEMP,37,3173.15
MPTEMP,38,3273.15
FACT_DENS=1000.0
MPDATA,DENS,mat3_top,1,7.02202213*FACT_DENS
MPDATA,DENS,mat3_top,2,6.99741469*FACT_DENS
MPDATA,DENS,mat3_top,3,6.964275398*FACT_DENS
MPDATA,DENS,mat3_top,4,6.930778305*FACT_DENS
MPDATA,DENS,mat3_top,5,6.896943469*FACT_DENS
MPDATA,DENS,mat3_top,6,6.862790649*FACT_DENS
MPDATA,DENS,mat3_top,7,6.828339298*FACT_DENS
MPDATA,DENS,mat3_top,8,6.557242353*FACT_DENS
MPDATA,DENS,mat3_top,9,6.548547164*FACT_DENS
MPDATA,DENS,mat3_top,10,7.178593816*FACT_DENS
MPDATA,DENS,mat3_top,11,7.215224808*FACT_DENS
MPDATA,DENS,mat3_top,12,7.214457885*FACT_DENS
MPDATA,DENS,mat3_top,13,7.1932084*FACT_DENS
MPDATA,DENS,mat3_top,14,7.153846107*FACT_DENS
MPDATA,DENS,mat3_top,15,7.182897395*FACT_DENS
MPDATA,DENS,mat3_top,16,7.130974654*FACT_DENS
MPDATA,DENS,mat3_top,17,7.097697794*FACT_DENS
MPDATA,DENS,mat3_top,18,7.084619144*FACT_DENS
MPDATA,DENS,mat3_top,19,6.981560988*FACT_DENS
MPDATA,DENS,mat3_top,20,6.905731826*FACT_DENS
MPDATA,DENS,mat3_top,21,6.869300497*FACT_DENS
MPDATA,DENS,mat3_top,22,6.857610676*FACT_DENS
MPDATA,DENS,mat3_top,23,6.77826579*FACT_DENS
MPDATA,DENS,mat3_top,24,6.696569749*FACT_DENS
MPDATA,DENS,mat3_top,25,6.612749342*FACT_DENS
MPDATA,DENS,mat3_top,26,6.52702854*FACT_DENS
MPDATA,DENS,mat3_top,27,6.43962735*FACT_DENS
MPDATA,DENS,mat3_top,28,6.350760781*FACT_DENS
MPDATA,DENS,mat3_top,29,6.260637928*FACT_DENS
MPDATA,DENS,mat3_top,30,6.169461176*FACT_DENS
MPDATA,DENS,mat3_top,31,6.077425517*FACT_DENS
MPDATA,DENS,mat3_top,32,5.984717994*FACT_DENS
MPDATA,DENS,mat3_top,33,5.891517235*FACT_DENS
MPDATA,DENS,mat3_top,34,5.797993114*FACT_DENS
MPDATA,DENS,mat3_top,35,5.704306492*FACT_DENS
MPDATA,DENS,mat3_top,36,5.610609061*FACT_DENS
MPDATA,DENS,mat3_top,37,5.517043266*FACT_DENS
MPDATA,DENS,mat3_top,38,5.423742303*FACT_DENS
MPTEMP
MPTEMP,1,298.15
MPTEMP,2,373.15
MPTEMP,3,473.15
MPTEMP,4,573.15
MPTEMP,5,673.15
MPTEMP,6,773.15
MPTEMP,7,873.15
MPTEMP,8,973.15
MPTEMP,9,1073.15
MPTEMP,10,1173.15
MPTEMP,11,1373.15
MPTEMP,12,1473.15
MPTEMP,13,1573.15
MPTEMP,14,1673.15
MPTEMP,15,1773.15
MPTEMP,16,1873.15
MPTEMP,17,1973.15
MPTEMP,18,2073.15
MPTEMP,19,2173.15
MPTEMP,20,2273.15
MPTEMP,21,2373.15
MPTEMP,22,2473.15
MPTEMP,23,2573.15
MPTEMP,24,2673.15
MPTEMP,25,2773.15
MPTEMP,26,2873.15
MPTEMP,27,2973.15
MPTEMP,28,3073.15
MPTEMP,29,3173.15
MPTEMP,30,3273.15
FACT_C=1000.0
MPDATA,C,mat3_top,1,0.52752*FACT_C
MPDATA,C,mat3_top,2,0.55072*FACT_C
MPDATA,C,mat3_top,3,0.57544*FACT_C
MPDATA,C,mat3_top,4,0.59716*FACT_C
MPDATA,C,mat3_top,5,0.61792*FACT_C
MPDATA,C,mat3_top,6,0.63911*FACT_C
MPDATA,C,mat3_top,7,0.7672*FACT_C
MPDATA,C,mat3_top,8,0.8071*FACT_C
MPDATA,C,mat3_top,9,0.74449*FACT_C
MPDATA,C,mat3_top,10,0.76564*FACT_C
MPDATA,C,mat3_top,11,1.72865*FACT_C
MPDATA,C,mat3_top,12,1.35303*FACT_C
MPDATA,C,mat3_top,13,2.05203*FACT_C
MPDATA,C,mat3_top,14,0.84526*FACT_C
MPDATA,C,mat3_top,15,0.88219*FACT_C
MPDATA,C,mat3_top,16,0.90248*FACT_C
MPDATA,C,mat3_top,17,0.9105*FACT_C
MPDATA,C,mat3_top,18,0.91712*FACT_C
MPDATA,C,mat3_top,19,0.92188*FACT_C
MPDATA,C,mat3_top,20,0.92292*FACT_C
MPDATA,C,mat3_top,21,0.92367*FACT_C
MPDATA,C,mat3_top,22,0.92438*FACT_C
MPDATA,C,mat3_top,23,0.92507*FACT_C
MPDATA,C,mat3_top,24,0.92574*FACT_C
MPDATA,C,mat3_top,25,0.9264*FACT_C
MPDATA,C,mat3_top,26,0.92704*FACT_C
MPDATA,C,mat3_top,27,0.92762*FACT_C
MPDATA,C,mat3_top,28,0.9282*FACT_C
MPDATA,C,mat3_top,29,0.92876*FACT_C
MPDATA,C,mat3_top,30,0.92927*FACT_C
MPTEMP
MPTEMP,1,298.15
MPTEMP,2,373.15
MPTEMP,3,473.15
MPTEMP,4,573.15
MPTEMP,5,673.15
MPTEMP,6,773.15
MPTEMP,7,873.15
MPTEMP,8,973.15
MPTEMP,9,975.33443
MPTEMP,10,998.17961
MPTEMP,11,999.8139
MPTEMP,12,1015.91817
MPTEMP,13,1073.15
MPTEMP,14,1173.15
MPTEMP,15,1373.15
MPTEMP,16,1411.33015
MPTEMP,17,1456.42042
MPTEMP,18,1473.15
MPTEMP,19,1573.15
MPTEMP,20,1618.42234
MPTEMP,21,1658.14359
MPTEMP,22,1673.15
MPTEMP,23,1773.15
MPTEMP,24,1873.15
MPTEMP,25,1973.15
MPTEMP,26,2073.15
MPTEMP,27,2173.15
MPTEMP,28,2273.15
MPTEMP,29,2373.15
MPTEMP,30,2473.15
MPTEMP,31,2573.15
MPTEMP,32,2673.15
MPTEMP,33,2773.15
MPTEMP,34,2873.15
MPTEMP,35,2973.15
MPTEMP,36,3073.15
MPTEMP,37,3173.15
MPTEMP,38,3273.15
FACT_KXX=1.0
MPDATA,KXX,mat3_top,1,10.78639865*FACT_KXX
MPDATA,KXX,mat3_top,2,11.37679024*FACT_KXX
MPDATA,KXX,mat3_top,3,12.15276873*FACT_KXX
MPDATA,KXX,mat3_top,4,12.91691904*FACT_KXX
MPDATA,KXX,mat3_top,5,13.67015615*FACT_KXX
MPDATA,KXX,mat3_top,6,14.41326944*FACT_KXX
MPDATA,KXX,mat3_top,7,15.14695328*FACT_KXX
MPDATA,KXX,mat3_top,8,15.82635113*FACT_KXX
MPDATA,KXX,mat3_top,9,15.8357737*FACT_KXX
MPDATA,KXX,mat3_top,10,17.27579801*FACT_KXX
MPDATA,KXX,mat3_top,11,17.36736784*FACT_KXX
MPDATA,KXX,mat3_top,12,17.63439611*FACT_KXX
MPDATA,KXX,mat3_top,13,18.15612414*FACT_KXX
MPDATA,KXX,mat3_top,14,19.05002667*FACT_KXX
MPDATA,KXX,mat3_top,15,28.46718607*FACT_KXX
MPDATA,KXX,mat3_top,16,29.65452812*FACT_KXX
MPDATA,KXX,mat3_top,17,30.72842726*FACT_KXX
MPDATA,KXX,mat3_top,18,31.07635294*FACT_KXX
MPDATA,KXX,mat3_top,19,33.5424953*FACT_KXX
MPDATA,KXX,mat3_top,20,35.06679548*FACT_KXX
MPDATA,KXX,mat3_top,21,35.46549703*FACT_KXX
MPDATA,KXX,mat3_top,22,35.68068478*FACT_KXX
MPDATA,KXX,mat3_top,23,37.11465705*FACT_KXX
MPDATA,KXX,mat3_top,24,38.54862933*FACT_KXX
MPDATA,KXX,mat3_top,25,39.9826016*FACT_KXX
MPDATA,KXX,mat3_top,26,41.41657388*FACT_KXX
MPDATA,KXX,mat3_top,27,42.85054615*FACT_KXX
MPDATA,KXX,mat3_top,28,44.28451843*FACT_KXX
MPDATA,KXX,mat3_top,29,45.71849071*FACT_KXX
MPDATA,KXX,mat3_top,30,47.15246298*FACT_KXX
MPDATA,KXX,mat3_top,31,48.58643526*FACT_KXX
MPDATA,KXX,mat3_top,32,50.02040753*FACT_KXX
MPDATA,KXX,mat3_top,33,51.45437981*FACT_KXX
MPDATA,KXX,mat3_top,34,52.88835208*FACT_KXX
MPDATA,KXX,mat3_top,35,54.32232436*FACT_KXX
MPDATA,KXX,mat3_top,36,55.75629664*FACT_KXX
MPDATA,KXX,mat3_top,37,57.19026892*FACT_KXX
MPDATA,KXX,mat3_top,38,58.62424112*FACT_KXX
MPTEMP
MPTEMP
MPTEMP,1,298.15
MPTEMP,2,373.15
MPTEMP,3,473.15
MPTEMP,4,573.15
MPTEMP,5,673.15
MPTEMP,6,773.15
MPTEMP,7,873.15
MPTEMP,8,973.15
MPTEMP,9,975.33443
MPTEMP,10,998.17961
MPTEMP,11,999.8139
MPTEMP,12,1015.91817
MPTEMP,13,1073.15
MPTEMP,14,1173.15
MPTEMP,15,1373.15
MPTEMP,16,1411.33015
MPTEMP,17,1456.42042
MPTEMP,18,1473.15
MPTEMP,19,1573.15
MPTEMP,20,1618.42234
MPTEMP,21,1658.14359
MPTEMP,22,1673.15
MPTEMP,23,1773.15
MPTEMP,24,1873.15
MPTEMP,25,1973.15
MPTEMP,26,2073.15
MPTEMP,27,2173.15
MPTEMP,28,2273.15
MPTEMP,29,2373.15
MPTEMP,30,2473.15
MPTEMP,31,2573.15
MPTEMP,32,2673.15
MPTEMP,33,2773.15
MPTEMP,34,2873.15
MPTEMP,35,2973.15
MPTEMP,36,3073.15
MPTEMP,37,3173.15
MPTEMP,38,3273.15
FACT_ENTH=1000.0
MPDATA,ENTH,mat3_top,1,100
MPDATA,ENTH,mat3_top,2,300
MPDATA,ENTH,mat3_top,3,500
MPDATA,ENTH,mat3_top,4,1000
MPDATA,ENTH,mat3_top,5,9.90639*FACT_ENTH
MPDATA,ENTH,mat3_top,6,72.74899*FACT_ENTH
MPDATA,ENTH,mat3_top,7,137.74765*FACT_ENTH
MPDATA,ENTH,mat3_top,8,215.45355*FACT_ENTH
MPDATA,ENTH,mat3_top,9,217.21913*FACT_ENTH
MPDATA,ENTH,mat3_top,10,253.35072*FACT_ENTH
MPDATA,ENTH,mat3_top,11,255.04297*FACT_ENTH
MPDATA,ENTH,mat3_top,12,268.8865*FACT_ENTH
MPDATA,ENTH,mat3_top,13,311.14525*FACT_ENTH
MPDATA,ENTH,mat3_top,14,386.64614*FACT_ENTH
MPDATA,ENTH,mat3_top,15,678.20587*FACT_ENTH
MPDATA,ENTH,mat3_top,16,755.79953*FACT_ENTH
MPDATA,ENTH,mat3_top,17,814.53698*FACT_ENTH
MPDATA,ENTH,mat3_top,18,836.66302*FACT_ENTH
MPDATA,ENTH,mat3_top,19,1000.295*FACT_ENTH
MPDATA,ENTH,mat3_top,20,1108.57351*FACT_ENTH
MPDATA,ENTH,mat3_top,21,1159.07857*FACT_ENTH
MPDATA,ENTH,mat3_top,22,1171.72341*FACT_ENTH
MPDATA,ENTH,mat3_top,23,1258.08278*FACT_ENTH
MPDATA,ENTH,mat3_top,24,1347.6612*FACT_ENTH
MPDATA,ENTH,mat3_top,25,1438.32037*FACT_ENTH
MPDATA,ENTH,mat3_top,26,1529.715*FACT_ENTH
MPDATA,ENTH,mat3_top,27,1621.68255*FACT_ENTH
MPDATA,ENTH,mat3_top,28,1713.93227*FACT_ENTH
MPDATA,ENTH,mat3_top,29,1806.26271*FACT_ENTH
MPDATA,ENTH,mat3_top,30,1898.66532*FACT_ENTH
MPDATA,ENTH,mat3_top,31,1991.13773*FACT_ENTH
MPDATA,ENTH,mat3_top,32,2083.67828*FACT_ENTH
MPDATA,ENTH,mat3_top,33,2176.28536*FACT_ENTH
MPDATA,ENTH,mat3_top,34,2268.95727*FACT_ENTH
MPDATA,ENTH,mat3_top,35,2361.69078*FACT_ENTH
MPDATA,ENTH,mat3_top,36,2454.48176*FACT_ENTH
MPDATA,ENTH,mat3_top,37,2547.33011*FACT_ENTH
MPDATA,ENTH,mat3_top,38,2640.23601*FACT_ENTH
mptemp
*SET,FACT_C
*SET,FACT_DENS
*SET,FACT_ENTH
*SET,FACT_KXX

!mat_h13=2
MPTEMP
MPTEMP,1,298.15
MPTEMP,2,373.15
MPTEMP,3,473.15
MPTEMP,4,573.15
MPTEMP,5,673.15
MPTEMP,6,773.15
MPTEMP,7,873.15
MPTEMP,8,875.01567
MPTEMP,9,973.15
MPTEMP,10,1073.15
MPTEMP,11,1092.32776
MPTEMP,12,1117.50602
MPTEMP,13,1155.61939
MPTEMP,14,1173.15
MPTEMP,15,1273.15
MPTEMP,16,1368.65072
MPTEMP,17,1373.15
MPTEMP,18,1428.82356
MPTEMP,19,1437.90645
MPTEMP,20,1473.15
MPTEMP,21,1573.15
MPTEMP,22,1655.59955
MPTEMP,23,1655.80609
MPTEMP,24,1673.15
MPTEMP,25,1712.75856
MPTEMP,26,1723.71087
MPTEMP,27,1761.69286
MPTEMP,28,1773.15
MPTEMP,29,1873.15
MPTEMP,30,1973.15
MPTEMP,31,2073.15
MPTEMP,32,2173.15
MPTEMP,33,2273.15
MPTEMP,34,2373.15
MPTEMP,35,2473.15
MPTEMP,36,2573.15
MPTEMP,37,2673.15
MPTEMP,38,2773.15
MPTEMP,39,2873.15
MPTEMP,40,2973.15
MPTEMP,41,3073.15
MPTEMP,42,3173.15
MPTEMP,43,3273.15
FACT_DENS=1000.0
MPDATA,DENS,mat_h13,1,7.805597106*FACT_DENS
MPDATA,DENS,mat_h13,2,7.784283775*FACT_DENS
MPDATA,DENS,mat_h13,3,7.754637969*FACT_DENS
MPDATA,DENS,mat_h13,4,7.723617555*FACT_DENS
MPDATA,DENS,mat_h13,5,7.691255191*FACT_DENS
MPDATA,DENS,mat_h13,6,7.657584709*FACT_DENS
MPDATA,DENS,mat_h13,7,7.622641022*FACT_DENS
MPDATA,DENS,mat_h13,8,7.621953051*FACT_DENS
MPDATA,DENS,mat_h13,9,7.586668528*FACT_DENS
MPDATA,DENS,mat_h13,10,7.549354465*FACT_DENS
MPDATA,DENS,mat_h13,11,7.542039185*FACT_DENS
MPDATA,DENS,mat_h13,12,7.618098094*FACT_DENS
MPDATA,DENS,mat_h13,13,7.595766337*FACT_DENS
MPDATA,DENS,mat_h13,14,7.586050348*FACT_DENS
MPDATA,DENS,mat_h13,15,7.530676272*FACT_DENS
MPDATA,DENS,mat_h13,16,7.477851745*FACT_DENS
MPDATA,DENS,mat_h13,17,7.475536509*FACT_DENS
MPDATA,DENS,mat_h13,18,7.446875484*FACT_DENS
MPDATA,DENS,mat_h13,19,7.442316523*FACT_DENS
MPDATA,DENS,mat_h13,20,7.424166336*FACT_DENS
MPDATA,DENS,mat_h13,21,7.372437013*FACT_DENS
MPDATA,DENS,mat_h13,22,7.329281374*FACT_DENS
MPDATA,DENS,mat_h13,23,7.328732933*FACT_DENS
MPDATA,DENS,mat_h13,24,7.31737591*FACT_DENS
MPDATA,DENS,mat_h13,25,7.255845915*FACT_DENS
MPDATA,DENS,mat_h13,26,7.178741338*FACT_DENS
MPDATA,DENS,mat_h13,27,7.037752863*FACT_DENS
MPDATA,DENS,mat_h13,28,7.028857964*FACT_DENS
MPDATA,DENS,mat_h13,29,6.949761253*FACT_DENS
MPDATA,DENS,mat_h13,30,6.868208899*FACT_DENS
MPDATA,DENS,mat_h13,31,6.784433655*FACT_DENS
MPDATA,DENS,mat_h13,32,6.69866536*FACT_DENS
MPDATA,DENS,mat_h13,33,6.611129766*FACT_DENS
MPDATA,DENS,mat_h13,34,6.522047477*FACT_DENS
MPDATA,DENS,mat_h13,35,6.431632985*FACT_DENS
MPDATA,DENS,mat_h13,36,6.340093896*FACT_DENS
MPDATA,DENS,mat_h13,37,6.247630215*FACT_DENS
MPDATA,DENS,mat_h13,38,6.154433763*FACT_DENS
MPDATA,DENS,mat_h13,39,6.060687713*FACT_DENS
MPDATA,DENS,mat_h13,40,5.966566279*FACT_DENS
MPDATA,DENS,mat_h13,41,5.872234406*FACT_DENS
MPDATA,DENS,mat_h13,42,5.777847649*FACT_DENS
MPDATA,DENS,mat_h13,43,5.683552083*FACT_DENS
MPTEMP
MPTEMP,1,298.15
MPTEMP,2,373.15
MPTEMP,3,473.15
MPTEMP,4,573.15
MPTEMP,5,673.15
MPTEMP,6,773.15
MPTEMP,7,873.15
MPTEMP,8,973.15
MPTEMP,9,1073.15
MPTEMP,10,1173.15
MPTEMP,11,1273.15
MPTEMP,12,1373.15
MPTEMP,13,1473.15
MPTEMP,14,1573.15
MPTEMP,15,1673.15
MPTEMP,16,1773.15
MPTEMP,17,1873.15
MPTEMP,18,1973.15
MPTEMP,19,2073.15
MPTEMP,20,2173.15
MPTEMP,21,2273.15
MPTEMP,22,2373.15
MPTEMP,23,2473.15
MPTEMP,24,2573.15
MPTEMP,25,2673.15
MPTEMP,26,2773.15
MPTEMP,27,2873.15
MPTEMP,28,2973.15
MPTEMP,29,3073.15
MPTEMP,30,3173.15
MPTEMP,31,3273.15
FACT_C=1000.0
MPDATA,C,mat_h13,1,0.4446*FACT_C
MPDATA,C,mat_h13,2,0.47537*FACT_C
MPDATA,C,mat_h13,3,0.51395*FACT_C
MPDATA,C,mat_h13,4,0.55669*FACT_C
MPDATA,C,mat_h13,5,0.60819*FACT_C
MPDATA,C,mat_h13,6,0.67373*FACT_C
MPDATA,C,mat_h13,7,0.81549*FACT_C
MPDATA,C,mat_h13,8,0.95838*FACT_C
MPDATA,C,mat_h13,9,0.86826*FACT_C
MPDATA,C,mat_h13,10,0.67803*FACT_C
MPDATA,C,mat_h13,11,0.72558*FACT_C
MPDATA,C,mat_h13,12,0.64371*FACT_C
MPDATA,C,mat_h13,13,0.66086*FACT_C
MPDATA,C,mat_h13,14,0.67942*FACT_C
MPDATA,C,mat_h13,15,0.93276*FACT_C
MPDATA,C,mat_h13,16,0.80655*FACT_C
MPDATA,C,mat_h13,17,0.82573*FACT_C
MPDATA,C,mat_h13,18,0.82777*FACT_C
MPDATA,C,mat_h13,19,0.82957*FACT_C
MPDATA,C,mat_h13,20,0.83103*FACT_C
MPDATA,C,mat_h13,21,0.83132*FACT_C
MPDATA,C,mat_h13,22,0.83153*FACT_C
MPDATA,C,mat_h13,23,0.83173*FACT_C
MPDATA,C,mat_h13,24,0.83192*FACT_C
MPDATA,C,mat_h13,25,0.8321*FACT_C
MPDATA,C,mat_h13,26,0.83226*FACT_C
MPDATA,C,mat_h13,27,0.83241*FACT_C
MPDATA,C,mat_h13,28,0.83248*FACT_C
MPDATA,C,mat_h13,29,0.83253*FACT_C
MPDATA,C,mat_h13,30,0.83257*FACT_C
MPDATA,C,mat_h13,31,0.83262*FACT_C
MPTEMP
MPTEMP,1,298.15
MPTEMP,2,373.15
MPTEMP,3,473.15
MPTEMP,4,573.15
MPTEMP,5,673.15
MPTEMP,6,773.15
MPTEMP,7,873.15
MPTEMP,8,875.01567
MPTEMP,9,973.15
MPTEMP,10,1073.15
MPTEMP,11,1092.32776
MPTEMP,12,1117.50602
MPTEMP,13,1155.61939
MPTEMP,14,1173.15
MPTEMP,15,1273.15
MPTEMP,16,1368.65072
MPTEMP,17,1373.15
MPTEMP,18,1428.82356
MPTEMP,19,1437.90645
MPTEMP,20,1473.15
MPTEMP,21,1573.15
MPTEMP,22,1655.59955
MPTEMP,23,1655.80609
MPTEMP,24,1673.15
MPTEMP,25,1712.75856
MPTEMP,26,1723.71087
MPTEMP,27,1761.69286
MPTEMP,28,1773.15
MPTEMP,29,1873.15
MPTEMP,30,1973.15
MPTEMP,31,2073.15
MPTEMP,32,2173.15
MPTEMP,33,2273.15
MPTEMP,34,2373.15
MPTEMP,35,2473.15
MPTEMP,36,2573.15
MPTEMP,37,2673.15
MPTEMP,38,2773.15
MPTEMP,39,2873.15
MPTEMP,40,2973.15
MPTEMP,41,3073.15
MPTEMP,42,3173.15
MPTEMP,43,3273.15
FACT_ENTH=1000.0
MPDATA,ENTH,mat_h13,1,1.22414*FACT_ENTH
MPDATA,ENTH,mat_h13,2,19.30644*FACT_ENTH
MPDATA,ENTH,mat_h13,3,68.76324*FACT_ENTH
MPDATA,ENTH,mat_h13,4,122.24202*FACT_ENTH
MPDATA,ENTH,mat_h13,5,180.39682*FACT_ENTH
MPDATA,ENTH,mat_h13,6,244.34854*FACT_ENTH
MPDATA,ENTH,mat_h13,7,315.86824*FACT_ENTH
MPDATA,ENTH,mat_h13,8,317.39159*FACT_ENTH
MPDATA,ENTH,mat_h13,9,403.58612*FACT_ENTH
MPDATA,ENTH,mat_h13,10,500.98604*FACT_ENTH
MPDATA,ENTH,mat_h13,11,517.40312*FACT_ENTH
MPDATA,ENTH,mat_h13,12,571.92769*FACT_ENTH
MPDATA,ENTH,mat_h13,13,600.77262*FACT_ENTH
MPDATA,ENTH,mat_h13,14,612.59991*FACT_ENTH
MPDATA,ENTH,mat_h13,15,682.70577*FACT_ENTH
MPDATA,ENTH,mat_h13,16,754.59285*FACT_ENTH
MPDATA,ENTH,mat_h13,17,757.48782*FACT_ENTH
MPDATA,ENTH,mat_h13,18,793.60412*FACT_ENTH
MPDATA,ENTH,mat_h13,19,799.64554*FACT_ENTH
MPDATA,ENTH,mat_h13,20,822.84589*FACT_ENTH
MPDATA,ENTH,mat_h13,21,889.90497*FACT_ENTH
MPDATA,ENTH,mat_h13,22,946.62651*FACT_ENTH
MPDATA,ENTH,mat_h13,23,947.00369*FACT_ENTH
MPDATA,ENTH,mat_h13,24,961.23459*FACT_ENTH
MPDATA,ENTH,mat_h13,25,1026.53923*FACT_ENTH
MPDATA,ENTH,mat_h13,26,1098.55322*FACT_ENTH
MPDATA,ENTH,mat_h13,27,1247.8653*FACT_ENTH
MPDATA,ENTH,mat_h13,28,1257.07667*FACT_ENTH
MPDATA,ENTH,mat_h13,29,1339.20152*FACT_ENTH
MPDATA,ENTH,mat_h13,30,1421.87806*FACT_ENTH
MPDATA,ENTH,mat_h13,31,1504.74751*FACT_ENTH
MPDATA,ENTH,mat_h13,32,1587.78077*FACT_ENTH
MPDATA,ENTH,mat_h13,33,1670.90225*FACT_ENTH
MPDATA,ENTH,mat_h13,34,1754.0446*FACT_ENTH
MPDATA,ENTH,mat_h13,35,1837.20707*FACT_ENTH
MPDATA,ENTH,mat_h13,36,1920.38899*FACT_ENTH
MPDATA,ENTH,mat_h13,37,2003.58942*FACT_ENTH
MPDATA,ENTH,mat_h13,38,2086.80705*FACT_ENTH
MPDATA,ENTH,mat_h13,39,2170.04013*FACT_ENTH
MPDATA,ENTH,mat_h13,40,2253.28445*FACT_ENTH
MPDATA,ENTH,mat_h13,41,2336.53424*FACT_ENTH
MPDATA,ENTH,mat_h13,42,2419.78918*FACT_ENTH
MPDATA,ENTH,mat_h13,43,2503.04912*FACT_ENTH
MPTEMP
MPTEMP,1,298.15
MPTEMP,2,373.15
MPTEMP,3,473.15
MPTEMP,4,573.15
MPTEMP,5,673.15
MPTEMP,6,773.15
MPTEMP,7,873.15
MPTEMP,8,875.01567
MPTEMP,9,973.15
MPTEMP,10,1073.15
MPTEMP,11,1092.32776
MPTEMP,12,1117.50602
MPTEMP,13,1155.61939
MPTEMP,14,1173.15
MPTEMP,15,1273.15
MPTEMP,16,1368.65072
MPTEMP,17,1373.15
MPTEMP,18,1428.82356
MPTEMP,19,1437.90645
MPTEMP,20,1473.15
MPTEMP,21,1573.15
MPTEMP,22,1655.59955
MPTEMP,23,1655.80609
MPTEMP,24,1673.15
MPTEMP,25,1712.75856
MPTEMP,26,1723.71087
MPTEMP,27,1761.69286
MPTEMP,28,1773.15
MPTEMP,29,1873.15
MPTEMP,30,1973.15
MPTEMP,31,2073.15
MPTEMP,32,2173.15
MPTEMP,33,2273.15
MPTEMP,34,2373.15
MPTEMP,35,2473.15
MPTEMP,36,2573.15
MPTEMP,37,2673.15
MPTEMP,38,2773.15
MPTEMP,39,2873.15
MPTEMP,40,2973.15
MPTEMP,41,3073.15
MPTEMP,42,3173.15
MPTEMP,43,3273.15
FACT_KXX=1.0
MPDATA,KXX,mat_h13,1,26.81964092*FACT_KXX
MPDATA,KXX,mat_h13,2,29.09009252*FACT_KXX
MPDATA,KXX,mat_h13,3,31.50733865*FACT_KXX
MPDATA,KXX,mat_h13,4,32.93937262*FACT_KXX
MPDATA,KXX,mat_h13,5,33.28016053*FACT_KXX
MPDATA,KXX,mat_h13,6,32.69629538*FACT_KXX
MPDATA,KXX,mat_h13,7,31.57973044*FACT_KXX
MPDATA,KXX,mat_h13,8,31.5404691*FACT_KXX
MPDATA,KXX,mat_h13,9,29.84011757*FACT_KXX
MPDATA,KXX,mat_h13,10,28.854242*FACT_KXX
MPDATA,KXX,mat_h13,11,28.76518791*FACT_KXX
MPDATA,KXX,mat_h13,12,27.07334962*FACT_KXX
MPDATA,KXX,mat_h13,13,27.49975399*FACT_KXX
MPDATA,KXX,mat_h13,14,27.6958099*FACT_KXX
MPDATA,KXX,mat_h13,15,28.83582751*FACT_KXX
MPDATA,KXX,mat_h13,16,29.95437684*FACT_KXX
MPDATA,KXX,mat_h13,17,30.00814562*FACT_KXX
MPDATA,KXX,mat_h13,18,30.67351431*FACT_KXX
MPDATA,KXX,mat_h13,19,30.78679377*FACT_KXX
MPDATA,KXX,mat_h13,20,31.20782738*FACT_KXX
MPDATA,KXX,mat_h13,21,32.40185987*FACT_KXX
MPDATA,KXX,mat_h13,22,33.38530275*FACT_KXX
MPDATA,KXX,mat_h13,23,33.38649655*FACT_KXX
MPDATA,KXX,mat_h13,24,33.58165321*FACT_KXX
MPDATA,KXX,mat_h13,25,33.80010711*FACT_KXX
MPDATA,KXX,mat_h13,26,33.74368979*FACT_KXX
MPDATA,KXX,mat_h13,27,32.97180222*FACT_KXX
MPDATA,KXX,mat_h13,28,33.17149632*FACT_KXX
MPDATA,KXX,mat_h13,29,34.91446362*FACT_KXX
MPDATA,KXX,mat_h13,30,36.65743091*FACT_KXX
MPDATA,KXX,mat_h13,31,38.4003982*FACT_KXX
MPDATA,KXX,mat_h13,32,40.1433655*FACT_KXX
MPDATA,KXX,mat_h13,33,41.8863328*FACT_KXX
MPDATA,KXX,mat_h13,34,43.62930006*FACT_KXX
MPDATA,KXX,mat_h13,35,45.37226737*FACT_KXX
MPDATA,KXX,mat_h13,36,47.11523464*FACT_KXX
MPDATA,KXX,mat_h13,37,48.85820192*FACT_KXX
MPDATA,KXX,mat_h13,38,50.60116912*FACT_KXX
MPDATA,KXX,mat_h13,39,52.34413634*FACT_KXX
MPDATA,KXX,mat_h13,40,54.0871035*FACT_KXX
MPDATA,KXX,mat_h13,41,55.8300706*FACT_KXX
MPDATA,KXX,mat_h13,42,57.57303761*FACT_KXX
MPDATA,KXX,mat_h13,43,59.31600449*FACT_KXX
MPTEMP
*SET,FACT_C
*SET,FACT_DENS
*SET,FACT_ENTH
*SET,FACT_KXX
3楼2023-08-04 22:58:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

htbbzzg

铁杆木虫 (著名写手)

【答案】应助回帖

怎么个不行,请你具体说明一下,有什么警告和/或错误信息。

简单看了一下你的命令流,发现几个问题如下:
  在循环中,/post1...finishi  之后,持续近日求解模块,执行了重启动,但是接下来的 solve 被你注解掉了,即没有再求解。然后回到循环开始处有一次 solve,然后有有 /solu 。这样的安排不知道软件是如何执行的。
  总值,你的命令流中有多处 /solu 命令在 solve 之后的情况,而按照 ANSYS 的规定,每一次进入 /solu 都会被认为是开始一个新的分析,将从头开始进行分析,对你的情况就有可能出现一线不到的问题。所以你需要整理一下你的 /solu 命令,不要随处执行这一命令,要去掉多余的 /solu 命令。
  其次,你的材料属性定义放在命令流的最后,这也是不对的。你需要把它们移到合适的位置。
4楼2023-08-07 09:18:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chiko75

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by htbbzzg at 2023-08-07 09:18:48
怎么个不行,请你具体说明一下,有什么警告和/或错误信息。

简单看了一下你的命令流,发现几个问题如下:
  在循环中,/post1...finishi  之后,持续近日求解模块,执行了重启动,但是接下来的 solve 被你注解掉 ...

我是按照您的建议修改后发现还是出现了重启动后所有单元都激活了的情况,至于注释掉的命令可以不管,因为我在知乎上看到要用solve初始化,但失败了。其次,我用/input的命令导入材料物性,为了方便还是把物性写出来了。

发自小木虫Android客户端
5楼2023-08-07 23:23:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chiko75

铜虫 (小有名气)

送红花一朵
引用回帖:
6楼: Originally posted by htbbzzg at 2023-08-08 10:13:53
你是在知乎上那一篇文件中看到的 "要用solve初始化"?这肯定是错误的。如果是 "用 /solu 初始化" 到还勉强说得通。不过,初始化意味着什么你了解吗?每一次初始化都会使后续的 ...

谢谢您的耐心解答。
我在重启动前将死单元放到不同的 component 中并输出其中的死单元编号到硬盘上,重启动命令之后再执行pararest 命令,死单元的component消失了而死单元的编号数组还在且不变。
我也怀疑重启动是否能用于生死单元和*do循环中了,ANSYS Help 19.2 5.8.1.1.1 Multiframe Restart中提到的limitation中有“The .Rnnn file does not save EKILL and EALIVE commands. If EKILL or EALIVE are required in the restarted session, issue them again. Restarting with tabular input (EALIVE,%table%) is not supported.”和“Multiframe restart does not support the arc-length method (ARCLEN), reading and solving multiple load steps (LSSOLVE), or nested *DO loops.”后面一个限制应该是不能在restart后嵌套*do循环吧?
Help的5.8.1.2.也提到用solve来初始化,不过我这是单点重启动,和多点重启动应该不同吧?
我/input的文件内容就是我的命令流里*ENDDO后面的物性参数,分别以“!mat_top=1”和“!mat_h13=2”开头
7楼2023-08-08 23:43:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chiko75

铜虫 (小有名气)

引用回帖:
8楼: Originally posted by htbbzzg at 2023-08-10 08:57:24
单点重启动照理应该是从最后一次的计算结果继续进行计算,模型的状态也应该是最后一次计算时的状态。
马上周末了,我可以试试你的命令流,看看能否找到问题所在。

谢谢谢谢。
我也在想如果重启动后会丢失生死单元命令,那么是不是再加上就行,但是直接激活后不确定是不是就是重启动到最后一步

发自小木虫Android客户端
9楼2023-08-10 14:38:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 chiko75 的主题更新
信息提示
请填处理意见