关键词不能为空

当前您在: 主页 > 英语 >

abaqus中UMAT子程序编写方法

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 05:41
tags:

-

2021年2月28日发(作者:peak是什么意思)


UMAT


User subroutine to define a material's mechanical behavior.



Product:


Abaqus/Standard


Warning:


The use of this subroutine generally requires considerable


expertise. You are cautioned that the implementation of any realistic


constitutive model requires extensive development and testing. Initial


testing on a single-element model with prescribed traction loading is


strongly recommended.


References



?



?



?



?



?




User-defined mechanical material behavior,



Section 25.7.1 of the


Abaqus Analysis User's Manual




User- defined thermal material behavior,



Section 25.7.2 of the


Abaqus Analysis User's Manual



*USER MATERIAL




SDVINI,



Section 4.1.11 of the Abaqus Verification Manual




UMAT


and


UHYPER,



Section


4.1.21


of


the


Abaqus


Verification


Manual



Overview



User subroutine


UMAT


:


?



?



?



?



?



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 a user-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 the increment for which it is called;


must provide the material Jacobian matrix,


, for the


?



mechanical constitutive model;


?



can be used in conjunction with user subroutine


USDFLD


to redefine


any field variables before they are passed in; and


?



is described further in



User-defined mechanical material


behavior,



Section 25.7.1 of the Abaqus Analysis User's Manual


.


Storage of stress and strain components



In the stress and strain arrays and in the matrices DDSDDE, DDSDDT, and


DRPLDE,


direct


components


are


stored


first,


followed


by


shear


components.


There are NDI direct and NSHR engineering shear components. The order of


the components is defined in



Conventions,



Section 1.2.2 of the Abaqus


Analysis User's Manual


. Since the number of active stress and strain


components varies between element types, the routine must be coded to


provide for all element types with which it will be used.


Defining local orientations



If a local orientation (



Orientations,



Section 2.2.5 of the Abaqus


Analysis


User's


Manual


)


is


used


at


the


same


point


as


user


subroutine


UMAT,


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.


Stability



You 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 UMAT.


Convergence rate



DDSDDE and



for coupled temperature- displacement and coupled


thermal- electrical-structural analyses



DDSDDT, DRPLDE, and DRPLDT 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 (DDSDDE) 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 types



There are several special considerations that need to be noted.


Availability of deformation gradient


The 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 DFGRD0(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 gradient



is passed into user subroutine


UMAT


. For more details, see



Solid


isoparametric quadrilaterals and hexahedra,



Section 3.2.4 of the Abaqus


Theory Manual


.


Beams and shells that calculate transverse shear energy


If


user


subroutine


UMAT



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


28.6.4


of


the


Abaqus


Analysis


User's


Manual


,


and



Choosing


a


beam


element,



Section 28.3.3 of the Abaqus Analysis User's Manual


, for information on


specifying this stiffness.


Open-section beam elements


When


user


subroutine


UMAT



is


used


to


describe


the


material


response


of


beams


with open sections (for example, an I-section), the torsional stiffness


is obtained as



where


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,



Section


28.3.3


of the Abaqus Analysis User's Manual


).


Elements with hourglassing modes


If 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


26.1.4


of


the


Abaqus


Analysis User's Manual


, for information on specifying the stiffness


factor.


Pipe-soil interaction elements


The constitutive behavior of the pipe-soil interaction elements (see



Pipe-soil interaction elements,



Section 31.12.1 of the Abaqus Analysis


User's Manual


) 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”


(STRAN


and


DSTRAN).


The


corresponding


forces


per unit length must be defined in the STRESS 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 (NTENS=NDI=2, and NSHR=0). For three


-dimensional


elements


three


components


of


“stress”


and


“strain”


exist


(NTENS=NDI=3,



and NSHR=0).


Large volume changes with geometric nonlinearity



If 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 as



and



For rate-form constitutive laws, the exact consistent Jacobian is given


by



Use with incompressible elastic materials



For


user-defined


incompressible


elastic


materials,


user


subroutine


UHYPER



should be used rather than user subroutine


UMAT


. In


UMAT


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 from



If


a


hybrid


element


is


used


with


user


subroutine


UMAT


,


Abaqus/Standard


will


replace


the


pressure


stress


calculated


from


your


definition


of


STRESS


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


UMAT


. 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


UMAT


, which increases the risk of volumetric locking.


Increments for which only the Jacobian can be defined



Abaqus/Standard passes zero strain increments into user subroutine


UMAT



to start the first increment of all the steps and all increments of steps


for which you have suppressed extrapolation (see



Procedures: overview,



Section 6.1.1


of the


Abaqus Analysis User's Manual


). In


this case you can


define only the Jacobian (DDSDDE).


Utility routines



Several utility routines may help in coding user subroutine


UMAT


. 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


.


User subroutine interface



SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,


1 RPL,DDSDDT,DRPLDE,DRPLDT,


2 STRA N,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME ,


3 NDI,NSHR,NTENS,NSTATV,PROPS,NP ROPS,COORDS,DROT,PNEWDT,


4 CELENT, DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)


C


INCLUDE 'ABA_'


C


CHARACTER*80 CMNAME


DIMENSION STRESS(NTENS),STATEV(NSTATV),


1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),


2 STRAN(NTENS),DSTRAN(NTENS),TIME( 2),PREDEF(1),DPRED(1),


3 PROPS(NPR OPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)





user coding to define


DDSDDE, STRESS, STATEV, SSE, SPD, SCD



and, if necessary,


RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDT




RETURN


END


Variables to be defined



In all situations


DDSDDE(NTENS,NTENS)


Jacobian matrix of the constitutive model,


, where


are the


stress increments and


are the strain increments. DDSDDE(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


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


DDSDDE.


The


symmetric


part


of


the


matrix


is


calculated


by taking one half the sum of the matrix and its transpose.


STRESS(NTENS)


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


32.2.1


of


the


Abaqus Analysis User's Manual


), this array will contain the initial


stresses at the start of the analysis. The size of this array depends on


the


value


of


NTENS


as


defined


below.


In


finite- strain


problems


the


stress


tensor has already been rotated to account for rigid body motion in the


increment


before


UMAT



is


called,


so


that


only


the


corotational


part


of


the


stress integration should be done in


UMAT


. The measure of stress used is


“true” (Cauchy) stress.



STATEV(NSTATV)


An array containing the solution- dependent state variables. These are


passed in as the values at the beginning of the increment unless they are


updated in user subroutines


USDFLD


or


UEXPAN


, in which case the updated


values are passed in. In all cases STATEV 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 17.1.1


of the Abaqus Analysis User's Manual


.


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 constitutive


behavior. The rotation increment matrix, DROT, is provided for this


purpose.


SSE, SPD, SCD


Specific 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 for energy output.


Only in a fully coupled thermal-stress or a coupled


thermal- electrical-structural analysis


RPL


Volumetric


heat


generation


per


unit


time


at


the


end


of


the


increment


caused


by mechanical working of the material.


DDSDDT(NTENS)


Variation of the stress increments with respect to the temperature.


DRPLDE(NTENS)


Variation of RPL with respect to the strain increments.


DRPLDT


Variation of RPL with respect to the temperature.


Only in a geostatic stress procedure or a coupled pore fluid


diffusion/stress analysis for pore pressure cohesive elements


RPL


RPL is used to indicate whether or not a cohesive element is open to the


tangential


flow


of


pore


fluid.


Set


RPL


equal


to


0


if


there


is


no


tangential


flow;


otherwise,


assign


a


nonzero


value


to


RPL


if


an


element


is


open.


Once


opened, a cohesive element will remain open to the fluid flow.


Variable that can be updated



PNEWDT


Ratio of suggested new time increment to the time increment being used


(DTIME, 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


Manual


), cannot be controlled from within the


UMAT


subroutine.


PNEWDT is set to a large value before each call to


UMAT


.


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 t


he PNEWDT used is the minimum value


for all calls to user subroutines that allow redefinition of PNEWDT for


this iteration.


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.

-


-


-


-


-


-


-


-



本文更新与2021-02-28 05:41,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/679020.html

abaqus中UMAT子程序编写方法的相关文章