Overview
User subroutine USDFLD:主要目的是改变材料点上的场变量,从而改变材料的属性。
•allows you to define field variables at a material point as functions of time or of any of the available material point quantities listed in the Output Variable Identifiers table
(“ABAQUS/Standard output variable identifiers,” Section 4.2.1) except the user-defined
output variables UVARM and UVARM n;允许你在一个材料点上定义场变量作为时间的函数,或是任何可用的材料点变量(在输出变量标识符表中列出的那些,但是不包括用户自己定义的UVARM and UVARM n中的那些输出变量)的函数。
•can be used to introduce solution-dependent material properties since such properties can easily be defined as functions of field variables;可以被用于引入与解有关的材料属性,因为这种属性可以很容易的被定义为场变量的函数。
•will be called at all material points of elements for which the material definition includes user-defined field variables;将被调用在所有的单元材料点上,因为材料定义包括用户定义的场变量。
•must call utility routine GETVRM to access material point data;必须调用应用程序GETVRM来得到材料点数据。
•can use and update state variables; and可以使用和更新状态变量
•can be used in conjunction with user subroutine UFIELD to prescribe predefined field variables.能和用户子程序UFIELD一起使用以描述预先定义的场变量。
Explicit solution dependence显式解相关性
Since this routine provides access(访问)to material point quantities only at the start of the increment, the solution dependence introduced in this way is explicit: the material properties for a given increment are not influenced by the results obtained during the increment. Hence, the accuracy of the results depends on the size of the time increment. Therefore, you can control the time increment in this routine by means of the variable PNEWDT.因为这个程序提供对材料点上的量的访问只是在增量的开始时,所以与解的相关性是以显式的方式引入的;对于一个给定增量的材料属性没有被在增量过程中得到的结果影响。因此,结果的精确性依赖于时间增量的大小。所以,你可以在这个程序中通过变量PNEWDT来控制时间增量。
Defining field variables定义场变量
Before user subroutine USDFLD is called, the values of the field variables at the material point are calculated by interpolation from the values defined at the nodes.在用户子程序USDFLD被调用之前,材料点上的场变量的值是由节点上的值的插值得到的。Any changes to the field variables in the user subroutine are local to the material point: the nodal field variables retain the values defined as initial conditions, predefined field variables??, or in user subroutine UFIELD. 在用户
子程序中任何对场变量的改变对于材料点来说都是局部的:节点场变量保留这个在初始条件下定义的值,预先定义的场变量,或是在用户子程序UFIELD 中。The values of the field variables defined in this routine are used to calculate values of material properties that are defined
to depend on field variables and are passed into other user subroutines that are called at the material point, such as the following: 在本程序中定义的场变量的值被用于计算材料属性的值(这个材料属性定义依赖于场变量)并传送到其他的用户子程序中(这些用户子程序是被在材料点上调用的)
•“CREEP,” Section 25.2.1
•“HETVAL,” Section 25.2.12
•“UEXPAN,” Section 25.2.20
•“UHARD,” Section 25.2.25
•“UHYPEL,” Section 25.2.26
•“UMAT,” Section 25.2.30
•“UMATHT,” Section 25.2.31
•“UTRS,” Section 25.2.42
Output of the user-defined field variables at the material points can be obtained with the element integration point output variable FV (see “ABAQUS/Standard output variable identifiers,” Section 4.2.1).
Accessing material point data得到材料点的数据
You are provided with access to the values of the material point quantities at the start of the increment (or in the base state in a linear perturbation step) through the utility routine GETVRM described in “Obtaining material point information,” Section 26.2.5. The values of the material point quantities are obtained by calling GETVRM with the appropriate output variable keys. 材料
点量的值通过调用GETVRM 得到(恰当的输出变量关键字)。The values of the material point data are recovered(重新获得)in the arrays ARRAY, JARRAY, and FLGRAY for floating point, integer, and character data, respectively.
State variables状态变量
Since the redefinition of field variables in USDFLD is local to the current increment (field variables are restored to the values interpolated from the nodal values at the start of each increment), any history dependence required to update material properties by using this subroutine must be introduced with user-defined state variables.因为在USDFLD中对场变量的重新定义对于当前的增量步来说是局部的(场变量在每次增量步的开始被重新储存,它们的值是在节点上的插值),任何历史相关性(被用于通过使用这个子程序更新材料属性)必须被以用户定义的状态变量的方式引入。
The state variables can be updated in USDFLD and then passed into other user subroutines that can be called at this material point, such as those listed above. You specify the number of such state variables, as shown in the example at the end of this section (see also “Allocating space” in “User subroutines: overview,” Section 25.1.1).
状态变量可以在USDFLD中被更新,然后可以传递到如上面所列出的那些其他用户子程序中去。你可以
具体化这些状态变量的数目,如在本节末尾的例子中所述的那样。
以上这段话不好理解
User subroutine interface
SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,LACCFLA)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
variable什么意思中文1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
user coding to define FIELD and, if necessary, STATEV and PNEWDT
RETURN
END
Variable to be defined需要被定义的变量
FIELD(NFIELD)
An array containing the field variables at the current material point. These are passed in with the values interpolated from the nodes at the end of the current increment, as specified with initial condition definitions, predefined field variable definitions, or user subroutine UFIELD. The updated values are used to calculate the values of material properties that are defined to depend on field variab
les and are passed into other user subroutines (CREEP, HETVAL, UEXPAN, UHYPEL, UMAT, UMATHT, and UTRS) that are called at this material point.
FIELD它是一个包含了在当前材料点上的场变量的数组。当初时条件,用户预定义场变量,或者用户子程序UFIELD被指定了以后,这些值(以节点的插值方式给出)在当前增量步的结尾时被传入。更新后的值被用于计算材料属性的值(这些材料属性是与场变量有关的)并且被传给了其他的用户子程序(这些用户子程序是在整个材料点上被调用的那些)。
这段话的意思就是,场变量与材料的属性(模量,泊松比等)是有关的。那么它们之间是什么关系呢
Variables that can be updated能被更新的变量
STATEV(NSTATV)
An array containing the solution-dependent state variables. These are passed in as the values at the beginning of the increment. In all cases STATEV can be updated in this subroutine, and the updated values are passed into other user subroutines (CREEP, HETVAL, UEXPAN, UMAT, UMATHT, and UTRS) that are called at this material point. The number of state variables associated with this material point is defined as described in “Allocating space” in “User subroutines: overview,” Section 25.1.1.它是
一个包含与解有关的状态变量的数组。这些值在增量步的开始传送给对应的变量。在所有的情况中STATEV都能被更新(在本子程序中),并且更新后的值被传给了其他的用户子程序(CREEP, HETVAL, UEXPAN, UMAT, UMATHT, and UTRS),当然这些用户子程序是在这个材料点上被调用的那些个。状态变量的数目在分配空间里讲了。PNEWDT
Ratio of suggested new time increment to the time increment being used (DTIME, see below). This variable allows you to provide input to the automatic time incrementation algorithms in
ABAQUS/Standard (if automatic time incrementation is chosen).
它是可能要采用的时间增量长度与已经使用的(旧的)时间增量长度的比值。这个变量允许你提供对自动时间增量算法的输入(如果你选择了自动时间增量)。用它来控制最大时间增量。
PNEWDT is set to a large value before each call to USDFLD.在每次调用USDFLD之前这个变量都被赋予了一个大的值。
If PNEWDT is redefined to be less than 1.0, ABAQUS/Standard must abandon the time increment and attempt it again with a smaller time increment. The suggested new time increment provided to the automatic time integration algorithms is PNEWDT × DTIME, where the PNEWDT used is the minimum
value for all calls to user subroutines that allow redefinition of PNEWDT for this iteration.如果PNEWDT被重新赋予了一个小于1的值,ABAQUS/Standard就必须丢弃这个值并且在用一个更小的时间增量尝试一次。这个可能被采用的,用于提供给自动时间积分算法的新时间增量是PNEWDT × DTIME,这里被采用的PNEWDT是最小的值。
If PNEWDT is given a value that is greater than 1.0 for all calls to user subroutines for this iteration and the increment converges in this iteration, ABAQUS/Standard may increase the time increment. The suggested new time increment provided to the automatic time integration algorithms is PNEWDT × DTIME, where the PNEWDT used is the minimum value for all calls to user subroutines for this iteration.如果PNEWDT被赋予一个大于1的值并且增量收敛,
ABAQUS/Standard就可能增加时间增量的长度。这个可能被采用的,用于提供给自动时间积分算法的新时间增量是PNEWDT × DTIME,这里被采用的PNEWDT是最小的值。
If automatic time incrementation is not selected in the analysis procedure, values of PNEWDT that are greater than 1.0 will be ignored and values of PNEWDT that are less than 1.0 will cause the job to terminate.如果在本次分析过程中并没有采用自动时间增量,大于1的PNEWDT将会被忽略,小于1的PNEWDT将会导致任务终止。
Variables passed in for information
DIRECT(3,3) 它是由材料的主方向和整体坐标方向之间的方向余弦构成的矩阵。
An array containing the direction cosines of the material directions in terms of the global basis directions. DIRECT(1,1), DIRECT(2,1), DIRECT(3,1) give the (1, 2, 3) components of the first material direction; DIRECT(1,2), DIRECT(2,2), DIRECT(3,2) give the second material direction, etc. For shell and membrane elements, the first two directions are in the plane of the element and the third direction is the normal. This information is not available for beam elements.
T(3,3) 材料方向和单元基方向之间的方向余弦组成的矩阵
An array containing the direction cosines of the material orientation components relative to the element basis directions. This is the orientation that defines the material directions (DIRECT) in terms of the element basis directions. For continuum elements T and DIRECT are identical. For shell and membrane elements T(1,1) , T(1,2) , T(2,1) , T(2,2) , T(3,3) , and all other components are zero, where is the counterclockwise rotation around the normal vector that defines the orientation. If no orientation is used, T is an identity matrix. Orientation is not available for beam elements.它是一个由材料方向和以单元为基的方向之间的余弦构成的矩阵。它是一个方向,这个方向以单元为基的方向来定义材料方向。
对于连续体单元来说,T和DIRECT是相同的。对于壳和薄膜单元T(1,1) , T(1,2) , T(2,1) , T(2,2) , T(3,3) ,其他为零,是逆时针旋转角度。如果没有使用方向,T 就是单位矩阵。不提供给梁单元使用。
CELENT 特征单元长度
Characteristic element length. This is a typical length of a line across an element for a first-order element; it is half of the same typical length for a second-order element. For beams and trusses it is a characteristic length along the element axis. For membranes and shells it is a characteristic length in the reference surface. For axisymmetric elements it is a characteristic length in the plane only. 特征单元长度。这是一个典型的线(这个线穿过一个一阶单元)的长度;它是典型长度
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论