ABAQUS子程序USDFLD
更新时间:2024-05-31 14:42:01 阅读量: 综合文库 文档下载
Abaqus/CAE User's Manual
12.8.5 Defining 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 User's 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 General
User 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 User's Manual
(子程序USDFLD在材料中的定义过程可参考下面:
1. 在编辑材料的对话框中,选择General- User Defined Field
2. 点击OK关闭编辑材料的对话框,或者在编辑对话框中选择另外的一个材料特性。)
======================================================================================================================================================================================================================================================================================
Abaqus User Subroutines Reference Manual
1.1.49 USDFLD
User subroutine to redefine field variables at a material point.
(在一个材料点上使用USDFLD重新定义场变量) Product: Abaqus/Standard
References(参考)
? ? ? ? ?
“Obtaining material point information in an Abaqus/Standard analysis,” Section 2.1.6
“Material data definition,” Section 20.1.2 of the Abaqus Analysis User's 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 Manual
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 of the Abaqus Analysis User's 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.
允许你在一个材料点定义场变量作为时间函数,在输出变量的标示符中列出了所有材料点的变量,除了用户定义的输出变量
和uvarm uvarm。
2. 3. 4. 5.
能够用来介绍材料的性能,并且这种性能能够被定义为场变量的函数。
在各元素的材料点中,用户定义的场变量能够被调用。 必须调用使用程序GETVRM来接入材料点数据 可以和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 UTRS
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 of the Abaqus Analysis User's 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 User's 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.INC'
C
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 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 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 User's 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 User's 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 User's 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 variable—see “Defining solution-dependent field variables” in “Predefined fields,” Section 32.6.1 of the Abaqus Analysis User's Manual.
(下面是使用USDFLD的一个例子。在这个例子中,桁架单元受到拉力作用。弹性损伤模型被描述为:在加载过程中,根据最大拉伸应变的函数,弹性模量减少。最大拉伸应变作为解相关状态变量被储存—可参考定义解相关变量) Input file (输入数据)
*HEADING
DAMAGED ELASTICITY MODEL WITH USER SUBROUTINE USDFLD *ELEMENT, TYPE=T2D2, ELSET=ONE 1, 1, 2 *NODE
1, 0., 0. 2, 10., 0.
*SOLID SECTION, ELSET=ONE, MATERIAL=ELASTIC 1.
*MATERIAL, NAME=ELASTIC *ELASTIC, DEPENDENCIES=1
** Table of modulus values decreasing as a function ** of field variable 1. 2000., 0.3, 0., 0.00 1500., 0.3, 0., 0.01 1200., 0.3, 0., 0.02 1000., 0.3, 0., 0.04 *USER DEFINED FIELD *DEPVAR
1
*BOUNDARY 1, 1, 2 2, 2 *STEP *STATIC
0.1, 1.0, 0.0, 0.1 *CLOAD 2, 1, 20. *END STEP *STEP *STATIC
0.1, 1.0, 0.0, 0.1 *CLOAD 2, 1, 0. *END STEP
*STEP, INC=20 *STATIC
0.1, 2.0, 0.0, 0.1 *CLOAD 2, 1, 40. *END STEP User subroutine
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, 3 LACCFLA) C
INCLUDE 'ABA_PARAM.INC' C
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(*), 1 COORD(*) C
C Absolute value of current strain:
CALL GETVRM('E',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP, MATLAYO,LACCFLA)
EPS = ABS( ARRAY(1) )
C Maximum value of strain up to this point in time:
CALL GETVRM('SDV',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP, MATLAYO,LACCFLA) EPSMAX = ARRAY(1)
C Use the maximum strain as a field variable FIELD(1) = MAX( EPS , EPSMAX )
C Store the maximum strain as a solution dependent state C variable
STATEV(1) = FIELD(1)
C If error, write comment to .DAT file: IF(JRCD.NE.0)THEN
WRITE(6,*) 'REQUEST ERROR IN USDFLD FOR ELEMENT NUMBER ', 1 NOEL,'INTEGRATION POINT NUMBER ',NPT ENDIF C
RETURN END
Abaqus User Subroutines Reference Manual
正在阅读:
ABAQUS子程序USDFLD05-31
2017年公务员联考省份02-20
论商务礼仪在商务谈判中的作用03-10
教育统计与测量教学大纲11-29
2013年中小企业最新版标准工资表08-06
Access2003数据库的使用05-05
第四单元-访谈口译03-23
毒虫入药话全蝎01-21
关于落实中小学生“四个一”活动工作方案08-03
校外实训基地建设和管理办法04-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 子程序
- ABAQUS
- USDFLD
- 家政服务员教学计划
- 河道垃圾打捞和清理工作施工组织设计
- 东师范小学语文教学论16秋在线作业2免费答案
- 数据结构和C++程序设计_题库
- 实验1答案 Matlab软件环境的基本使用
- 《学校与社会 明日之学校》之读书笔记
- 基于PLC风机偏航系统解缆控制
- 【精选审批稿】小区高空抛物视频监控技术设备应用实施项目解决方
- 二级建造师公路工程管理与实务模拟试题8
- 经济法·课后作业·第二章
- 江苏省盐城市2017年中考物理真题试题(含解析)
- 地下铁道课程设计
- 2018年6月大学英语四级考试真题及部分答案(第1套)
- 100多份品管试卷及答案——资料包(151个DOC)TS内审试题
- 议论文作文问题分析(福州三中陈原)
- 新整理的一套湖南省安全资料(WORD格式)
- 培训学校个人工作总结
- 十八大解读之中国民生建设》试卷
- 中国农业大学土壤剖面描述标准配置和方法 - 图文
- 浙江新高考2016届高考政治总复习 专题五 日益重要的国际组织 核