新浪博客

Abaqus热源子程序DFLUX释义

2016-06-05 20:57阅读:
微信公众号:CAE技术分享


Abaqus的热源程序的接口是DFLUX,可以定义非均匀的与位置、时间、温度、单元和积分点相关的热源方程。调用计算过程中,每一个单元积分点都会从这个子程序得到。当单元为一次单元时,不管是热传导分析、温度-结构耦合分析或者温度-电场-结构耦合分析时,将节点作为flux积分点进行计算。
基本格式如下:
SUBROUTINEDFLUX(FLUX,SOL,KSTEP,KINC,TIME,NOEL,NPT,COORDS,
1 JLTYP,TEMP,PRESS,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION FLUX(2), TIME(2), COORDS(3)
CHARACTER*80 SNAME

user coding to define FLUX(1) and FLUX(2)

RET
URN
END
最主要的就是定义FLUX().
FLUX(1):流经模型某点的热量。对于面热源,单位是JT–1L–2,体热源是JT–1L–3
FLUX(2):热量对温度的变化率。
SOLsolution variable的估算值,对于热传导分析来说,就是某点的温度值。
KSTEP:载荷步
KINC:增量步
TIME(1):当前载荷步时间
TIME(2):当前总时间
NOEL:单元号
NPT:单元积分点号
COORDS:坐标数组
JLTYP:表征热源形式,对于如下:

JLTYP Flux type
0 Surface-based flux
1 BFNU
11 S1NU (SNEGNU for heat transfer shells)
12 S2NU (SPOSNU for heat transfer shells)
13 S3NU
14 S4NU
15 S5NU
16 S6NU

TEMP:当前温度
PRESS:当前的等效应力
SNAME:对于面热源时适用,表示surface的名称。


INCLUDE 'ABA_PARAM.INC'
parameter(one=1.d0)
DIMENSION COORDS(3),FLUX(2),TIME(2)
CHARACTER*80 SNAME
q=633*2.27*0.75
v=0.00227
d=v*TIME(2)
x=COORDS(1)
y=COORDS(2)
z=COORDS(3)
x0=0
y0=0
z0=0
a=0.0019
b=0.0032
c=0.0028
PI=3.1415
heat=6*sqrt(3.0)*q/(a*b*c*PI*sqrt(PI))
shape=exp(-3*(x-x0)**2/b**2-3*(y-y0)**2/c**2-3*(z-z0-d)**2/a**2)
C JLTYP1,表示为体热源
JLTYP=1
if (JSTEP. eq. one) then
C FLUX(1)=heat*shape-1100000
FLUX(1)=heat*shape
endif
RETURN
END


解释:

parameter(one=1.d0) !定义一个常数
DIMENSION COORDS(3),FLUX(2),TIME(2) !定义数组,都是一维数组,元素分别为3,2,2个
CHARACTER*80 SNAME 定义字符型,长度为80
q=633*2.27*0.75 !变量赋值
v=0.00227
d=v*TIME(2) !TIME()代表第二个元素
x=COORDS(1)
y=COORDS(2)
z=COORDS(3) !将COORDS的三个元素分别赋值于,x,y,z
x0=0
y0=0
z0=0
a=0.0019
b=0.0032
c=0.0028
PI=3.1415
heat=6*sqrt(3.0)*q/(a*b*c*PI*sqrt(PI))
shape=exp(-3*(x-x0)**2/b**2-3*(y-y0)**2/c**2-3*(z-z0-d)**2/a**2)
C JLTYP1,表示为体热源
JLTYP=1
if (JSTEP. eq. one) then!注意one是一个变量,在一开头就赋值了.
C FLUX(1)=heat*shape-1100000 !C表示注解,这个一般在FORTRAN77中常常用这个符号,现在人多用!来注解.或者说注释行.
FLUX(1)=heat*shape
endif
RETURN
END

我的更多文章

下载客户端阅读体验更佳

APP专享