本来以为fortran是abaqus的内置计算语言,不过从文档的定义来看,这类函数都是被定义好的接口,只是可以接受fortran语言或C++定义的函数,作为变量
DFLUX函数格式(只有中间的user coding处可以自由改变,定义变量FLUX(1)和FLUX(2)的输入值)
SUBROUTINE DFLUX(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)
#(这里可以自由输入数学计算公式)
RETURN
END
可定义变量FLUX(1) and FLUX(2)
FLUX(1)
Magnitude of flux flowing into the model at this point. In heat transfer cases the units are JT−1L−2 for surface fluxes and JT−1L−3 for body flux. In transient heat transfer cases where a nondefault amplitude is used to vary the applied fluxes, the time average flux over the time increment must be defined rather than the value at the end of the time increment. In mass diffusion cases the units are PLT−1 for surface fluxes and PT−1 for body flux.
FLUX(1) will be passed into the routine as the magnitude of the flux specified as part of the element-based or surface-based flux definition. If the magnitude is not defined, FLUX(1) will be passed in as zero.
This flux is not available for output purposes.
flux(1)是此时流入模型的通量的大小,在热传递过程中,单位大小为JT−1L−2(表面热流)、JT−1L−3(体热流)。在瞬态热传递过程中,非默认振幅用于改变施加的热流量,必须定义时间增量上的时间平均流量(即单位时间内的流量),而不是时间增量结束时的流量值,在质量扩散的情况下的单位是表面通量的PLT-1和体通量的PT-1
flux(1)将基于元素或基于表面的通量定义的部分即指定通量的大小传递到程序中。如果不定义量值,flux(1)将作为零传递
这个flux不可在输出中使用
FLUX(2)
In heat transfer cases dq dθ\frac{\,dq}{\,d\theta}dθdq, the rate of change of the flux with respect to the temperature at this point. The units are JT−1L−2θ−1JT^{-1}L^{-2}\theta^{-1}JT−1L−2θ−1 for surface fluxes andJT−1L−3θ−1JT^{-1}L^{-3}\theta^{-1}JT−1L−3θ−1 for body flux.
In mass diffusion cases: dq dc\frac{\,dq}{\,dc}dcdq, the rate of change of the flux with respect to the mass concentration at this point. The units are LT−1LT^{−1}LT−1 for surface fluxes and T−1T^{−1}T−1for body flux.
The convergence rate during the solution of the nonlinear equations in an increment is improved by defining this value, especially when the flux is a strong function of temperature in heat transfer analysis or concentration in mass diffusion analysis.
在热传递过程中 dq dθ\frac{\,dq}{\,d\theta}dθdq,表示通量对温度的变化率,单位大小为JT−1L−2θ−1JT^{-1}L^{-2}\theta^{-1}JT−1L−2θ−1(表面热流)、JT−1L−3θ−1JT^{-1}L^{-3}\theta^{-1}JT−1L−3θ−1(体热流)。
在质量扩散的情况下, dq dc\frac{\,dq}{\,dc}dcdq 表示流量相对于这一点的质量浓度的变化率。 LT−1LT^{−1}LT−1 表面热流,T−1T^{−1}T−1体热流
通过定义该值,特别是在传热分析中通量是温度或质量浓度的强函数时,提高了非线性方程组在增量求解过程中的收敛速度
参数传递变量
- SOL
Estimated value of the solution variable (temperature in a heat transfer analysis or concentration in a mass diffusion analysis) at this time at this point.
该点此时解决变量的估计值(传热分析中的温度或质量扩散分析中的浓度) - KSTEP
Step number.
分析步序号 - KINC
Increment number.
增量数 - TIME(1)
Current value of step time (defined only in transient analysis).
当前分析步时间 - TIME(2)
Current value of total time (defined only in transient analysis).
当前总分析步时间 - NOEL
Element number.
元素序号 - NPT
Integration point number in the element or on the element’s surface. The integration scheme depends on whether this is a surface or a body flux.
元素或元素表面上的积分点数。积分方案取决于这是一个表面还是一个物体通量。 - COORDS
An array containing the coordinates of this point. These are the current coordinates if geometric nonlinearity is accounted for during the step (see Defining an analysis); otherwise, the array contains the original coordinates of the point.
包含该点坐标的数组。如果在步骤中考虑几何非线性,则这些是当前坐标(参见定义分析);否则,数组将包含该点的原始坐标。 - JLTYP
Identifies the flux type for which this call to DFLUX is being made. The flux type may be a body flux, a surface-based flux, or an element-based surface flux. For element-based surface fluxes, this variable identifies the element face for which this call to DFLUX is being made. This information is useful when several different nonuniform distributed fluxes are being imposed on an element at the same time. See About the element library for element face identification. The key is as follows:
标识对DFLUX进行调用的flux类型。通量类型可以是体通量、基于表面的通量或基于元素的表面通量。对于基于元素的表面通量,该变量标识出对DFLUX进行调用的元素面。当几个不同的非均匀分布的通量同时施加在一个元素上时,这个信息是有用的。有关元素识别,请参阅元素库。关键如下:
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
Current value of temperature at this integration point (defined only for a mass diffusion analysis). Temperature for a heat transfer analysis is passed in as variable SOL.
在该积分点的当前温度值(仅为质量扩散分析定义)。传热分析的温度作为可变SOL传递。 - PRESS
Current value of the equivalent pressure stress at this integration point (defined only for a mass diffusion analysis).
在此积分点的等效压应力的当前值(仅在质量扩散分析中定义)。 - SNAME
Surface name for a surface-based flux definition (JLTYP=0). For a body flux or an element-based surface flux the surface name is passed in as blank.
基于表面通量定义的表面名称(JLTYP=0)。对于体通量或基于元素的表面通量,表面名称作为空白传递。