此子程序用于非均匀热通量,由形式为SxNUy的分布载荷标签表征,参见 *DFLUX。载荷标签最多可以包含20个字符。特别地,y可用于区分不同的非均匀通量模式。头部和变量说明如下:
subroutine dflux(flux,sol,kstep,kinc,time,noel,npt,coords,
& jltyp,temp,press,loadtype,area,vold,co,lakonl,konl,
& ipompc,nodempc,coefmpc,nmpc,ikmpc,ilmpc,iscale,mi,
& sti,xstateini,xstate,nstate_,dtime)
!
! 用户子程序 dflux
!
!
! 输入:
!
! sol 当前温度值
! kstep 步编号
! kinc 增量编号
! time(1) 当前步时间
! time(2) 当前总时间
! noel 单元编号
! npt 积分点编号
! coords(1..3) 积分点的全局坐标
! jltyp 载荷面代码:
! 1 = 体通量
! 11 = 面1
! 12 = 面2
! 13 = 面3
! 14 = 面4
! 15 = 面5
! 16 = 面6
! temp 当前未使用
! press 当前未使用
! loadtype 载荷类型标签
! area 对于表面通量:积分点覆盖的面积
! 对于体通量:积分点覆盖的体积
! vold(0..4,1..nk) 所有节点的解场
! 0: 温度
! 1: 全局x方向的位移
! 2: 全局y方向的位移
! 3: 全局z方向的位移
! 4: 静压力
! co(3,1..nk) 所有节点的坐标
! 1: 全局x方向的坐标
! 2: 全局y方向的坐标
! 3: 全局z方向的坐标
! lakonl 单元标签
! konl(1..20) 属于该单元的节点
! ipompc(1..nmpc)) ipompc(i)指向场nodempc中MPC i定义的第一个项
! nodempc(1,*) MPC项的节点编号
! nodempc(2,*) MPC项的坐标方向
! nodempc(3,*) 如果不为0:指向场nodempc中MPC的下一项
! 如果为0:MPC定义完成
! coefmpc(*) MPC项的系数
! nmpc MPC的数目
! ikmpc(1..nmpc) MPC的有序全局自由度
! 全局自由度为
! 8*(node-1)+MPC从属项的方向
! (方向=0: 温度;1-3: 位移;4: 静压力;5-7: 旋转)
! ilmpc(1..nmpc) ilmpc(i)是ikmpc(i)中参考编号对应的MPC编号
! mi(1) 每个单元的最大积分点数(所有单元的最大值)
! mi(2) 每个节点的最大自由度数(所有节点的最大值),
! 用于像v(0:mi(2))...
! sti(i,j,k) 单元k积分点j处的当前Cauchy应力分量i。
! 分量顺序为xx,yy,zz,xy,xz,yz
! xstateini(i,j,k) 积分点j处单元k中状态变量i在当前增量开始时的值
! xstate(i,j,k) 积分点j处单元k中状态变量i在当前增量结束时的值
! nstate_ 状态变量的数目
! dtime 增量的时间长度
!
!
! 输出:
!
! flux(1) 通量的大小
! flux(2) 未使用;请勿分配任何值
! iscale 确定通量是否需要在小于
! 静态计算中步时间的增量进行缩放
! 0: 不缩放
! 1: 缩放(默认)