24小时热门版块排行榜    

查看: 4760  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yaojinnan

金虫 (正式写手)

[交流] 【求助】ANSYS 中命令流编程(fortran) 已有11人参与

大家好,我是做焊接模拟的,用的是ANSYS软件。现在想做一段程序,其中想做个循环交替加载。
比如:载荷作用时间总共为10s,有两个载荷。
          其中,0-1s 给选定物体加载第一个载荷,
                    1-3s给选定物体加载第二个载荷
                    3-4s给选定物体加载第一个载荷
                    5-7s给选定物体加载第二个载荷
                    7-8s给选定物体加载第一个载荷
                    8-10s给选定物体加载第二个载荷
其实简单的可以这么理解。
但是我的载荷是一个由ANSYS函数编辑器定义的一个表载荷,
并且这两个载荷都是移动的。所以不清楚应该怎么用FORTRAN来编程。希望大家能给予帮助。定有回报。
下面就是我的命令流程序:
finish
/clear,start                                    !清除数据库以开始新的分
/filname,reverse-shuang tuo qiu,0
/title,hanhanahanhan
/units,si

/prep7

ET,1,SOLID70
ET,2,SOLID90
!et,2,surf152
!keyopt,2,4,0
!keyopt,2,5,1
!keyopt,2,8,3

MPTEMP,1,20,100,200,300,400,500,
MPTEMP,7,600,700,800,900,1000,1500
MPDATA,KXX,1,1,152,159,164,165,168,196,
MPDATA,KXX,1,7,209,162,162,162,162,162
MPDATA,DENS,1,1,2680,2662,2646,2620,2600,2580,
MPDATA,DENS,1,7,2436,2384,2384,2384,2384,2384
MPDATA,C,1,1,956,963,1047,1130,1224,1308,
MPDATA,C,1,7,1412,1084,1084,1084,1084,1084
MPDATA,HF,1,1,8.22,11.0,13.7,23.2,33.4,46.8,
MPDATA,HF,1,7,58.0,68.5,68.5,68.5,68.5,68.5

lx=0.08
ly=0.2
lz=0.005

r=0.002
D=0.002!焊缝宽度
ah=D/2!双椭球热源参数定义
chf=4*ah
chb=6*ah
bh=0.003
rf=2*chf/(chf+chb)
rb=2*chb/(chf+chb)
K=0.5 功率有效系数
I=130
U=30
q0=I*U
q=q0*K  !有效功率
pi=acos(-1)
step=0.002
v=0.003
!count=ly/v
count=20
!***********************************
!定义单元类型
!***********************************
!建立几何模型
!***********************************
wpstyle,,,,,,,,0
block,0,0.006,0,ly,0,-lz
block,0,0.012,0,ly,0,-lz
block,0,0.024,0,ly,0,-lz
block,0,lx,0,ly,0,-lz
vovlap,all
/view,1,1,1,1

!定义焊缝区单元尺寸0.002
lesize,7,0.001
lesize,2,0.001
lesize,12,0.001
lesize,11,0.001
lesize,6,0.001
lesize,3,0.001
lesize,8,0.001
lesize,1,0.001
lesize,4,0.001
lesize,9,0.001
lesize,5,0.001
lesize,10,0.001
!定义过渡区的单元尺寸
lesize,15,r
lesize,18,r
!定义远离焊缝区的单元尺寸
lesize,34,1.25*0.001
lesize,35,1.25*0.001
lesize,47,1.25*0.001
lesize,46,1.25*0.001
lesize,39,4*r
lesize,42,4*r
lesize,57,4*r
lesize,60,4*r
lesize,27,4*r
lesize,30,4*r
lesize,58,4*r
lesize,59,4*r
!***********************************
!划分网格,生生有限元模型
!***********************************
type,1
mshkey,1
mshape,0
vmesh,1
vmesh,7
type,2
mshkey,0
mshape,1
vmesh,5
vmesh,6
numcmp,area
save
!***********************************
!循环加载、求解
!***********************************
!施加载荷
/solu
*do,i,0,count
disy=i*step
t=(disy+step)/v
antype,4
trnopt,full
tunif,293        
outres,basic,last      
time,t
nropt,full,,on        
autots,1
nsubst,1,,,1     
kbc,1
lnsrch,1
tsres,erase
!TINTP,,,,1,,,,,
timint,1,therm
!***********************************
!焊接过程开始
!***********************************
nsel,s,ext,
nsel,u,loc,x,0       !------改
sf,all,conv,200,293    !------改
allsel,all
!***********************************
!***********************************
!双椭球热源的加载
!***********************************
!前半球节点的选取
!***********************************
LOCAL,11,2,0,disy,0.000,,,,chf/ah,bh/ah,
NSEL,S,LOC,X,0,ah   
NSEL,R,LOC,Y,0,90   
NSEL,R,LOC,Z,-90,0
CM,FRONT,NODE   
LOCAL,13,0,0,disy,0.000,,,,1,1,
*DEL,_FNCNAME   
*DEL,_FNCMTID   
*DEL,_FNC_C1
*DEL,_FNC_C2
*DEL,_FNC_C3
*DEL,_FNC_C4
*DEL,_FNC_C5
*DEL,_FNCCSYS
*DEL,'TFRONT'   
*SET,_FNCNAME,'TFRONT'  
*DIM,_FNC_C1,,1
*DIM,_FNC_C2,,1
*DIM,_FNC_C3,,1
*DIM,_FNC_C4,,1
*DIM,_FNC_C5,,1
*SET,_FNC_C1(1),q   
*SET,_FNC_C2(1),rf  
*SET,_FNC_C3(1),ah  
*SET,_FNC_C4(1),chf
*SET,_FNC_C5(1),bh  
*SET,_FNCCSYS,13
*DIM,%_FNCNAME%,TABLE,7,38,1,,,,%_FNCCSYS%
%_FNCNAME%(0,0,1)= 0.0, -999
%_FNCNAME%(2,0,1)= 0.0
%_FNCNAME%(3,0,1)= %_FNC_C1(1)%
%_FNCNAME%(4,0,1)= %_FNC_C2(1)%
%_FNCNAME%(5,0,1)= %_FNC_C3(1)%
%_FNCNAME%(6,0,1)= %_FNC_C4(1)%
%_FNCNAME%(7,0,1)= %_FNC_C5(1)%
%_FNCNAME%(0,1,1)= 1.0, -1, 16, 3, 0, 0, 0
%_FNCNAME%(0,2,1)= 0.0, -2, 0, 6, 0, 0, -1
%_FNCNAME%(0,3,1)=   0, -3, 0, 1, -2, 3, -1
%_FNCNAME%(0,4,1)= 0.0, -1, 0, 1, -3, 3, 17
%_FNCNAME%(0,5,1)= 0.0, -2, 0, 1, -1, 3, 18
%_FNCNAME%(0,6,1)= 0.0, -1, 0, 0, 0, 0, 0
%_FNCNAME%(0,7,1)= 0.0, -3, 0, 1, 0, 0, -1
%_FNCNAME%(0,8,1)= 0.0, -4, 0, 1, -1, 2, -3
%_FNCNAME%(0,9,1)= 0.0, -1, 0, 3, 0, 0, -4
%_FNCNAME%(0,10,1)= 0.0, -3, 0, 1, -4, 3, -1
%_FNCNAME%(0,11,1)= 0.0, -1, 0, 2, 0, 0, 2
%_FNCNAME%(0,12,1)= 0.0, -4, 0, 1, 2, 17, -1
%_FNCNAME%(0,13,1)= 0.0, -1, 0, 2, 0, 0, 19
%_FNCNAME%(0,14,1)= 0.0, -5, 0, 1, 19, 17, -1
%_FNCNAME%(0,15,1)= 0.0, -1, 0, 1, -4, 4, -5
%_FNCNAME%(0,16,1)= 0.0, -4, 0, 2, 0, 0, 3
%_FNCNAME%(0,17,1)= 0.0, -5, 0, 1, 3, 17, -4
%_FNCNAME%(0,18,1)= 0.0, -4, 0, 2, 0, 0, 20
%_FNCNAME%(0,19,1)= 0.0, -6, 0, 1, 20, 17, -4
%_FNCNAME%(0,20,1)= 0.0, -4, 0, 1, -5, 4, -6
%_FNCNAME%(0,21,1)= 0.0, -5, 0, 1, -1, 1, -4
%_FNCNAME%(0,22,1)= 0.0, -1, 0, 2, 0, 0, 4
%_FNCNAME%(0,23,1)= 0.0, -4, 0, 1, 4, 17, -1
%_FNCNAME%(0,24,1)= 0.0, -1, 0, 2, 0, 0, 21
%_FNCNAME%(0,25,1)= 0.0, -6, 0, 1, 21, 17, -1
%_FNCNAME%(0,26,1)= 0.0, -1, 0, 1, -4, 4, -6
%_FNCNAME%(0,27,1)= 0.0, -4, 0, 1, -5, 1, -1
%_FNCNAME%(0,28,1)= 0.0, -1, 0, 1, -3, 3, -4
%_FNCNAME%(0,29,1)= 0.0, -1, 7, 1, -1, 0, 0
%_FNCNAME%(0,30,1)= 0.0, -3, 0, 1, -2, 3, -1
%_FNCNAME%(0,31,1)= 0.0, -1, 16, 3.14159265358979310, 0, 0, 0
%_FNCNAME%(0,32,1)= 0.0, -2, 0, 3.14159265358979310, 0, 0, -1
%_FNCNAME%(0,33,1)= 0.0, -4, 0, 1, -2, 3, -1
%_FNCNAME%(0,34,1)= 0.0, -1, 0, 1, -4, 3, 20
%_FNCNAME%(0,35,1)= 0.0, -2, 0, 1, -1, 3, 19
%_FNCNAME%(0,36,1)= 0.0, -1, 0, 1, -2, 3, 21
%_FNCNAME%(0,37,1)= 0.0, -2, 0, 1, -3, 4, -1
%_FNCNAME%(0,38,1)= 0.0, 99, 0, 1, -2, 0, 0
BF,FRONT,HGEN,%TFRONT%
CMDELE,FRONT
ALLSEL,ALL

!!!后半球节点的选取
LOCAL,12,2,0,disy,0,,,,chb/ah,bh/ah,
NSEL,S,LOC,X,0,ah   
NSEL,R,LOC,Y,-90,0  
nsel,r,loc,y,-90,0  
CM,BEHIND,NODE  
!!!
LOCAL,14,0,0,disy,0,,,,1,1,
*DEL,_FNCNAME   
*DEL,_FNCMTID   
*DEL,_FNC_C1
*DEL,_FNC_C2
*DEL,_FNC_C3
*DEL,_FNC_C4
*DEL,_FNC_C5
*DEL,_FNCCSYS
*DEL,'TBEHIND'   
*SET,_FNCNAME,'TBEHIND'
*DIM,_FNC_C1,,1
*DIM,_FNC_C2,,1
*DIM,_FNC_C3,,1
*DIM,_FNC_C4,,1
*DIM,_FNC_C5,,1
*SET,_FNC_C1(1),q   
*SET,_FNC_C2(1),rb  
*SET,_FNC_C3(1),ah  
*SET,_FNC_C4(1),chb
*SET,_FNC_C5(1),bh  
*SET,_FNCCSYS,14
*DIM,%_FNCNAME%,TABLE,7,38,1,,,,%_FNCCSYS%
%_FNCNAME%(0,0,1)= 0.0, -999
%_FNCNAME%(2,0,1)= 0.0
%_FNCNAME%(3,0,1)= %_FNC_C1(1)%
%_FNCNAME%(4,0,1)= %_FNC_C2(1)%
%_FNCNAME%(5,0,1)= %_FNC_C3(1)%
%_FNCNAME%(6,0,1)= %_FNC_C4(1)%
%_FNCNAME%(7,0,1)= %_FNC_C5(1)%
%_FNCNAME%(0,1,1)= 1.0, -1, 16, 3, 0, 0, 0
%_FNCNAME%(0,2,1)= 0.0, -2, 0, 6, 0, 0, -1
%_FNCNAME%(0,3,1)=   0, -3, 0, 1, -2, 3, -1
%_FNCNAME%(0,4,1)= 0.0, -1, 0, 1, -3, 3, 17
%_FNCNAME%(0,5,1)= 0.0, -2, 0, 1, -1, 3, 18
%_FNCNAME%(0,6,1)= 0.0, -1, 0, 0, 0, 0, 0
%_FNCNAME%(0,7,1)= 0.0, -3, 0, 1, 0, 0, -1
%_FNCNAME%(0,8,1)= 0.0, -4, 0, 1, -1, 2, -3
%_FNCNAME%(0,9,1)= 0.0, -1, 0, 3, 0, 0, -4
%_FNCNAME%(0,10,1)= 0.0, -3, 0, 1, -4, 3, -1
%_FNCNAME%(0,11,1)= 0.0, -1, 0, 2, 0, 0, 2
%_FNCNAME%(0,12,1)= 0.0, -4, 0, 1, 2, 17, -1
%_FNCNAME%(0,13,1)= 0.0, -1, 0, 2, 0, 0, 19
%_FNCNAME%(0,14,1)= 0.0, -5, 0, 1, 19, 17, -1
%_FNCNAME%(0,15,1)= 0.0, -1, 0, 1, -4, 4, -5
%_FNCNAME%(0,16,1)= 0.0, -4, 0, 2, 0, 0, 3
%_FNCNAME%(0,17,1)= 0.0, -5, 0, 1, 3, 17, -4
%_FNCNAME%(0,18,1)= 0.0, -4, 0, 2, 0, 0, 20
%_FNCNAME%(0,19,1)= 0.0, -6, 0, 1, 20, 17, -4
%_FNCNAME%(0,20,1)= 0.0, -4, 0, 1, -5, 4, -6
%_FNCNAME%(0,21,1)= 0.0, -5, 0, 1, -1, 1, -4
%_FNCNAME%(0,22,1)= 0.0, -1, 0, 2, 0, 0, 4
%_FNCNAME%(0,23,1)= 0.0, -4, 0, 1, 4, 17, -1
%_FNCNAME%(0,24,1)= 0.0, -1, 0, 2, 0, 0, 21
%_FNCNAME%(0,25,1)= 0.0, -6, 0, 1, 21, 17, -1
%_FNCNAME%(0,26,1)= 0.0, -1, 0, 1, -4, 4, -6
%_FNCNAME%(0,27,1)= 0.0, -4, 0, 1, -5, 1, -1
%_FNCNAME%(0,28,1)= 0.0, -1, 0, 1, -3, 3, -4
%_FNCNAME%(0,29,1)= 0.0, -1, 7, 1, -1, 0, 0
%_FNCNAME%(0,30,1)= 0.0, -3, 0, 1, -2, 3, -1
%_FNCNAME%(0,31,1)= 0.0, -1, 16, 3.14159265358979310, 0, 0, 0
%_FNCNAME%(0,32,1)= 0.0, -2, 0, 3.14159265358979310, 0, 0, -1
%_FNCNAME%(0,33,1)= 0.0, -4, 0, 1, -2, 3, -1
%_FNCNAME%(0,34,1)= 0.0, -1, 0, 1, -4, 3, 20
%_FNCNAME%(0,35,1)= 0.0, -2, 0, 1, -1, 3, 19
%_FNCNAME%(0,36,1)= 0.0, -1, 0, 1, -2, 3, 21
%_FNCNAME%(0,37,1)= 0.0, -2, 0, 1, -3, 4, -1
%_FNCNAME%(0,38,1)= 0.0, 99, 0, 1, -2, 0, 0
BF,BEHIND,HGEN,%TBEHIND%
CMDELE,BEHIND
ALLSEL,ALL
SOLVE
BFDELE,all,HGEN
*ENDDO

SAVE

其中从双椭球热源加载到最后就是加载的过程,这是一个载荷,还需要另外一个载荷,这里没有加载,就像上面我所说的那样循环交替那样应该怎么加载,希望大家给予帮助。。应该用到怎么样的语句呢??
回复此楼
只有有了优秀的对手,你才会变得更加优秀
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leixiaokuan

新虫 (初入文坛)


小木虫(金币+0.5):给个红包,谢谢回帖
jjdg: 先google一下吧 2011-10-19 06:42:39
我是做焊接的,想学Ansys模拟焊接过程,有这方面的教程吗?若有请传我一份,邮箱:leixiaokuan_0512@1363.com
结交广大焊接工程师
5楼2011-10-18 13:41:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

graduate7303

至尊木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
学习学习了。。。
2楼2010-10-18 14:06:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dgh338

新虫 (初入文坛)

这么多的程序,看不懂
3楼2010-10-19 15:45:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by yaojinnan at 2010-09-09 20:40:33:
大家好,我是做焊接模拟的,用的是ANSYS软件。现在想做一段程序,其中想做个循环交替加载。
比如:载荷作用时间总共为10s,有两个载荷。
          其中,0-1s 给选定物体加载第一个载荷,
                   ...

ANSYS怎么打开命令流编程?
好好学习,天天向上。
4楼2010-11-12 19:48:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见