Abaqus 用户子程序uinter介绍

合集下载

ABAQUS子程序

ABAQUS子程序

Home浅谈ABAQUS用户子程序李青清华大学工程力学系摘要本文首先概要介绍了ABAQUS的用户子程序和应用程序,然后从参数,功能两方面详细论述了DLOAD, UEXTERNALDB, URDFIL三个用户子程序和GETENVVAR,POSFIL,DBFILE三个应用程序,并详细介绍了ABAQUS的结果文件(.FIL)存储格式。

关键字ABAQUS,用户子程序,应用程序,结果文件一、前言:ABAQUS为用户提供了强大而又灵活的用户子程序接口(USER SUBROUTINE)和应用程序接口(UTILITY ROUTINE)。

ABAQUS 6.2.5一共有42个用户子程序接口,13个应用程序接口,用户可以定义包括边界条件、荷载条件、接触条件、材料特性以及利用用户子程序和其它应用软件进行数据交换等等。

这些用户子程序接口使用户解决一些问题时有很大的灵活性,同时大大的扩充了ABAQUS的功能。

例如:如果荷载条件是时间的函数,这在ABAQUS/CAE 和INPUT 文件中是难以实现的,但在用户子程序DLOAD中就很容易实现。

二.在ABAQUS中使用用户子程序ABAQUS的用户子程序是根据ABAQUS提供的相应接口,按照FORTRAN语法用户自己编写的代码。

在一个算例中,用户可以用到多个用户子程序,但必须把它们放在一个以.FOR为扩展名的文件中。

运行带有用户子程序的算例时有两种方法,一是在CAE中运行,在EDIT JOB菜单的GENERAL子菜单的USER SUBROUTINE FILE对话框中选择用户子程序所在的文件即可;另外是在ABABQUS COMMAND用运行,语法如下:ABAQUS JOB=[JOB] USER¡[.FOR]¡C用户在编写用户子程序时,要注意以下几点:1.用户子程序不能嵌套。

即任何用户子程序都不能调用任何其他用户子程Home序,但可以调用用户自己编写的FORTRAN子程序和ABAQUS应用程序。

Abaqus用户子程序VUMAT

Abaqus用户子程序VUMAT
Pipe elements For pipe elements the stretch tensor and the deformation gradient tensor are not available. The axial strain, strainInc(*,1), and the shear strain, strainInc(*,4), associated with twist are provided along with the hoop stress, stressNew(*,2). The hoop stress is predefined based on your pipe internal and external pressure load definitions (PE, PI, HPE, HPI, PENU, and PINU), and it should not be modified here. The thickness stress, stressNew(*,3), is assumed to be zero and any value you assign is ignored. You must define the axial stress, stressNew(*,1), and the shear stress, stressNew(*,4). You must also define hoop strain, strainInc(*,2), and the pipe thickness strain, strainInc(*,3).
Component 1 2 3 4 5 6 7 8 9
2-D Case 3-D Case
Initial calculations and checks

ABAQUS功能简介

ABAQUS功能简介

最先进的大型通用非线性有限元分析软件——ABAQUS1、概述美国ABAQUS软件公司成立于1978年,总部位于美国罗德岛博塔市,专门从事非线性有限元力学分析软件ABAQUS的开发与维护。

公司总部雇员400余人,其中近130余人具有工程或计算机博士学位,近120人具有硕士学位,被公认为世界上最大且最优秀的固体力学研究团体。

ABAQUS公司不断吸取最新的分析理论和计算机技术,领导着全世界非线性有限元技术的发展。

ABAQUS是国际著名的CAE软件,它以其强大的非线性分析功能以及解决复杂和深入的科学问题的能力赢得广泛称誉。

ABAQUS软件已被全球工业界广泛接受,并拥有世界最大的非线性力学用户群。

ABAQUS已成为国际上最先进的大型通用非线性有限元分析软件。

ABAQUS软件,除普通工业用户外,也在以高等院校、科研院所等为代表的高端用户中得到广泛。

研究水平的提高引发了用户对高水平分析工具需求的加强,作为满足这种高端需求的有力工具,ABAQUS软件在各行业用户群中所占据的地位也越来越突出。

ABAQUS是一个推崇技术的公司,它始终走在结构力学研究和软件化领域的前沿,它良好的品质和服务得到业界的广泛认可。

制造业是ABAQUS最重要的应用领域之一,拥有NASA、罗克希德-马丁、波音、空中客车等长期合作的用户。

对制造业很多复杂和特殊的问题,如热传导、爆炸冲击、流固耦合、疲劳断裂、复合材料损伤、接触连接、金属塑性等,在所有的CAE软件中,ABAQUS是最有优势的。

目前ABAQUS软件在中国的用户已超过800家,涵盖汽车、航空航天、船舶、武器、工程机械、建筑、电子、石化和核能源等各个领域,如宝山钢铁集团、长春一汽、上海泛亚、中国船级社、北京石化设计院、江钻股份、摩托罗拉和诺基亚等。

2、功能介绍ABAQUS软件的功能可以归纳为线性分析、非线性分析和机构分析三大块。

•线性静力学、动力学和热传导–静强度/刚度、动力学和模态、热力学和声学等–金属和复合材料、应力、振动、 声场、压电效应等•非线性和瞬态分析–汽车碰撞、飞机坠毁、电子器件跌落, 冲击和损毁等–复合材料损伤、接触, 塑性失效, 断裂和磨损, 橡胶超弹性等 •多体动力学分析–起落架收放、副翼展开、汽车悬架、微机电系统MEMS、医疗器械等–结合刚体和柔体模拟各种连接件,进行运动过程的力学分析3、模块介绍ABAQUS软件主要由ABAQUS/CAE,ABAQUS/Standard,ABAQUS/Explicit三个模块组成。

abaqus2用户单元子程序

abaqus2用户单元子程序

20 ABAQUS用户单元子程序(UEL)在这一章中将列举两个在这些年里发展过的ABAQUS/Standard用户单元子程序(UEL)。

第一个例子是一个非线性的索单元,我们的目的是通过这个比较简单的例子让读者了解用户单元子程序的基本开发过程;第二个例子是一个用于计算应变梯度理论的单元,应变梯度是当今比较热点的一个科研前沿问题,有各种理论,我们为了验证新的理论,需要数值结果与实验对照来进行评价,整个例子的目的是通过它说明用户子单元可以求解的问题范围很广,但是由于内容比较艰深,程序也很长,所以这个例子我们并没有给出最后的全部程序。

另外,到目前为止,ABAQUS还只有隐式求解器ABAQUS/Standard支持用户自定义单元,而显式求解器ABAQUS/Explicit中还不支持这一功能。

20.1 非线性索单元20.1.1 背景钢索斜拉桥和斜拉索结构广泛应用于土木工程建筑上。

索力的计算分析是设计和施工的关键环节。

清华大学工程力学系在采用ABAQUS进行荆沙长江斜拉桥的计算机仿真分析(这个项目我们已在第15章“ABAQUS在土木工程中的应用(一)——荆州长江大桥南汊斜拉桥结构三维仿真分析”中讨论过)时,也曾进行了自行建立索单元的尝试。

本节介绍的就是这方面的工作。

香港理工大学土木与结构工程系采用ABAQUS有限元软件进行计算,完成了香港Ting Kau斜拉桥和Tsing Ma悬索桥的结构计算和分析。

对于钢索计算,他们采用梁单元进行模拟。

由于梁单元含有弯曲刚度,计算的高阶频率值偏高,周期较低。

一般假设索是单向受拉力的构件。

随着应变的非线性增加,索力呈非线性增加。

尽管ABAQUS单元库中有500个以上的单元类型,但是,还没有索单元。

本文发展了三维非线性索单元模型,形成ABAQUS的用户单元子程序,可以利用ABAQUS输入文件调入到具体的分析中。

通过静态和动态例题的计算比较,索单元工作良好。

20.1.2 基本公式在三维索单元计算中,如图20-1所示,坐标x 和位移u 的变量表达式为:ij ji i j ji u u u x x x -=-= (x,y,z) (u,v,w) (20-1)应变的公式为:()⎥⎦⎤⎢⎣⎡+++++=222211ji ji ji ji ji ji ji ji ji w v u w z v y u x L ε (20-2)公式(20-2)中,L 为索的长度,索的张力为:0N AE N +=ε(20-3)在公式(20-3)中,A 为截面面积,E 为弹性模量,N 0为初始张力。

Abaqus User Subroutines Reference Guide 用户材料子程序帮助文档

Abaqus User Subroutines Reference Guide 用户材料子程序帮助文档

1.1.41 UMATUser subroutine to define a material's mechanical behavior.Product: Abaqus/StandardWarning: The use of this subroutine generally requires considerable expertise. Y ou arecautioned that the implementation of any realistic constitutive model requires extensivedevelopment and testing. Initial testing on a single-element model with prescribedtraction loading is strongly recommended.References“User-defined mechanical material behavior,” Section 26.7.1 of the Abaqus Analysis User's Guide“User-defined thermal material behavior,” Section 26.7.2 of the Abaqus Analysis User's Guide*USER MA TERIAL“S D V I N I,” Section 4.1.11 of the Abaqus V erification Guide“U M A T and U H Y P E R,” Section 4.1.21 of the Abaqus V erification GuideOv erv iewUser subroutine U M A T:can be used to define the mechanical constitutive behavior of a material;will be called at all material calculation points of elements for which the material definition includes auser-defined material behavior;can be used with any procedure that includes mechanical behavior;can use solution-dependent state variables;must update the stresses and solution-dependent state variables to their values at the end of theincrement for which it is called;must provide the material Jacobian matrix, , for the mechanical constitutive model;can be used in conjunction with user subroutine U S D F L D to redefine any field variables before they are passed in; andis described further in “User-defined mechanical material behavior,” Section 26.7.1 of the AbaqusAnalysis User's Guide.Storage of stress and strain componentsIn the stress and strain arrays and in the matrices D D S D D E, D D S D D T, and D R P L D E, direct components are stored first, followed by shear components. There are N D I direct and N S H R engineering shear components. The order of the components is defined in “Conventions,” Section 1.2.2 of the Abaqus Analysis User's Guide. Since the number of active stress and strain components varies between element types, the routine must be coded toprovide for all element types with which it will be used.Defining local orientationsIf a local orientation (“Orientations,” Section 2.2.5 of the Abaqus Analysis User's Guide) is used at the same point as user subroutine U M A T, the stress and strain components will be in the local orientation; and, in the case of finite-strain analysis, the basis system in which stress and strain components are stored rotates with the material.StabilityY ou should ensure that the integration scheme coded in this routine is stable—no direct provision is made to include a stability limit in the time stepping scheme based on the calculations in U M A T.Convergence rateD D S D DE and—for coupled temperature-displacement and coupled thermal-electrical-structural analyses—D D S D D T, D R P L D E, and D R P L D T must be defined accurately if rapid convergence of the overall Newton scheme is to be achieved. In most cases the accuracy of this definition is the most important factor governing the convergence rate. Since nonsymmetric equation solution is as much as four times as expensive as the corresponding symmetric system, if the constitutive Jacobian (D D S D D E) is only slightly nonsymmetric (for example, a frictional material with a small friction angle), it may be less expensive computationally to use a symmetric approximation and accept a slower convergence rate.An incorrect definition of the material Jacobian affects only the convergence rate; the results (if obtained) are unaffected.Special considerations for various element typesThere are several special considerations that need to be noted.A v ailability of deformation gradientThe deformation gradient is available for solid (continuum) elements, membranes, and finite-strain shells(S3/S3R, S4, S4R, SAXs, and SAXAs). It is not available for beams or small-strain shells. It is stored as a 3× 3 matrix with component equivalence D F G R D0(I,J). For fully integrated first-order isoparametric elements (4-node quadrilaterals in two dimensions and 8-node hexahedra in three dimensions) the selectively reduced integration technique is used (also known as the technique). Thus, a modified deformation gradientis passed into user subroutine U M A T. For more details, see “Solid isoparametric quadrilaterals and hexahedra,”Section 3.2.4 of the Abaqus Theory Guide.Beams and shells that calculate transv erse shear energyIf user subroutine U M A T is used to describe the material of beams or shells that calculate transverse shear energy, you must specify the transverse shear stiffness as part of the beam or shell section definition to define the transverse shear behavior. See “Shell section behavior,” Section 29.6.4 of the Abaqus Analysis User's Guide, and “Choosing a beam element,” Section 29.3.3 of the Abaqus Analysis User's Guide, for informationon specifying this stiffness.Open-section beam elementsWhen user subroutine U M A T is used to describe the material response of beams with open sections (for example, an I-section), the torsional stiffness is obtained aswhere J is the torsional constant, A is the section area, k is a shear factor, and is the user-specified transverse shear stiffness (see “Transverse shear stiffness definition” in “Choosing a beam element,” Section29.3.3 of the Abaqus Analysis User's Guide).E lements w ith hourglassing modesIf this capability is used to describe the material of elements with hourglassing modes, you must define the hourglass stiffness factor for hourglass control based on the total stiffness approach as part of the element section definition. The hourglass stiffness factor is not required for enhanced hourglass control, but you can define a scaling factor for the stiffness associated with the drill degree of freedom (rotation about the surface normal). See “Section controls,” Section 27.1.4 of the Abaqus Analysis User's Guide, for information on specifying the stiffness factor.Pipe-soil interaction elementsThe constitutive behavior of the pipe-soil interaction elements (see “Pipe-soil interaction elements,” Section 32.12.1 of the Abaqus Analysis User's Guide) is defined by the force per unit length caused by relative displacement between two edges of the element. The relative-displacements are available as “strains” (S T R A N and D S T R A N). The corresponding forces per unit length must be defined in the S T R E S S array. The Jacobian matrix defines the variation of force per unit length with respect to relative displacement.For two-dimensional elements two in-plane components of “stress” and “strain” exist (N T E N S=N D I=2, andN S H R=0). For three-dimensional elements three components of “stress” and “strain” exist (N T E N S=N D I=3, and N S H R=0).Large volume changes with geometric nonlinearityIf the material model allows large volume changes and geometric nonlinearity is considered, the exact definition of the consistent Jacobian should be used to ensure rapid convergence. These conditions are most commonly encountered when considering either large elastic strains or pressure-dependent plasticity. In the former case, total-form constitutive equations relating the Cauchy stress to the deformation gradient are commonly used; in the latter case, rate-form constitutive laws are generally used.For total-form constitutive laws, the exact consistent Jacobian is defined through the variation in Kirchhoff stress:Here, J is the determinant of the deformation gradient, is the Cauchy stress, is the virtual rate of deformation, and is the virtual spin tensor, defined asFor rate-form constitutive laws, the exact consistent Jacobian is given byUse with incompressible elastic materialsFor user-defined incompressible elastic materials, user subroutine U H Y P E R should be used rather than user subroutine U M A T. In U M A T incompressible materials must be modeled via a penalty method; that is, you must ensure that a finite bulk modulus is used. The bulk modulus should be large enough to model incompressibility sufficiently but small enough to avoid loss of precision. As a general guideline, the bulk modulus should be about – times the shear modulus. The tangent bulk modulus can be calculated fromIf a hybrid element is used with user subroutine U M A T, Abaqus/Standard will replace the pressure stress calculated from your definition of S T R E S S with that derived from the Lagrange multiplier and will modify the Jacobian appropriately.For incompressible pressure-sensitive materials the element choice is particularly important when using user subroutine U M A T. In particular, first-order wedge elements should be avoided. For these elements the technique is not used to alter the deformation gradient that is passed into user subroutine U M A T, which increases the risk of volumetric locking.Increments for which only the Jacobian can be definedAbaqus/Standard passes zero strain increments into user subroutine U M A T to start the first increment of all the steps and all increments of steps for which you have suppressed extrapolation (see “Defining an analysis,”Section 6.1.2 of the Abaqus Analysis User's Guide). In this case you can define only the Jacobian (D D S D D E).Utility routinesSeveral utility routines may help in coding user subroutine U M A T. Their functions include determining stress invariants for a stress tensor and calculating principal values and directions for stress or strain tensors. These utility routines are discussed in detail in “Obtaining stress invariants, principal stress/strain values and directions, and rotating tensors in an Abaqus/Standard analysis,” Section 2.1.11.U ser subroutine interfaceS U B R O U T I N E U M A T(S T R E S S,S T A T E V,D D S D D E,S S E,S P D,S C D,1R P L,D D S D D T,D R P L D E,D R P L D T,2S T R A N,D S T R A N,T I M E,D T I M E,T E M P,D T E M P,P R E D E F,D P R E D,C M N A M E,3N D I,N S H R,N T E N S,N S T A T V,P R O P S,N P R O P S,C O O R D S,D R O T,P N E W D T,4C E L E N T,D F G R D0,D F G R D1,N O E L,N P T,L A Y E R,K S P T,K S T E P,K I N C)CI N C L U D E'A B A_P A R A M.I N C'C H A R A C T E R*80C M N A M ED I ME N S I O N S T R E S S(N T E N S),S T A T E V(N S T A T V),1D D S D D E(N T E N S,N T E N S),D D S D D T(N T E N S),D R P L D E(N T E N S),2S T R A N(N T E N S),D S T R A N(N T E N S),T I M E(2),P R E D E F(1),D P R E D(1),3P R O P S(N P R O P S),C O O R D S(3),D R O T(3,3),D F G R D0(3,3),D F G R D1(3,3)user coding to define D D S D D E,S T R E S S,S T A T E V,S S E,S P D,S C Dand, if necessary,R P L,D D S D D T,D R P L D E,D R P L D T,P N E W D TR E T U R NE N DV ariables to be definedIn all situationsD D S D D E(N TE N S,N T E N S)Jacobian matrix of the constitutive model, , where are the stress increments and are the strain increments. D D S D D E(I,J) defines the change in the I th stress component at the end of the time increment caused by an infinitesimal perturbation of the J th component of the strain increment array.Unless you invoke the unsymmetric equation solution capability for the user-defined material,Abaqus/Standard will use only the symmetric part of D D S D D E. The symmetric part of the matrix iscalculated by taking one half the sum of the matrix and its transpose.S T R E S S(N T E N S)This array is passed in as the stress tensor at the beginning of the increment and must be updated in this routine to be the stress tensor at the end of the increment. If you specified initial stresses (“Initial conditions in Abaqus/Standard and Abaqus/Explicit,” Section 34.2.1 of the Abaqus Analysis User's Guide), this array will contain the initial stresses at the start of the analysis. The size of this array depends on the value of N T E N S as defined below. In finite-strain problems the stress tensor has already been rotated to account for rigid body motion in the increment before U M A T is called, so that only the corotational part of the stress integration should be done in U M A T. The measure of stress used is “true” (Cauchy) stress.S T A T E V(N S T A T V)An array containing the solution-dependent state variables. These are passed in as the values at thebeginning of the increment unless they are updated in user subroutines U S D F L D or U E X P A N, in which case the updated values are passed in. In all cases S T A T E V must be returned as the values at the end of the increment. The size of the array is defined as described in “Allocating space” in “User subroutines:overview,” Section 18.1.1 of the Abaqus Analysis User's Guide.In finite-strain problems any vector-valued or tensor-valued state variables must be rotated to account for rigid body motion of the material, in addition to any update in the values associated with constitutivebehavior. The rotation increment matrix, D R O T, is provided for this purpose.S S E,S P D,S C DSpecific elastic strain energy, plastic dissipation, and “creep” dissipation, respectively. These are passed in as the values at the start of the increment and should be updated to the corresponding specific energy values at the end of the increment. They have no effect on the solution, except that they are used forenergy output.Only in a fully coupled thermal-stress or a coupled thermal-electrical-structural analysisR P LV olumetric heat generation per unit time at the end of the increment caused by mechanical working of the material.D D S D D T(N TE N S)V ariation of the stress increments with respect to the temperature.D R P L D E(N TE N S)V ariation of R P L with respect to the strain increments.D R P L D TV ariation of R P L with respect to the temperature.Only in a geostatic stress procedure or a coupled pore fluid diffusion/stress analysis for pore pressure cohesive elementsR P LR P L is used to indicate whether or not a cohesive element is open to the tangential flow of pore fluid. Set R P L equal to 0 if there is no tangential flow; otherwise, assign a nonzero value to R P L if an element is open.Once opened, a cohesive element will remain open to the fluid flow.V ariable that can be updatedP N E W D TRatio of suggested new time increment to the time increment being used (D T I M E, see discussion later in this section). This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus/Standard (if automatic time incrementation is chosen). For a quasi-static procedure the automatic time stepping that Abaqus/Standard uses, which is based on techniques for integrating standard creep laws (see “Quasi-static analysis,” Section 6.2.5 of the Abaqus Analysis User's Guide), cannot becontrolled from within the U M A T subroutine.P N E W D T is set to a large value before each call to U M A T.If P N E W D T is redefined to be less than 1.0, Abaqus/Standard must abandon the time increment andattempt it again with a smaller time increment. The suggested new time increment provided to theautomatic time integration algorithms is P N E W D T × D T I M E, where the P N E W D T used is the minimum value for all calls to user subroutines that allow redefinition of P N E W D T for this iteration.If P N E W D T 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 suggestednew time increment provided to the automatic time integration algorithms is P N E W D T × D T I M E, where the P N E W D T 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 P N E W D T that aregreater than 1.0 will be ignored and values of P N E W D T that are less than 1.0 will cause the job to terminate. V ariables passed in for informationS T R A N(N T E N S)An array containing the total strains at the beginning of the increment. If thermal expansion is included in the same material definition, the strains passed into U M A T are the mechanical strains only (that is, thethermal strains computed based upon the thermal expansion coefficient have been subtracted from the total strains). These strains are available for output as the “elastic” strains.In finite-strain problems the strain components have been rotated to account for rigid body motion in the increment before U M A T is called and are approximations to logarithmic strain.D S T R A N(N TE N S)Array of strain increments. If thermal expansion is included in the same material definition, these are the mechanical strain increments (the total strain increments minus the thermal strain increments).T I M E(1)V alue of step time at the beginning of the current increment or frequency.T I M E(2)V alue of total time at the beginning of the current increment.D T I M ETime increment.T E M PTemperature at the start of the increment.D TE M PIncrement of temperature.P R E D E FArray of interpolated values of predefined field variables at this point at the start of the increment, based on the values read in at the nodes.D P RE DArray of increments of predefined field variables.C M N A M EUser-defined material name, left justified. Some internal material models are given names starting with the “ABQ_” character string. To avoid conflict, you should not use “ABQ_” as the leading string for C M N A M E. N D INumber of direct stress components at this point.N S H RNumber of engineering shear stress components at this point.N T E N SSize of the stress or strain component array (N D I + N S H R).N S T A T VNumber of solution-dependent state variables that are associated with this material type (defined asdescribed in “Allocating space” in “User subroutines: overview,” Section 18.1.1 of the Abaqus Analysis User's Guide).P R O P S(N P R O P S)User-specified array of material constants associated with this user material.N P R O P SUser-defined number of material constants associated with this user material.C O O RD SAn array containing the coordinates of this point. These are the current coordinates if geometricnonlinearity is accounted for during the step (see “Defining an analysis,” Section 6.1.2 of the Abaqus Analysis User's Guide); otherwise, the array contains the original coordinates of the point.D R O T(3,3)Rotation increment matrix. This matrix represents the increment of rigid body rotation of the basis system in which the components of stress (S T R E S S) and strain (S T R A N) are stored. It is provided so that vector-or tensor-valued state variables can be rotated appropriately in this subroutine: stress and straincomponents are already rotated by this amount before U M A T is called. This matrix is passed in as a unit matrix for small-displacement analysis and for large-displacement analysis if the basis system for thematerial point rotates with the material (as in a shell element or when a local orientation is used).C E L E N TCharacteristic element length, which 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 referencesurface. For axisymmetric elements it is a characteristic length in the plane only. For cohesiveelements it is equal to the constitutive thickness.D F G R D0(3,3)Array containing the deformation gradient at the beginning of the increment. If a local orientation is defined at the material point, the deformation gradient components are expressed in the local coordinate system defined by the orientation at the beginning of the increment. For a discussion regarding the availability of the deformation gradient for various element types, see “Availability of deformation gradient.”D F G R D1(3,3)Array containing the deformation gradient at the end of the increment. If a local orientation is defined at the material point, the deformation gradient components are expressed in the local coordinate system defined by the orientation. This array is set to the identity matrix if nonlinear geometric effects are not included in the step definition associated with this increment. For a discussion regarding the availability of thedeformation gradient for various element types, see “Availability of deformation gradient.”N O E LElement number.N P TIntegration point number.L A Y E RLayer number (for composite shells and layered solids).K S P TSection point number within the current layer.K S T E PStep number.K I N CIncrement number.Example: Using more than one user-defined mechanical material modelTo use more than one user-defined mechanical material model, the variable C M N A M E can be tested for different material names inside user subroutine U M A T as illustrated below:I F(C M N A M E(1:4).E Q.'M A T1')T H E NC A L L U M A T_M A T1(argument_list)E L S E I F(C M N A M E(1:4).E Q.'M A T2')T H E NC A L L U M A T_M A T2(argument_list)E N D I FU M A T_M A T1 and U M A T_M A T2 are the actual user material subroutines containing the constitutive material models for each material M A T1 and M A T2, respectively. Subroutine U M A T merely acts as a directory here. The argument list may be the same as that used in subroutine U M A T.Example: Simple linear viscoelastic materialAs a simple example of the coding of user subroutine U M A T, consider the linear, viscoelastic model shown in Figure 1.1.41–1. Although this is not a very useful model for real materials, it serves to illustrate how to code the routine.Figure 1.1.41–1 Simple linear viscoelastic model.The behavior of the one-dimensional model shown in the figure iswhere and are the time rates of change of stress and strain. This can be generalized for small straining of an isotropic solid asandwhereand , , , , and are material constants ( and are the Lamé constants).A simple, stable integration operator for this equation is the central difference operator:where f is some function, is its value at the beginning of the increment, is the change in the function over the increment, and is the time increment.Applying this to the rate constitutive equations above givesandso that the Jacobian matrix has the termsandThe total change in specific energy in an increment for this material iswhile the change in specific elastic strain energy iswhere D is the elasticity matrix:No state variables are needed for this material, so the allocation of space for them is not necessary. In a morerealistic case a set of parallel models of this type might be used, and the stress components in each model might be stored as state variables.For our simple case a user material definition can be used to read in the five constants in the order , , , , and so thatThe routine can then be coded as follows:S U B R O U T I N E U M A T(S T R E S S,S T A T E V,D D S D D E,S S E,S P D,S C D,1R P L,D D S D D T,D R P L D E,D R P L D T,2S T R A N,D S T R A N,T I M E,D T I M E,T E M P,D T E M P,P R E D E F,D P R E D,C M N A M E,3N D I,N S H R,N T E N S,N S T A T V,P R O P S,N P R O P S,C O O R D S,D R O T,P N E W D T,4C E L E N T,D F G R D0,D F G R D1,N O E L,N P T,L A Y E R,K S P T,K S T E P,K I N C)CI N C L U D E'A B A_P A R A M.I N C'CC H A R A C T E R*80C M N A M ED I ME N S I O N S T R E S S(N T E N S),S T A T E V(N S T A T V),1D D S D D E(N T E N S,N T E N S),2D D S D D T(N T E N S),D R P L D E(N T E N S),3S T R A N(N T E N S),D S T R A N(N T E N S),T I M E(2),P R E D E F(1),D P R E D(1),4P R O P S(N P R O P S),C O O R D S(3),D R O T(3,3),D F G R D0(3,3),D F G R D1(3,3)D I ME N S I O N D S T R E S(6),D(3,3)CC E V A L U A T E N E W S T R E S S T E N S O RCE V=0.D E V=0.D O K1=1,N D IE V=E V+S T R A N(K1)D E V=D E V+D S T R A N(K1)E N D D OCT E R M1=.5*D T I M E+P R O P S(5)T E R M1I=1./T E R M1T E R M2=(.5*D T I M E*P R O P S(1)+P R O P S(3))*T E R M1I*D E VT E R M3=(D T I M E*P R O P S(2)+2.*P R O P S(4))*T E R M1ICD O K1=1,N D ID S T RE S(K1)=T E R M2+T E R M3*D S T R A N(K1)1+D T I M E*T E R M1I*(P R O P S(1)*E V2+2.*P R O P S(2)*S T R A N(K1)-S T R E S S(K1))S T R E S S(K1)=S T R E S S(K1)+D S T R E S(K1)E N D D OCT E R M2=(.5*D T I M E*P R O P S(2)+P R O P S(4))*T E R M1II1=N D ID O K1=1,N S H RI1=I1+1D S T RE S(I1)=T E R M2*D S T R A N(I1)+1D T I M E*T E R M1I*(P R O P S(2)*S T R A N(I1)-S T R E S S(I1)) S T R E S S(I1)=S T R E S S(I1)+D S T R E S(I1)E N D D OCC C R E A T E N E W J A C O B I A NCT E R M2=(D T I M E*(.5*P R O P S(1)+P R O P S(2))+P R O P S(3)+12.*P R O P S(4))*T E R M1IT E R M3=(.5*D T I M E*P R O P S(1)+P R O P S(3))*T E R M1ID O K1=1,N TE N SD O K2=1,N TE N SD D S D D E(K2,K1)=0.E N D D OE N D D OCD O K1=1,N D ID D S D D E(K1,K1)=TE R M2E N D D OCD O K1=2,N D IN2=K1–1D O K2=1,N2D D S D D E(K2,K1)=TE R M3D D S D D E(K1,K2)=TE R M3E N D D OE N D D OT E R M2=(.5*D T I M E*P R O P S(2)+P R O P S(4))*T E R M1II1=N D ID O K1=1,N S H RI1=I1+1D D S D D E(I1,I1)=TE R M2E N D D OCC T O T A L C H A N G E I N S P E C I F I C E N E R G YCT D E=0.D O K1=1,N TE N ST D E=T D E+(S T R E S S(K1)-.5*D S T R E S(K1))*D S T R A N(K1)E N D D OCC C H A N G E I N S P E C I F I C E L A S T I C S T R A I N E N E R G YCT E R M1=P R O P S(1)+2.*P R O P S(2)D O K1=1,N D ID(K1,K1)=T E R M1E N D D OD O K1=2,N D IN2=K1-1D O K2=1,N2D(K1,K2)=P R O P S(1)D(K2,K1)=P R O P S(1)E N D D OE N D D OD E E=0.D O K1=1,N D IT E R M1=0.T E R M2=0.D O K2=1,N D IT E R M1=T E R M1+D(K1,K2)*S T R A N(K2)T E R M2=T E R M2+D(K1,K2)*D S T R A N(K2)E N D D OD E E=D E E+(T E R M1+.5*T E R M2)*D S T R A N(K1)E N D D OI1=N D ID O K1=1,N S H RI1=I1+1D E E=D E E+P R O P S(2)*(S T R A N(I1)+.5*D S T R A N(I1))*D S T R A N(I1)E N D D OS S E=S S E+D E ES C D=S C D+T D E– D E ER E T U R NE N D。

完整word版ABAQUS中Fortran子程序调用方法—自己总结

完整word版ABAQUS中Fortran子程序调用方法—自己总结

第一种方法:在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在Usersubroutine file中点击Select按钮,从弹出对话框中选择你要调用的子程序文件(后缀为.for或.f)。

第二种方法:1. 建立工作目录?崠2. 将Abaqus安装目录\6.4-pr11\site下的aba_param_dp.inc 或aba_param_sp.inc 拷贝到工作目录,并改名为aba_param.inc;3. 将编译的fortran程序拷贝到工作目录;4.将.obj文件拷贝到工作目录;5. 建立好输入文件.inp;6. 运行abaqus job=inp_name user=fortran name即可。

以下是网上摘录的资料,供参考:用户进行二次开发时,要在命令行窗口执行下面的命令:abaqus job=job_name user=sub_nameABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库standardU.lib和动态库standardU.dll,还有其它一些临时文件,而它的主程序(如standard.exe和explicit.exe等)则没有任何改变,由此看来ABAQUS是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。

这种运行机制与ANSYS、LS-DYNA、marc等都不同。

这些生成的临时文件要到文件夹C:\Documents and Settings\Administrator\Local Settings\Temp\中才能找到,这也是6楼所说的藏了一些工作吧,大家不妨试一下。

1子程序格式(程序后缀是.f; .f90; .for;.obj??)答:我试过,.for格是应该是不可以的,至少6.2和6.3版本应该是不行,其他的没用过,没有发言权。

在Abaqus中,运行abaqus j=jobname user=username时,默认的用户子程序后缀名是.for(.f,.f90应该都不行的,手册上也有讲过),只有在username.for文件没有找到的情况下,才会去搜索username.obj,如果两者都没有,就会报错误信息。

ABAQUS中Fortran子程序调用方法—自己总结

ABAQUS中Fortran子程序调用方法—自己总结

ABAQUS中Fortran子程序调用方法—自己总结第一种方法: 在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在User subroutine file中点击Select按钮,从弹出对话框中选择您要调用的子程序文件(后缀为、for或、f)。

第二种方法:1、建立工作目录2、将Abaqus安装目录\6、4-pr11\site下的aba_param_dp、inc 或aba_param_sp、inc拷贝到工作目录,并改名为aba_param、inc;3、将编译的fortran程序拷贝到工作目录;4、将、obj文件拷贝到工作目录;5、建立好输入文件、inp;6、运行abaqus job=inp_name user=fortran name即可。

以下就是网上摘录的资料,供参考:用户进行二次开发时,要在命令行窗口执行下面的命令:abaqus job=job_name user=sub_nameABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库standardU、lib与动态库standardU、dll,还有其它一些临时文件,而它的主程序(如standard、exe与explicit、exe等)则没有任何改变,由此瞧来ABAQUS就是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。

这种运行机制与ANSYS、LS-DYNA、marc等都不同。

这些生成的临时文件要到文件夹C:\Documents and Settings\Administrator\Local Settings\Temp\中才能找到,这也就是6楼所说的藏了一些工作吧,大家不妨试一下。

1子程序格式(程序后缀就是、f; 、f90; 、for;、obj??)答:我试过,、for格就是应该就是不可以的,至少6、2与6、3版本应该就是不行,其她的没用过,没有发言权。

在Abaqus中,运行abaqus j=jobname user=username时,默认的用户子程序后缀名就是、for(、f,、f90应该都不行的,手册上也有讲过),只有在username、for文件没有找到的情况下,才会去搜索username、obj,如果两者都没有,就会报错误信息。

ABAQUS用户子程序

ABAQUS用户子程序
这个没有任何关系的,这个错误将在ABAQUS调用UMAT的时候自动会找到,仅仅有这个错误
将没有任何影响的。也就是说,ABAQUS中调用的时候,实际并不存在这个错误。FT,忘了
说一句了,你把ABA_PARAM.INC.dp或ABA_PARAM.INC.sp拷到你的程序工作空间后 ,应该将
几个关于子程序的问题及相应解答
Q 本人在用umat作本构模型时,
static,
1,500,0.000001,0.1 此时要求的增量步很多,即每次增量要很小,
static
1,500 时,在弹性向塑性过度时,出现错误,增量过大,出现尖点.
A YOU CAN TRY AS FOLLOWS
PARAMETER (PLOAD=100.E4)
IF (KSTEP.EQ.1) THEN !当STEP=1时的荷载大小
P=PLOAD
ELSE IF (KSTEP.EQ.2) THEN !当STEP=2时的荷载大小
P=COORDS(1)PLOAD !施加在积分点的荷载P是坐标的函数
态变量矩阵中的任何矢量或者张量都必须通过旋转来考虑材料的刚体运动。
状态变量矩阵的维数,等于关键字“DEPVAR”定义的数值。状态变量矩阵的维数通过ABAQUS 输入文件中的关键字“DEPVAR”定义,关键字下面数据行的数值即为状态变量矩阵的维数。
材料常数的个数,等于关键字“USER MATERIAL”中“CONSTANTS”常数设定的值。
STRESS (NTENS)
应力张量矩阵,对应NDI 个直接分量和NSHR 个剪切分量。在增量步的开始,应力张量矩阵中的数值通过UMAT 和主程序之间的接口传递到UMAT 中,在增量步的结束UMAT 将对应力张量矩阵更新。对于包含刚体转动的有限应变问题,一个增量步调用UMAT 之前就已经对应力张量的进行了刚体转动,因此在UMAT 中只需处理应力张量的共旋部分。UMAT 中应力张量的度量为柯西(真实)应力。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.1.38 UINTERUser subroutine to define surface interaction behavior for contact surfaces.Product: Abaqus/StandardReferences“User-defined interfacial constitutive behavior,” Section 36.1.6 of the Abaqus Analysis User'sManual*SURFACE INTERACTION“U I N T E R,” Section 4.1.20 of the Abaqus Verification ManualOverviewUser subroutine U I N T E R:is called at points on the slave surface of a contact pair with a user-defined constitutive modeldefining the interaction between the surfaces;can be used to define the mechanical (normal and shear) and thermal (heat flux) interactions between surfaces;can be used when the normal surface behavior (contact pressure versus overclosure) models(“Contact pressure-overclosure relationships,” Section 36.1.2 of the Abaqus Analysis User'sManual) or the extended versions of the classical Coulomb friction model (“Frictional behavior,”Section 36.1.5 of the Abaqus Analysis User's Manual) are too restrictive and a more complexdefinition of normal and shear transmission between contacting surfaces, including damping properties, are required;must provide the entire definition of the mechanical and the thermal interaction between the contacting surfaces (hence, no additional surface behaviors can be specified in conjunction with this capability);can provide the entire definition of viscous and structural damping for interaction between thecontacting surfaces for direct steady-state dynamic analysis;can use and update solution-dependent state variables; andis not available for contact elements.User subroutine interfaceS U B R O U T I N E U I N T E R(S T R E S S,D D S D D R,D V I S C O U S,D S T R U C T U R A L,F L U X,D D F D D T,1D D S D D T,D D F D D R,S T A T E V,S E D,S F D,S P D,S V D,S C D,P N E W D T,R D I S P,2D R D I S P,3T E M P,D T E M P,P R E D E F,D P R E D,T I M E,D T I M E,F R E Q R,C I N A M E,S L N A M E,4M S N A M E,5P R O P S,C O O R D S,A L O C A L D I R,D R O T,A R E A,C H R L N G T H,N O D E,N D I R,N S T A T V,6N P R E D,N P R O P S,M C R D,K S T E P,K I N C,K I T,L I N P E R,L O P E N C L O S E,L S T A T E,7L S D I,L P R I N T)CI N C L U D E'A B A_P A R A M.I N C'CC H A R A C T E R*80C I N A M E,S L N A M E,M S N A M ED I ME N S I O N S T R E S S(N D I R),D D S D D R(N D I R,N D I R),F L U X(2),D D F D D T(2,2),1D D S D D T(N D I R,2),D D F D D R(2,N D I R),S T A T E V(N S T A T V),2R D I S P(N D I R),D R D I S P(N D I R),T E M P(2),D T E M P(2),P R E D E F(2,N P R E D),3D P R E D(2,N P R E D),T I M E(2),P R O P S(N P R O P S),C O O R D S(M C R D),4A L O C A L D I R(3,3),D R O T(2,2),D V I S C O U S(N D I R,N D I R),5D S T R U C T U R A L(N D I R,N D I R)user coding to define S T R E S S,D D S D D R,F L U X,D D F D D T,D D S D D T,D D F D D R,and, optionally,S T A T E V,S E D,S F D,S P D,S V D,S C D,P N E W D T,L O P E N C L O S E,L S T A T E,L S D I,D V I S C O U S,D S T R U C T U R A LR E T U R NE N DVariables to be definedS T R E S S(N D I R)This array is passed in as the stress between the slave and master surfaces at the beginning of theincrement and must be updated in this routine to be the stress at the end of the increment. The stress must be defined in a local coordinate system (see A L O C D I R). This variable must be defined for astress/displacement, a fully coupled temperature-displacement, or a coupled thermal-electrical-structural analysis. The sign convention for stresses is that a positive stress indicates compression across contact surfaces, while a negative stress indicates tension.D D S D D R(N D I R,N D I R)Interface stiffness matrix. D D S D D R(I,J)defines the change in the Ith stress component at the end of the time increment caused by an infinitesimal perturbation of the Jth component of the relativedisplacement increment array. Unless you invoke the unsymmetric equation solution capability in the contact property model definition (“Use with the unsymmetric equation solver in Abaqus/Standard” in “User-defined interfacial constitutive behavior,” Section 36.1.6 of the Abaqus Analysis User'sManual), Abaqus/Standard will use only the symmetric part of D D S D D R. For a particular off-diagonal (I,J) entry, the symmetrization is done by halving the sum of (I,J) and (J,I) components. D D S D D R must be defined for a stress/displacement, a fully coupled temperature-displacement, or a coupled thermal-electrical-structural analysis to ensure proper convergence characteristics.F L U X(2)Magnitude of the heat flux flowing into the slave and master surfaces, respectively. This array is passed in as the value at the beginning of the increment and must be updated to the flux at the end of theincrement. The convention for defining the flux is that a positive flux indicates heat flowing into asurface, while a negative flux indicates heat flowing out of the surface. This variable must be defined fora heat transfer, a fully coupled temperature-displacement, or a coupled thermal-electrical-structuralanalysis. The sum of these two flux terms represents the heat generated in the interface, and thedifference in these flux terms represents the heat conducted through the interface.D D F D D T(2,2)The negative of the variation of the flux at the two surfaces with respect to their respectivetemperatures, for a fixed relative displacement. This variable must be defined for a heat transfer, a fully coupled temperature-displacement, or a coupled thermal-electrical-structural analysis to ensure proper convergence characteristics. The entries in the first row contain the negatives of the derivatives ofF L U X(1)with respect to T E M P(1)and T E M P(2), respectively. The entries in the second row containthe negatives of the corresponding derivatives of F L U X(2).D D S D D T(N D I R,2)Variation of the stress with respect to the temperatures of the two surfaces for a fixed relativedisplacement. This variable is required only for thermally coupled elements (in a fully coupledtemperature-displacement or a coupled thermal-electrical-structural analysis), in which the stress is a function of the surface temperatures. D D S D D T(N D I R,1)corresponds to the slave surface, andD D S D D T(N D I R,2)corresponds to the master surface.D D F D D R(2,N D I R)Variation of the flux with respect to the relative displacement between the two surfaces. This variable is required only for thermally coupled elements (in a fully coupled temperature-displacement or a coupled thermal-electrical-structural analysis), in which the flux is a function of the relative displacement.D D F D D R(1,N D I R)corresponds to the slave surface, and D D F D D R(2,N D I R)corresponds to the mastersurface.Variables that can be updatedD V I S C O U S(N D I R,N D I R)Interface viscous damping matrix that can be used only in direct steady-state dynamic analysis.D V I S C O U S(I,J)defines an element in the material viscous damping matrix at the current frequency.Abaqus/Standard requires that this element is defined as a damping value for each of the (I, J) entries times the current frequency value F R E Q R obtained from the argument list.Unless you invoke the unsymmetric equation solution capability in the contact property model definition (“Use with the unsymmetric equation solver in Abaqus/Standard” in “User-defined interfacialconstitutive behavior,” Section 36.1.6 of the Abaqus Analysis User's Manual), Abaqus/Standard uses only the symmetric part of D V I S C O U S. For a particular off-diagonal (I, J) entry the symmetrization is done by halving the sum of the (I, J) and (J, I) components.D S T R U C T U R A L(N D I R,N D I R)Interface structural damping matrix that can be used only in direct steady-state dynamic analysis.D S T R U C T U R A L(I,J)defines an element in the material structural damping matrix.Unless you invoke the unsymmetric equation solution capability in the contact property model definition(“Use with the unsymmetric equation solver in Abaqus/Standard” in “User-defined interfacialconstitutive behavior,” Section 36.1.6 of the Abaqus Analysis User's Manual), Abaqus/Standard uses only the symmetric part of D S T R U C T U R A L. For a particular off-diagonal (I, J) entry the symmetrization is done by halving the sum of the (I, J) and (J, I) components.S T A T E V(N S T A T V)An array containing the solution-dependent state variables. These are passed in as values at thebeginning of the increment and must be returned as values at the end of the increment. You define the number of available state variables as described in“Allocating space” in “User subroutines: overview,”Section 18.1.1 of the Abaqus Analysis User's Manual.S E DThis variable is passed in as the value of the elastic energy density at the start of the increment and should be updated to the elastic energy density at the end of the increment. This variable is used for output only and has no effect on other solution variables. It contributes to the output variable ALLSE. S F DThis variable should be defined as the incremental frictional dissipation. The units are energy per unit area. This variable is used for output only and has no effect on other solution variables. It contributes to the output variables ALLFD and SFDR (and related variables). For computing its contribution toSFDR, S F D is divided by the time increment.S P DThis variable should be defined as the incremental dissipation due to plasticity effects in the interfacial constitutive behavior. The units are energy per unit area. This variable is used for output only and has no effect on other solution variables. It contributes to the output variable ALLPD.S V DThis variable should be defined as the incremental dissipation due to viscous effects in the interfacial constitutive behavior. The units are energy per unit area. This variable is used for output only and has no effect on other solution variables. It contributes to the output variable ALLVD.S C DThis variable should be defined as the incremental dissipation due to creep effects in the interfacialconstitutive behavior. The units are energy per unit area. This variable is used for output only and has no effect on other solution variables. It contributes to the output variable ALLCD.P N E W D TRatio of suggested new time increment to the time increment currently being used (D T I M E, see below).This variable allows you to provide input to the automatic time incrementation algorithms inAbaqus/Standard (if automatic time incrementation is chosen).P N E W D T is set to a large value before each call to U I N T E R.If P N E W D T 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 theautomatic time integration algorithms is P N E W D T × D T I M E, where the P N E W D T used is the minimum value for all calls to user subroutines that allow redefinition of P N E W D T for this iteration.If P N E W D T 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. Thesuggested new time increment provided to the automatic time integration algorithms is P N E W D T ×D T I M E, where the P NE W D T 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 P N E W D T greater than1.0 will be ignored and values of P N E W D T less than 1.0 will cause the job to terminate.L O P E N C L O S EAn integer flag that is used to track the contact status in situations where user subroutine U I N T E R is used to model standard contact between two surfaces, like the default hard contact model inAbaqus/Standard. It comes in as the value at the beginning of the current iteration and should be set to the value at the end of the current iteration. It is set to –1 at the beginning of the analysis beforeU I N T E R is called. You should set it to 0 to indicate an open status and to 1 to indicate a closed status.A change in this flag from one iteration to the next will have two effects. It will result in output relatedto a change in contact status if you request a detailed contact printout in the message file (“TheAbaqus/Standard message file” in “Output,” Section 4.1.1 of the Abaqus Analysis User's Manual). In addition, it will also trigger a severe discontinuity iteration. Any time this flag is reset to a value of –1, Abaqus/Standard assumes that the flag is not being used. A change in this flag from –1 to another value or vice versa will not have any of the above effects.L S T A T EAn integer flag that should be used in non-standard contact situations where a simple open/close status is not appropriate or enough to describe the state. It comes in as the value at the beginning of thecurrent iteration and should be set to the value at the end of the current iteration. It is set to –1 at the beginning of the analysis before U I N T E R is called. It can be assigned any user-defined integer value, each corresponding to a different state. You can track changes in the value of this flag and use it to output appropriate diagnostic messages to the message file (unit 7). You may choose to outputdiagnostic messages only when a detailed contact printout is requested (“The Abaqus/Standardmessage file” in “Output,” Section 4.1.1 of the Abaqus Analysis User's Manual). In the latter case, the L P R I N T parameter is useful. In conjunction with the L S T A T E flag, you may also utilize the L S D I flag to trigger a severe discontinuity iteration any time the state changes from one iteration to the next. Any time this flag is reset to a value of –1, Abaqus/Standard assumes that the flag is not being used.L S D IThis flag is set to 0 before each call to U I N T E R and should be set to 1 if the current iteration should be treated as a severe discontinuity iteration. This would typically be done in non-standard contactsituations based on a change in the value of the L S T A T E flag from one iteration to the next. The use of this flag has no effect when the L O P E N C L O S E flag is also used. In that case, severe discontinuityiterations are determined based on changes in the value of L O P E N C L O S E alone.Variables passed in for informationR D I S P(N D I R)An array containing the current relative positions between the two surfaces at the end of the increment.The first component is the relative position of the point on the slave surface, with respect to the master surface, in the normal direction. The second and third components, if applicable, are the accumulated incremental relative tangential displacements, measured from the beginning of the analysis. For therelative position in the normal direction a negative quantity represents an open status, while a positive quantity indicates penetration into the master surface. For open points on the slave surface for which no pairing master is found, the first component is a very large negative number (–1 × 1036). The local directions in which the relative displacements are defined are stored in A L O C A L D I R.D R D I S P(N D I R)An array containing the increments in relative positions between the two surfaces.T E M P(2)Temperature at the end of the increment at a point on the slave surface and the opposing mastersurface, respectively.D TE M P(2)Increment in temperature at the point on the slave surface and the opposing master surface,respectively.P R E D E F(2,N P R E D)An array containing pairs of values of all the predefined field variables at the end of the currentincrement (initial values at the beginning of the analysis and current values during the analysis). The first value in a pair, P R E D E F(1,N P R E D), corresponds to the value at the point on the slave surface, and the second value, P F R E D E F(2,N P R E D), corresponds to the value of the field variable at the nearest point on the opposing surface.D P RE D(2,N P R E D)Array of increments in predefined field variables.T I M E(1)Value of step time at the end of the increment.T I M E(2)Value of total time at the end of the increment.D T I M ECurrent increment in time.F R E Q RCurrent frequency for direct steady-state dynamic analysis in rad/time.C I N A M EUser-specified surface interaction name, left justified.S L N A M ESlave surface name.M S N A M EMaster surface name.P R O P S(N P R O P S)User-specified array of property values to define the interfacial constitutive behavior between thecontacting surfaces.C O O RD S(M C R D)An array containing the current coordinates of this point.A L O C A L D I R(3,3)An array containing the direction cosines of the local surface coordinate system. The directions are stored in columns. For example, A L O C A L D I R(1,1), A L O C A L D I R(2,1), and A L O C A L D I R(3,1)give the (1, 2, 3) components of the normal direction. Thus, the first direction is the normal direction to the surface, and the remaining two directions are the slip directions in the plane of the surface. The local system is defined by the geometry of the master surface. The convention for the local directions is the same as the convention in situations where the model uses the built-in contact capabilities inAbaqus/Standard (described in“Contact formulations in Abaqus/Standard,” Section 37.1.1 of the Abaqus Analysis User's Manual, for the tangential directions).D R O T(2,2)Rotation increment matrix. For contact with a three-dimensional rigid surface, this matrix represents the incremental rotation of the surface directions relative to the rigid surface. It is provided so that vector-or tensor-valued state variables can be rotated appropriately in this subroutine. Relative displacement components are already rotated by this amount before U I N T E R is called. This matrix is passed in as a unit matrix for two-dimensional and axisymmetric contact problems.A R E ASurface area associated with the contact point.C H R L N G T HCharacteristic contact surface face dimension.N O D EUser-defined global slave node number (or internal node number for models defined in terms of an assembly of part instances) involved with this contact point. Corresponds to the predominant slave node of the constraint if the surface-to-surface contact formulation is used.N D I RNumber of force components at this point.N S T A T VNumber of solution-dependent state variables.N P R E DNumber of predefined field variables.N P R O P SUser-defined number of property values associated with this interfacial constitutive model (“Interfacial constants” in “User-defined interfacial constitutive behavior,” Section 36.1.6 of the Abaqus Analysis User's Manual).M C R DNumber of coordinate directions at the contact point.K S T E PStep number.K I N CIncrement number.K I TIteration number. K I T=0 for the first assembly, K I T=1 for the first recovery/second assembly,K I T=2 for the second recovery/third assembly, and so on.L I N P E RLinear perturbation flag. L I N P E R=1 if the step is a linear perturbation step. L I N P E R=0 if the step is a general step. For a linear perturbation step, the inputs to user subroutine U I N T E R represent perturbation quantities about the base state. The user-defined quantities in U I N T E R are also perturbation quantities.The Jacobian terms should be based on the base state. No change in contact status should occurduring a linear perturbation step.L P R I N TThis flag is equal to 1 if a detailed contact printout to the message file is requested and 0 otherwise (“The Abaqus/Standard message file” in “Output,” Section 4.1.1 of the Abaqus Analysis User'sManual). This flag can be used to print out diagnostic messages regarding changes in contact statusselectively only when a detailed contact printout is requested.。

相关文档
最新文档