请帮忙看一下这个子程序

浏览:71185 回答:2
最近在做一个坐标变换后焊接热源的子程序,焊接路径不是单纯沿着坐标轴方向运动。大家帮忙看一下下面编译的子程序。现在比较迷惑的是子程序里面的焊接路径这么编写对不对,先谢过了!
subroutine flux(f,temflu,mibody,time)
implicit real*8 (a-h,o-z)
dimension f(2),mibody(*),temflu(*)
c* * * * * *
c
c user subroutine for non-uniform flux input.
c
c f(1) flux value (to be defined)
c f(2) derivative of flux with respect to temperature
c (to be defined; optional, this might improve the
c convergence behavior)
c
c temflu(1) estimated temperature
c temflu(2) previous volumetric flux
c temflu(3) temperature at beginning of increment
c temflu(4,5,6)integration point coordinates
c mibody(1) element number
c mibody(2) flux type
c mibody(3) integration point number
c mibody(4) flux index
c mibody(5) not used
c mibody(6) =1 : heat transfer
c =2 : joule
c =3 : bearing
c =4 : electrostatic
c =5 : magnetostatic
c =6 : acoustic
c mibody(8) layer number for heat transfer shells elements
c and volume flux
c time time
c
c* * * * * *
f(1)=0 !定义初始热流
a=0.0055 !x半轴长
b=0.008 !y半轴长
c1=0.013 !z前半轴长
c2=0.013 !z后半轴长
r=0.002 !旋转半径
vx=0.00383 !x方向速度
vz=0.1 !z方向速度
x=temflu(4)
y=temflu(5)
z=temflu(6)
x0=vx*time !定义焊接路径
z0=vz*time
x1=temflu(4)-x0 !x变换
y1=temflu(5)
z1=temflu(6)-z0 !z变换
if(z1.ge.0) then
f=2e6*exp(-3*((x1/a)**2+(y1/b)**2+(z1/c1)**2))
else if(z1.lt.0) then
f=3e6*exp(-3*((x1/a)**2+(y1/b)**2+(z1/c2)**2))
else
f=0
end if
return
end
邀请回答 我来回答

全部回答

(2)
默认 最新
NaCl
你用的是什么版本?
2005r3?FORTRAN6.6B?
2009年7月17日
评论 点赞
winken
我现在也在做用ABAQUS模拟焊接变形的问题,其中就有移动热源定义的问题,我初步也想用DFLUX子程序来做,如果您有好的资料或者好的心得,记得要分享,让我们共同学习,共同进步,谢谢先
2009年7月14日
评论 点赞

没解决?试试专家一对一服务

换一批
    App下载
    技术邻APP
    工程师必备
    • 项目客服
    • 培训客服
    • 平台客服

    TOP