分布通量 (dflux.f)

此子程序用于非均匀热通量,由形式为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: 缩放(默认)