ABAQUS子程序USDFLD.doc_第1页
ABAQUS子程序USDFLD.doc_第2页
ABAQUS子程序USDFLD.doc_第3页
ABAQUS子程序USDFLD.doc_第4页
ABAQUS子程序USDFLD.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Abaqus/CAE Users Manual 12.8.5Defining field variables at a material point(在一个材料点定义场变量)In Abaqus/Standard you can introduce dependence on solution variables with user subroutine USDFLD. This subroutine allows you to define field variables at a material point as functions of time, of any of the available material point quantities listed in “Abaqus/Standard output variable identifiers,” Section 4.2.1 of the Abaqus Analysis Users Manual, and of material directions. Material properties defined as functions of these field variables may, thus, be dependent on the solution.User subroutine USDFLD is called at each point for which the material definition includes a reference to the user subroutine.(在ABAQUS里面,你能够用子程序USDFLD来求解变量。USDFLD允许你将一个材料点上的场变量定义为时间函数,能够使用到的材料点在用户使用手册4.2.1节中“abaqus输出变量的标识码”中被提及到。材料的特性被定义作为场变量的函数,因此依赖于求解方法。)(在每个被定义材料性能的点USDFLD能够被调用)To include a reference to user subroutine USDFLD in a material definition:1. From the menu bar in the Edit Material dialog box, select GeneralUser Defined Field.(For information on displaying the Edit Material dialog box, see “Creating or editing a material,” Section 12.7.1.)2. Click OK to close the Edit Material dialog box. Alternatively, you can select another material behavior to define from the menus in the Edit Material dialog box (see “Browsing and modifying material behaviors,” Section 12.7.2, for more information). Abaqus/CAE Users Manual (子程序USDFLD在材料中的定义过程可参考下面:1. 在编辑材料的对话框中,选择General- User Defined Field2. 点击OK关闭编辑材料的对话框,或者在编辑对话框中选择另外的一个材料特性。) =Abaqus User Subroutines Reference Manual 1.1.49USDFLDUser subroutine to redefine field variables at a material point.(在一个材料点上使用USDFLD重新定义场变量)Product: Abaqus/StandardReferences(参考) “Obtaining material point information in an Abaqus/Standard analysis,” Section 2.1.6 “Material data definition,” Section 20.1.2 of the Abaqus Analysis Users Manual *USER DEFINED FIELD “Damage and failure of a laminated composite plate,” Section 1.1.14 of the Abaqus Example Problems Manual “USDFLD,” Section 4.1.24 of the Abaqus Verification ManualOverview(概述)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 of the Abaqus Analysis Users Manual) except the user-defined output variables UVARM and UVARMn; 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; can use and update state variables; and can be used in conjunction with user subroutine UFIELD to prescribe predefined field variables.(子程序USDFLD:1. 允许你在一个材料点定义场变量作为时间函数,在输出变量的标示符中列出了所有材料点的变量,除了用户定义的输出变量和uvarmuvarm。2. 能够用来介绍材料的性能,并且这种性能能够被定义为场变量的函数。3. 在各元素的材料点中,用户定义的场变量能够被调用。4. 必须调用使用程序GETVRM来接入材料点数据5. 可以和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.(由于程序提供的接入点只是在增量的开始,解之间的相互关系应该被明确:在增量的过程中,材料的性能不应该被得到的结果所影响。因此,结果的准确性依赖于时间增量的大小。因此,你能通过PENWDT来控制程序中的时间增量。)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. 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. 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: (在子程序USDFLD被调用之前,通过节点中定义的数值采用差值法计算出材料点的场变量。子程序中场变量的任意改动都是在材料点上的改动:节点场变量保持着数值被定义为初始状态(预定义场变量),或者使用子程序UFIELD,程序中场变量的值被用来计算材料的性能,材料的特性被定义依赖于场变量,并且在其他子程序中被调用。例如下面的程序:) CREEP HETVAL UEXPAN UHARD UHYPEL UMAT UMATHT UTRSOutput 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 of the Abaqus Analysis Users Manual). 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 in an Abaqus/Standard analysis,” Section 2.1.6. The values of the material point quantities are obtained by calling GETVRM with the appropriate output variable keys. The values of the material point data are recovered in the arrays ARRAY, JARRAY, and FLGRAY for floating point, integer, and character data, respectively. You may not get values of some material point quantities that have not been defined at the start of the increment; e.g., ER.(你可以通过子程序GETVRM在增量的开始或者在一个线性的摄动步中设置材料点的数值。通过子程序GETVRM,采用输出变量的减能够获得材料点的数值。材料点数据的值呈现在矩阵中,ARRAY, JARRAY, and FLGRAY分别对应浮点型、整形、字符型。对于在增量开始时没有定义的材料点得不到数值。)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.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 17.1.1 of the Abaqus Analysis Users Manual).(在USDFLD中重新定义的作为当前变量(场变量的值通过在每个增量开始的节点数值内插得到),任何新的变量必须被使用子程序用户定义变量。在USDLFD中,状态变量能够更新,并且在其他子程序(上述列出的)中能够被调用,在这章的最后的例子中,你可以确定这些状态变量的数目。)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.INCC CHARACTER*80 CMNAME,ORNAME CHARACTER*3 FLGRAY(15) DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3), 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 ENDVariable 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 interpolation is performed using the same scheme used to interpolate temperatures: an average value is used for linear elements; an approximate linear variation is used for quadratic elements (also see “Solid (continuum) elements,” Section 27.1.1 of the Abaqus Analysis Users Manual). The updated values are used to calculate the values of material properties that are defined to depend on field variables and are passed into other user subroutines (CREEP, HETVAL, UEXPAN, UHARD, UHYPEL, UMAT, UMATHT, and UTRS) that are called at this material point.(一个数组包含着当前材料点上的场变量。在当前增量结束的节点通过内插法求得,作为指定的初始状态,预定义场变量或者只用子程序USDFLD。方法和温度的差值法相同:平均值用于线性单元;一个近似的线性变量被用于二次元素(可参考27.1.1)。这些更新的数据用来计算材料性能的数据,这些数值用场变量来定义,并且能够被子程序(CREEP, HETVAL, UEXPAN, UHARD, UHYPEL, UMAT, UMATHT, and UTRS)调用。)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 17.1.1 of the Abaqus Analysis Users Manual.(一组数据用来保存解相关的变量。它们在增量开始时被接入。在所有的例子中,STATEV能够在子程序中被更新,并且被更新的数值能够在(CREEP, HETVAL, UEXPAN, UMAT, UMATHT, and UTRS)子程序中被调用。状态变量的数目与材料点的相关,在17.1.1中描述)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). (推荐的新的时间增量和时间增量的比例。这个变量允许你提供输入到abaqus里面的自动时间增量的算法。)PNEWDT is set to a large value before each call to USDFLD.(在USDFLD被调用之前,PNEWDT被设置成一个大的数值。)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.(如果PENWD被重新定义成小于1.0的数,Abaqus/Standard必须禁止时间变量,并且尝试更小的时间变量。新的时间变量采用自动时间积分算法是PNEWDT DTIME, PNEWDT使用最小的值对于调用其他的子程序,允许PENWDT迭代。)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.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.(如果PENWD在所有调用的子程序中因为迭代或增量在迭代中收敛被重新定义成大于1.0的数,Abaqus/Standard可能增长时间变量。建议新的时间增量采用自动时间积分方法PNEWDT DTIME计算,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.(一组数据包含着材料各个方向的方向余弦。DIRECT(1,1), DIRECT(2,1), DIRECT(3,1) give the (1, 2, 3)是第一材料方向的组成成分;DIRECT(1,2), DIRECT(2,2), DIRECT(3,2) 是第二材料方向的组成成分。对于壳体和薄膜单元,第一和第二方向在平面的上面,第三方向是正常的。这个信息不能用于梁构件。)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.(一组数据包含着相对于单元基本方向而言是材料导向组件的方向余弦。根据单元的基本方向,定义材料的方向(DIRECT)。连续单元T和DIRECT是相同的。对于壳体和膜单元T(1,1) , T(1,2) , T(2,1) , T(2,2) , T(3,3) ,其他的单元为0,是绕正常向量逆时针旋转定义方向的。如果没有方向,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.(特征元素的长度。这是对于一阶元素而言,一条直线的典型长度;对于二阶元素而言,它是典型长度的一半。对于梁和桁架结构,它是沿着元件轴线的特征长度。对于膜和壳而言,是在参考表面上的特征长度。对于轴对称元素它只是在平面上的特征长度。)TIME(1) Value of step time at the beginning of the current increment.(在当前增量开始时的步长的数值。)TIME(2) Value of total time at the beginning of the current increment.(在当前增量开始时的总时间的数值。)DTIME Time increment.(时间增量)CMNAME User-specified material name, left justified.(用户指定的材料名称,左对齐)ORNAME User-specified local orientation name, left justified.(用户指定的局部定向的名字,左对齐)NFIELD Number of field variables defined at this material point.(在这个材料点定义的字段变量的个数)NSTATV User-defined number of solution-dependent state variables (see “Allocating space” in “User subroutines: overview,” Section 17.1.1 of the Abaqus Analysis Users Manual). (用户定义的解相关状态变量的个数)NOEL Element number.(单元数目)NPT Integration point number.(集成点数量)LAYER Layer number (for composite shells and layered solids).(层号(用于复合壳体和层状实体)KSPT Section point number within the current layer.(当前层内的节点数)KSTEP Step number.(时间步长)KINC Increment number.(时间增量)NDI Number of direct stress components at this point.(在这一点上的正应力分量数)NSHR Number of shear stress components at this point.(在这一点上的切应力分量数)COORD Coordinates at this material point.(在材料点上的坐标)JMAC Variable that must be passed into the GETVRM utility routine to access an output variable.(通过GETVRM的实际程序输出变量)JMATYP Variable that must be passed into the GETVRM utility routine to access an output variable.(通过GETVRM的实际程序输出变量)MATLAYO Variable that must be passed into the GETVRM utility routine to access an output variable.(通过GETVRM的实际程序输出变量)LACCFLA Variable that must be passed into the GETVRM utility routine to access an output variable.(通过GETVRM的实际程序输出变量)Example:Damaged elasticity model(例子:弹性模型的损坏)Included below is an example of user subroutine USDFLD. In this example a truss element is loaded in tension. A damaged elasticity model is introduced: the modulus decreases as a function of the maximum tensile strain that occurred during the loading history. The maximum tensile strain is stored as a solution-dependent state variablesee “Defining solution-dependent field variables” in “Predefined fields,” Section 32.6.1 of the Abaqus Analysis Users Manual.(下面是使用USDFLD的一个例子。在这个例子中,桁架单元受到拉力作用。弹性损伤模型被描述为:在加载过程中,根据最大拉伸应变的函数,弹性模量减少。最大拉伸应变作为解相关状态变量被储存可参考定义解相关变量)Input fi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论