ABAQUS_Standard用户材料子程序实例
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。
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用户子程序
ABAQUS用户子程序ABAQUS/Standard subroutines:1.CREEP: Define time-dependent, viscoplastic behavior (creep and swelling).定义和时间相关的、粘塑性的运动(蠕变和膨胀)2. DFLOW: Define nonuniform pore fluid velocity in a consolidation analysis.在压实分析中,定义非均匀孔隙流速度3. DFLUX: Define nonuniform distributed flux in a heat transfer or mass diffusion analysis.在热传递和质量扩散分析中,定义非均匀的分布流量4. DISP: Specify prescribed boundary conditions.指定规定的边界条件5. DLOAD: Specify nonuniform distributed loads.指定非均匀的分布荷载6. FILM: Define nonuniform film coefficient and associated sink temperatures for heattransfer analysis.对热传递分析指定非均匀的膜层散热系数和联合的散热器温度7. FLOW: Define nonuniform seepage coefficient and associated sink pore pressure for consolidation analysis.对压实分析定义非均匀的渗流系数和渗入孔隙压力8. FRIC: Define frictional behavior for contact surfaces.对接触面定义摩擦9. GAPCON: Define conductance between contact surfaces or nodes in a fully coupled temperature-displacement analysis or pure heat transfer analysis.在一个完全耦合的温度—置换分析或者是纯热传递分析中,定义接触面或节点间的导热系数。
ABAQUS用户子程序小例子
实例:最简单的杆件单轴拉伸,材料本构模型采用线弹性模型,E=206000MPa, ν=0.3。
左端约束,右端施加均布力q=1。
Author: xueweek 希望这个小例子能帮助初学者减少一两天的摸索时间1 材料本构模型:σ=Eε在Property 中定义材料时,在General 下选中User Material,输入206000,0.3。
以上两个数值代表E、ν,在用户子程序中代表着PROPS(1)、PROPS(2)。
然后在General下选中Depvar,由于该例子中没有使用状态变量,因此在第一项中输入大于0 的数值即可。
建模大家都会,故省略2 ABAQUS 调用用户子程序大家在论坛上也可以看到很多方法,我这里指介绍最简单的一种。
在Job Manager 中点击Edit 选项,在General 选项的最后一项中选择自己建立好的用户子程序文件。
(注:用户子程序文件可以使用文本编辑器进行编辑,当然也可以用Fortran编译器,如果对自己的用户子程序文件的语法不放心,可以先用Fortan 编译器进行编译,不过编译前要先建立Project,关于Fortran 编译,这里不再介绍)。
完成后,点击submit 即可进行分析。
3 结果以下两张图分布是用户子程序和ABAQUS 自带的材料模型得到的应力云图,可以看出两种图形完全相同。
4 UMAT 子程序对于初学者来说,需要注意的是,FORTRAN 对于程序语言格式上的要求。
例如,对于FORTRAN 语言,前六个字符必须空出来,等等。
检查语法最好的方法就是在FORTRAN 编译器上进行编译。
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)include 'aba_param.inc'CHARACTER*8 CMNAMEDIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),1 DDSDDT(NTENS),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS),2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,3),3 DFGRD0(3,3),DFGRD1(3,3)C UMAT FOR ISOTROPIC ELASTICITYC CANNOT BE USED FOR PLANE STRESSC ----------------------------------------------------------------C PROPS(1) - EC PROPS(2) - NUC ----------------------------------------------------------------CIF (NDI.NE.3) THENWRITE (6,*) 'THIS UMAT MAY ONLY BE USED FOR ELEMENTS1 WITH THREE DIRECT STRESS COMPONENTS'CALL XITENDIFCC ELASTIC PROPERTIESEMOD=PROPS(1)ENU=PROPS(2)EBULK3=EMOD/(1-2*ENU)EG2=EMOD/(1+ENU)EG=EG2/2EG3=3*EGELAM=(EBULK3-EG2)/3CC ELASTIC STIFFNESSCDO K1=1, NDIDO K2=1, NDIDDSDDE(K2, K1)=ELAMEND DODDSDDE(K1, K1)=EG2+ELAMEND DODO K1=NDI+1, NTENSDDSDDE(K1 ,K1)=EGEND DOCC CALCULATE STRESSCDO K1=1, NTENSDO K2=1, NTENSSTRESS(K2)=STRESS(K2)+DDSDDE(K2, K1)*DSTRAN(K1)END DOEND DOCRETURNEND5 INP 输入文件*Heading** Job name: Job-1 Model name: Model-1 ** Generated by:Abaqus/CAE 6.10-1*Preprint, echo=NO, model=NO, history=NO, contact=NO **** PARTS ***Part, name=Part-1*End Part****** A SSEMBLY ***Assembly, name=Assembly ***Instance, name=Part-1-1, part=Part-1 *Node1, 0.0399999991, 0.0399999991, 0.4000000062, 0.0399999991, 0.029*******, 0.4000000063, 0.0399999991, 0.0199999996, 0.4000000064, 0.0399999991, 0.00999999978, 0.4000000065, 0.0399999991, 0., 0.4000000066, 0.0399999991, 0.0399999991, 0.3899999867, 0.0399999991, 0.029*******, 0.3899999868, 0.0399999991, 0.0199999996, 0.3899999869, 0.0399999991, 0.00999999978, 0.38999998610, 0.0399999991, 0., 0.38999998611, 0.0399999991, 0.0399999991, 0.37999999512, 0.0399999991, 0.029*******, 0.37999999513, 0.0399999991, 0.0199999996, 0.37999999514, 0.0399999991, 0.00999999978, 0.37999999515, 0.0399999991, 0., 0.37999999516, 0.0399999991, 0.0399999991, 0.37000000517, 0.0399999991, 0.029*******, 0.37000000518, 0.0399999991, 0.0199999996, 0.37000000519, 0.0399999991, 0.00999999978, 0.37000000520, 0.0399999991, 0., 0.37000000521, 0.0399999991, 0.0399999991, 0.36000001422, 0.0399999991, 0.029*******, 0.36000001423, 0.0399999991, 0.0199999996, 0.36000001424, 0.0399999991, 0.00999999978, 0.36000001425, 0.0399999991, 0., 0.36000001426, 0.0399999991, 0.0399999991, 0.34999999427, 0.0399999991, 0.029*******, 0.34999999428, 0.0399999991, 0.0199999996, 0.34999999429, 0.0399999991, 0.00999999978, 0.34999999430, 0.0399999991, 0., 0.34999999431, 0.0399999991, 0.0399999991, 0.34000000432, 0.0399999991, 0.029*******, 0.34000000433, 0.0399999991, 0.0199999996, 0.34000000434, 0.0399999991, 0.00999999978, 0.34000000435, 0.0399999991, 0., 0.34000000436, 0.0399999991, 0.0399999991, 0.33000001337, 0.0399999991, 0.029*******, 0.33000001338, 0.0399999991, 0.0199999996, 0.33000001339, 0.0399999991, 0.00999999978, 0.33000001340, 0.0399999991, 0., 0.33000001341, 0.0399999991, 0.0399999991, 0.31999999342, 0.0399999991, 0.029*******, 0.31999999343, 0.0399999991, 0.0199999996, 0.31999999344, 0.0399999991, 0.00999999978, 0.31999999345, 0.0399999991, 0., 0.31999999346, 0.0399999991, 0.0399999991, 0.31000000247, 0.0399999991, 0.029*******, 0.31000000248, 0.0399999991, 0.0199999996, 0.31000000249, 0.0399999991, 0.00999999978, 0.31000000250, 0.0399999991, 0., 0.31000000251, 0.0399999991, 0.0399999991, 0.30000001252, 0.0399999991, 0.029*******, 0.30000001253, 0.0399999991, 0.0199999996, 0.30000001254, 0.0399999991, 0.00999999978, 0.30000001255, 0.0399999991, 0., 0.30000001256, 0.0399999991, 0.0399999991, 0.28999999257, 0.0399999991, 0.029*******, 0.28999999258, 0.0399999991, 0.0199999996, 0.28999999259, 0.0399999991, 0.00999999978, 0.28999999260, 0.0399999991, 0., 0.28999999261, 0.0399999991, 0.0399999991, 0.28000000162, 0.0399999991, 0.029*******, 0.28000000163, 0.0399999991, 0.0199999996, 0.28000000164, 0.0399999991, 0.00999999978, 0.28000000165, 0.0399999991, 0., 0.28000000166, 0.0399999991, 0.0399999991, 0.27000001167, 0.0399999991, 0.029*******, 0.27000001168, 0.0399999991, 0.0199999996, 0.27000001169, 0.0399999991, 0.00999999978, 0.27000001170, 0.0399999991, 0., 0.27000001171, 0.0399999991, 0.0399999991, 0.2599999972, 0.0399999991, 0.029*******, 0.2599999973, 0.0399999991, 0.0199999996, 0.2599999976, 0.0399999991, 0.0399999991, 0.25 77, 0.0399999991, 0.029*******, 0.25 78, 0.0399999991, 0.0199999996, 0.25 79, 0.0399999991, 0.00999999978, 0.25 80, 0.0399999991, 0., 0.25 81, 0.0399999991, 0.0399999991, 0.23999999582, 0.0399999991, 0.029*******, 0.23999999583, 0.0399999991, 0.0199999996, 0.23999999584, 0.0399999991, 0.00999999978, 0.23999999585, 0.0399999991, 0., 0.239999995 86, 0.0399999991, 0.0399999991, 0.23000000487, 0.0399999991, 0.029*******, 0.23000000488, 0.0399999991, 0.0199999996, 0.23000000489, 0.0399999991, 0.00999999978, 0.23000000490, 0.0399999991, 0., 0.230000004 91, 0.0399999991, 0.0399999991, 0.21999999992, 0.0399999991, 0.029*******, 0.21999999993, 0.0399999991, 0.0199999996, 0.21999999994, 0.0399999991, 0.00999999978, 0.21999999995, 0.0399999991, 0., 0.219999999 96, 0.0399999991, 0.0399999991, 0.20999999397, 0.0399999991, 0.029*******, 0.20999999398, 0.0399999991, 0.0199999996, 0.20999999399, 0.0399999991, 0.00999999978, 0.209999993 100, 0.0399999991, 0., 0.209999993 101, 0.0399999991, 0.0399999991, 0.200000003 102, 0.0399999991, 0.029*******, 0.200000003 103, 0.0399999991, 0.0199999996, 0.200000003 104, 0.0399999991, 0.00999999978, 0.200000003 105, 0.0399999991, 0., 0.200000003 106, 0.0399999991, 0.0399999991, 0.189999998 107, 0.0399999991, 0.029*******, 0.189999998 108, 0.0399999991, 0.0199999996, 0.189999998 109, 0.0399999991, 0.00999999978, 0.189999998 110, 0.0399999991, 0., 0.189999998 111, 0.0399999991, 0.0399999991, 0.180000007 112, 0.0399999991, 0.029*******, 0.180000007 113, 0.0399999991, 0.0199999996, 0.180000007 114, 0.0399999991, 0.00999999978, 0.180000007 115, 0.0399999991, 0., 0.180000007 116, 0.0399999991, 0.0399999991, 0.170000002 117, 0.0399999991, 0.029*******, 0.170000002 118, 0.0399999991, 0.0199999996, 0.170000002 119, 0.0399999991, 0.00999999978, 0.170000002 120, 0.0399999991, 0., 0.170000002 121, 0.0399999991, 0.0399999991, 0.159999996 122, 0.0399999991, 0.029*******, 0.159999996 123, 0.0399999991, 0.0199999996, 0.159999996 124, 0.0399999991, 0.00999999978, 0.159999996 125, 0.0399999991, 0., 0.159999996 126, 0.0399999991, 0.0399999991, 0.150000006 127, 0.0399999991, 0.029*******, 0.150000006 128, 0.0399999991, 0.0199999996, 0.150000006 129, 0.0399999991, 0.00999999978, 0.150000006 130, 0.0399999991, 0., 0.150000006 131, 0.0399999991, 0.0399999991, 0.140000001 132, 0.0399999991, 0.029*******, 0.140000001 133, 0.0399999991, 0.0199999996, 0.140000001 134, 0.0399999991, 0.00999999978, 0.140000001 135, 0.0399999991, 0., 0.140000001 136, 0.0399999991, 0.0399999991, 0.129999995 137, 0.0399999991, 0.029*******, 0.129999995 138, 0.0399999991, 0.0199999996, 0.129999995 139, 0.0399999991, 0.00999999978, 0.129999995 140, 0.0399999991, 0., 0.129999995 141, 0.0399999991, 0.0399999991, 0.119999997 142, 0.0399999991, 0.029*******, 0.119999997 143, 0.0399999991, 0.0199999996, 0.119999997 144, 0.0399999991, 0.00999999978, 0.119999997 145, 0.0399999991, 0., 0.119999997 146, 0.0399999991, 0.0399999991, 0.109999999 147, 0.0399999991, 0.029*******, 0.109999999 148, 0.0399999991, 0.0199999996, 0.109999999 149, 0.0399999991, 0.00999999978, 0.109999999 150, 0.0399999991, 0., 0.109999999 151, 0.0399999991, 0.0399999991, 0.100000001 152, 0.0399999991, 0.029*******, 0.100000001 153, 0.0399999991, 0.0199999996, 0.100000001156, 0.0399999991, 0.0399999991, 0.0900000036157, 0.0399999991, 0.029*******, 0.0900000036158, 0.0399999991, 0.0199999996, 0.0900000036159, 0.0399999991, 0.00999999978, 0.0900000036160, 0.0399999991, 0., 0.0900000036 161, 0.0399999991, 0.0399999991, 0.0799999982162, 0.0399999991, 0.029*******, 0.0799999982163, 0.0399999991, 0.0199999996, 0.0799999982164, 0.0399999991, 0.00999999978, 0.0799999982165, 0.0399999991, 0., 0.0799999982 166, 0.0399999991, 0.0399999991, 0.0700000003167, 0.0399999991, 0.029*******, 0.0700000003168, 0.0399999991, 0.0199999996, 0.0700000003169, 0.0399999991, 0.00999999978, 0.0700000003170, 0.0399999991, 0., 0.0700000003 171, 0.0399999991, 0.0399999991, 0.0599999987172, 0.0399999991, 0.029*******, 0.0599999987173, 0.0399999991, 0.0199999996, 0.0599999987174, 0.0399999991, 0.00999999978, 0.0599999987175, 0.0399999991, 0., 0.0599999987 176, 0.0399999991, 0.0399999991, 0.0500000007177, 0.0399999991, 0.029*******, 0.0500000007178, 0.0399999991, 0.0199999996, 0.0500000007179, 0.0399999991, 0.00999999978, 0.0500000007180, 0.0399999991, 0., 0.0500000007 181, 0.0399999991, 0.0399999991, 0.0399999991182, 0.0399999991, 0.029*******, 0.0399999991183, 0.0399999991, 0.0199999996, 0.0399999991184, 0.0399999991, 0.00999999978, 0.0399999991185, 0.0399999991, 0., 0.0399999991 186, 0.0399999991, 0.0399999991, 0.029*******187, 0.0399999991, 0.029*******, 0.029*******188, 0.0399999991, 0.0199999996, 0.029*******189, 0.0399999991, 0.00999999978, 0.029*******190, 0.0399999991, 0., 0.029******* 191, 0.0399999991, 0.0399999991, 0.0199999996192, 0.0399999991, 0.029*******, 0.0199999996193, 0.0399999991, 0.0199999996, 0.0199999996194, 0.0399999991, 0.00999999978, 0.0199999996195, 0.0399999991, 0., 0.0199999996 196, 0.0399999991, 0.0399999991, 0.00999999978197, 0.0399999991, 0.029*******, 0.00999999978198, 0.0399999991, 0.0199999996, 0.00999999978199, 0.0399999991, 0.00999999978, 0.00999999978 200, 0.0399999991, 0., 0.00999999978 201, 0.0399999991, 0.0399999991, 0. 202, 0.0399999991, 0.029*******, 0. 203, 0.0399999991, 0.0199999996, 0. 204, 0.0399999991, 0.00999999978, 0. 205, 0.0399999991, 0., 0. 206, 0.029*******, 0.0399999991, 0.400000006207, 0.029*******, 0.029*******, 0.400000006208, 0.029*******, 0.0199999996, 0.400000006209, 0.029*******, 0.00999999978, 0.400000006 210, 0.029*******, 0., 0.400000006 211, 0.029*******, 0.0399999991, 0.389999986212, 0.029*******, 0.029*******, 0.389999986213, 0.029*******, 0.0199999996, 0.389999986214, 0.029*******, 0.00999999978, 0.389999986 215, 0.029*******, 0., 0.389999986 216, 0.029*******, 0.0399999991, 0.379999995217, 0.029*******, 0.029*******, 0.379999995218, 0.029*******, 0.0199999996, 0.379999995219, 0.029*******, 0.00999999978, 0.379999995 220, 0.029*******, 0., 0.379999995 221, 0.029*******, 0.0399999991, 0.370000005222, 0.029*******, 0.029*******, 0.370000005223, 0.029*******, 0.0199999996, 0.370000005224, 0.029*******, 0.00999999978, 0.370000005 225, 0.029*******, 0., 0.370000005 226, 0.029*******, 0.0399999991, 0.360000014227, 0.029*******, 0.029*******, 0.360000014228, 0.029*******, 0.0199999996, 0.360000014229, 0.029*******, 0.00999999978, 0.360000014 230, 0.029*******, 0., 0.360000014 231, 0.029*******, 0.0399999991, 0.349999994232, 0.029*******, 0.029*******, 0.349999994233, 0.029*******, 0.0199999996, 0.349999994236, 0.029*******, 0.0399999991, 0.340000004 237, 0.029*******, 0.029*******, 0.340000004 238, 0.029*******, 0.0199999996, 0.340000004 239, 0.029*******, 0.00999999978, 0.340000004 240, 0.029*******, 0., 0.340000004 241, 0.029*******, 0.0399999991, 0.330000013 242, 0.029*******, 0.029*******, 0.330000013 243, 0.029*******, 0.0199999996, 0.330000013 244, 0.029*******, 0.00999999978, 0.330000013 245, 0.029*******, 0., 0.330000013 246, 0.029*******, 0.0399999991, 0.319999993 247, 0.029*******, 0.029*******, 0.319999993 248, 0.029*******, 0.0199999996, 0.319999993 249, 0.029*******, 0.00999999978, 0.319999993 250, 0.029*******, 0., 0.319999993 251, 0.029*******, 0.0399999991, 0.310000002 252, 0.029*******, 0.029*******, 0.310000002 253, 0.029*******, 0.0199999996, 0.310000002 254, 0.029*******, 0.00999999978, 0.310000002 255, 0.029*******, 0., 0.310000002 256, 0.029*******, 0.0399999991, 0.300000012 257, 0.029*******, 0.029*******, 0.300000012 258, 0.029*******, 0.0199999996, 0.300000012 259, 0.029*******, 0.00999999978, 0.300000012 260, 0.029*******, 0., 0.300000012 261, 0.029*******, 0.0399999991, 0.289999992 262, 0.029*******, 0.029*******, 0.289999992 263, 0.029*******, 0.0199999996, 0.289999992 264, 0.029*******, 0.00999999978, 0.289999992 265, 0.029*******, 0., 0.289999992 266, 0.029*******, 0.0399999991, 0.280000001 267, 0.029*******, 0.029*******, 0.280000001 268, 0.029*******, 0.0199999996, 0.280000001 269, 0.029*******, 0.00999999978, 0.280000001 270, 0.029*******, 0., 0.280000001 271, 0.029*******, 0.0399999991, 0.270000011 272, 0.029*******, 0.029*******, 0.270000011 273, 0.029*******, 0.0199999996, 0.270000011 274, 0.029*******, 0.00999999978, 0.270000011 275, 0.029*******, 0., 0.270000011 276, 0.029*******, 0.0399999991, 0.25999999 277, 0.029*******, 0.029*******, 0.25999999 278, 0.029*******, 0.0199999996, 0.25999999 279, 0.029*******, 0.00999999978, 0.25999999 280, 0.029*******, 0., 0.25999999 281, 0.029*******, 0.0399999991, 0.25 282, 0.029*******, 0.029*******, 0.25 283, 0.029*******, 0.0199999996, 0.25 284, 0.029*******, 0.00999999978, 0.25 285, 0.029*******, 0., 0.25 286, 0.029*******, 0.0399999991, 0.239999995 287, 0.029*******, 0.029*******, 0.239999995 288, 0.029*******, 0.0199999996, 0.239999995 289, 0.029*******, 0.00999999978, 0.239999995 290, 0.029*******, 0., 0.239999995 291, 0.029*******, 0.0399999991, 0.230000004 292, 0.029*******, 0.029*******, 0.230000004 293, 0.029*******, 0.0199999996, 0.230000004 294, 0.029*******, 0.00999999978, 0.230000004 295, 0.029*******, 0., 0.230000004 296, 0.029*******, 0.0399999991, 0.219999999 297, 0.029*******, 0.029*******, 0.219999999 298, 0.029*******, 0.0199999996, 0.219999999 299, 0.029*******, 0.00999999978, 0.219999999 300, 0.029*******, 0., 0.219999999 301, 0.029*******, 0.0399999991, 0.209999993 302, 0.029*******, 0.029*******, 0.209999993 303, 0.029*******, 0.0199999996, 0.209999993 304, 0.029*******, 0.00999999978, 0.209999993 305, 0.029*******, 0., 0.209999993 306, 0.029*******, 0.0399999991, 0.200000003 307, 0.029*******, 0.029*******, 0.200000003 308, 0.029*******, 0.0199999996, 0.200000003 309, 0.029*******, 0.00999999978, 0.200000003 310, 0.029*******, 0., 0.200000003 311, 0.029*******, 0.0399999991, 0.189999998 312, 0.029*******, 0.029*******, 0.189999998 313, 0.029*******, 0.0199999996, 0.189999998316, 0.029*******, 0.0399999991, 0.180000007 317, 0.029*******, 0.029*******, 0.180000007 318, 0.029*******, 0.0199999996, 0.180000007 319, 0.029*******, 0.00999999978, 0.180000007 320, 0.029*******, 0., 0.180000007 321, 0.029*******, 0.0399999991, 0.170000002 322, 0.029*******, 0.029*******, 0.170000002 323, 0.029*******, 0.0199999996, 0.170000002 324, 0.029*******, 0.00999999978, 0.170000002 325, 0.029*******, 0., 0.170000002 326, 0.029*******, 0.0399999991, 0.159999996 327, 0.029*******, 0.029*******, 0.159999996 328, 0.029*******, 0.0199999996, 0.159999996 329, 0.029*******, 0.00999999978, 0.159999996 330, 0.029*******, 0., 0.159999996 331, 0.029*******, 0.0399999991, 0.150000006 332, 0.029*******, 0.029*******, 0.150000006 333, 0.029*******, 0.0199999996, 0.150000006 334, 0.029*******, 0.00999999978, 0.150000006 335, 0.029*******, 0., 0.150000006 336, 0.029*******, 0.0399999991, 0.140000001 337, 0.029*******, 0.029*******, 0.140000001 338, 0.029*******, 0.0199999996, 0.140000001 339, 0.029*******, 0.00999999978, 0.140000001 340, 0.029*******, 0., 0.140000001 341, 0.029*******, 0.0399999991, 0.129999995 342, 0.029*******, 0.029*******, 0.129999995 343, 0.029*******, 0.0199999996, 0.129999995 344, 0.029*******, 0.00999999978, 0.129999995 345, 0.029*******, 0., 0.129999995 346, 0.029*******, 0.0399999991, 0.119999997 347, 0.029*******, 0.029*******, 0.119999997 348, 0.029*******, 0.0199999996, 0.119999997 349, 0.029*******, 0.00999999978, 0.119999997 350, 0.029*******, 0., 0.119999997 351, 0.029*******, 0.0399999991, 0.109999999 352, 0.029*******, 0.029*******, 0.109999999 353, 0.029*******, 0.0199999996, 0.109999999 354, 0.029*******, 0.00999999978, 0.109999999 355, 0.029*******, 0., 0.109999999 356, 0.029*******, 0.0399999991, 0.100000001 357, 0.029*******, 0.029*******, 0.100000001 358, 0.029*******, 0.0199999996, 0.100000001 359, 0.029*******, 0.00999999978, 0.100000001 360, 0.029*******, 0., 0.100000001 361, 0.029*******, 0.0399999991, 0.0900000036 362, 0.029*******, 0.029*******, 0.0900000036 363, 0.029*******, 0.0199999996, 0.0900000036 364, 0.029*******, 0.00999999978, 0.0900000036 365, 0.029*******, 0., 0.0900000036 366, 0.029*******, 0.0399999991, 0.0799999982 367, 0.029*******, 0.029*******, 0.0799999982 368, 0.029*******, 0.0199999996, 0.0799999982 369, 0.029*******, 0.00999999978, 0.0799999982 370, 0.029*******, 0., 0.0799999982 371, 0.029*******, 0.0399999991, 0.0700000003 372, 0.029*******, 0.029*******, 0.0700000003 373, 0.029*******, 0.0199999996, 0.0700000003 374, 0.029*******, 0.00999999978, 0.0700000003 375, 0.029*******, 0., 0.0700000003 376, 0.029*******, 0.0399999991, 0.0599999987 377, 0.029*******, 0.029*******, 0.0599999987 378, 0.029*******, 0.0199999996, 0.0599999987 379, 0.029*******, 0.00999999978, 0.0599999987 380, 0.029*******, 0., 0.0599999987 381, 0.029*******, 0.0399999991, 0.0500000007 382, 0.029*******, 0.029*******, 0.0500000007 383, 0.029*******, 0.0199999996, 0.0500000007 384, 0.029*******, 0.00999999978, 0.0500000007 385, 0.029*******, 0., 0.0500000007 386, 0.029*******, 0.0399999991, 0.0399999991 387, 0.029*******, 0.029*******, 0.0399999991 388, 0.029*******, 0.0199999996, 0.0399999991 389, 0.029*******, 0.00999999978, 0.0399999991 390, 0.029*******, 0., 0.0399999991 391, 0.029*******, 0.0399999991, 0.029******* 392, 0.029*******, 0.029*******, 0.029******* 393, 0.029*******, 0.0199999996, 0.029*******394, 0.029*******, 0.00999999978, 0.029*******395, 0.029*******, 0., 0.029******* 396, 0.029*******, 0.0399999991, 0.0199999996397, 0.029*******, 0.029*******, 0.0199999996398, 0.029*******, 0.0199999996, 0.0199999996399, 0.029*******, 0.00999999978, 0.0199999996400, 0.029*******, 0., 0.0199999996 401, 0.029*******, 0.0399999991, 0.00999999978402, 0.029*******, 0.029*******, 0.00999999978403, 0.029*******, 0.0199999996, 0.00999999978404, 0.029*******, 0.00999999978, 0.00999999978 405, 0.029*******, 0., 0.00999999978 406, 0.029*******, 0.0399999991, 0. 407, 0.029*******, 0.029*******, 0. 408, 0.029*******, 0.0199999996, 0. 409, 0.029*******, 0.00999999978, 0. 410, 0.029*******, 0., 0. 411, 0.0199999996, 0.0399999991, 0.400000006412, 0.0199999996, 0.029*******, 0.400000006413, 0.0199999996, 0.0199999996, 0.400000006414, 0.0199999996, 0.00999999978, 0.400000006 415, 0.0199999996, 0., 0.400000006 416, 0.0199999996, 0.0399999991, 0.389999986417, 0.0199999996, 0.029*******, 0.389999986418, 0.0199999996, 0.0199999996, 0.389999986419, 0.0199999996, 0.00999999978, 0.389999986 420, 0.0199999996, 0., 0.389999986 421, 0.0199999996, 0.0399999991, 0.379999995422, 0.0199999996, 0.029*******, 0.379999995423, 0.0199999996, 0.0199999996, 0.379999995424, 0.0199999996, 0.00999999978, 0.379999995 425, 0.0199999996, 0., 0.379999995 426, 0.0199999996, 0.0399999991, 0.370000005427, 0.0199999996, 0.029*******, 0.370000005428, 0.0199999996, 0.0199999996, 0.370000005429, 0.0199999996, 0.00999999978, 0.370000005 430, 0.0199999996, 0., 0.370000005 431, 0.0199999996, 0.0399999991, 0.360000014432, 0.0199999996, 0.029*******, 0.360000014433, 0.0199999996, 0.0199999996, 0.360000014434, 0.0199999996, 0.00999999978, 0.360000014 435, 0.0199999996, 0., 0.360000014 436, 0.0199999996, 0.0399999991, 0.349999994437, 0.0199999996, 0.029*******, 0.349999994438, 0.0199999996, 0.0199999996, 0.349999994439, 0.0199999996, 0.00999999978, 0.349999994 440, 0.0199999996, 0., 0.349999994 441, 0.0199999996, 0.0399999991, 0.340000004442, 0.0199999996, 0.029*******, 0.340000004443, 0.0199999996, 0.0199999996, 0.340000004444, 0.0199999996, 0.00999999978, 0.340000004 445, 0.0199999996, 0., 0.340000004 446, 0.0199999996, 0.0399999991, 0.330000013447, 0.0199999996, 0.029*******, 0.330000013448, 0.0199999996, 0.0199999996, 0.330000013449, 0.0199999996, 0.00999999978, 0.330000013 450, 0.0199999996, 0., 0.330000013 451, 0.0199999996, 0.0399999991, 0.319999993452, 0.0199999996, 0.029*******, 0.319999993453, 0.0199999996, 0.0199999996, 0.319999993454, 0.0199999996, 0.00999999978, 0.319999993 455, 0.0199999996, 0., 0.319999993 456, 0.0199999996, 0.0399999991, 0.310000002457, 0.0199999996, 0.029*******, 0.310000002458, 0.0199999996, 0.0199999996, 0.310000002459, 0.0199999996, 0.00999999978, 0.310000002 460, 0.0199999996, 0., 0.310000002 461, 0.0199999996, 0.0399999991, 0.300000012462, 0.0199999996, 0.029*******, 0.300000012463, 0.0199999996, 0.0199999996, 0.300000012464, 0.0199999996, 0.00999999978, 0.300000012 465, 0.0199999996, 0., 0.300000012 466, 0.0199999996, 0.0399999991, 0.289999992467, 0.0199999996, 0.029*******, 0.289999992468, 0.0199999996, 0.0199999996, 0.289999992469, 0.0199999996, 0.00999999978, 0.289999992 470, 0.0199999996, 0., 0.289999992 471, 0.0199999996, 0.0399999991, 0.280000001472, 0.0199999996, 0.029*******, 0.280000001473, 0.0199999996, 0.0199999996, 0.280000001474, 0.0199999996, 0.00999999978, 0.280000001 475, 0.0199999996, 0., 0.280000001 476, 0.0199999996, 0.0399999991, 0.270000011 477, 0.0199999996, 0.029*******, 0.270000011 478, 0.0199999996, 0.0199999996, 0.270000011 479, 0.0199999996, 0.00999999978, 0.270000011 480, 0.0199999996, 0., 0.270000011 481, 0.0199999996, 0.0399999991, 0.25999999 482, 0.0199999996, 0.029*******, 0.25999999 483, 0.0199999996, 0.0199999996, 0.25999999 484, 0.0199999996, 0.00999999978, 0.25999999 485, 0.0199999996, 0., 0.25999999 486, 0.0199999996, 0.0399999991, 0.25 487, 0.0199999996, 0.029*******, 0.25 488, 0.0199999996, 0.0199999996, 0.25 489, 0.0199999996, 0.00999999978, 0.25 490, 0.0199999996, 0., 0.25 491, 0.0199999996, 0.0399999991, 0.239999995 492, 0.0199999996, 0.029*******, 0.239999995 493, 0.0199999996, 0.0199999996, 0.239999995 494, 0.0199999996, 0.00999999978, 0.239999995 495, 0.0199999996, 0., 0.239999995 496, 0.0199999996, 0.0399999991, 0.230000004 497, 0.0199999996, 0.029*******, 0.230000004 498, 0.0199999996, 0.0199999996, 0.230000004 499, 0.0199999996, 0.00999999978, 0.230000004 500, 0.0199999996, 0., 0.230000004 501, 0.0199999996, 0.0399999991, 0.219999999 502, 0.0199999996, 0.029*******, 0.219999999 503, 0.0199999996, 0.0199999996, 0.219999999 504, 0.0199999996, 0.00999999978, 0.219999999 505, 0.0199999996, 0., 0.219999999 506, 0.0199999996, 0.0399999991, 0.209999993 507, 0.0199999996, 0.029*******, 0.209999993 508, 0.0199999996, 0.0199999996, 0.209999993 509, 0.0199999996, 0.00999999978, 0.209999993 510, 0.0199999996, 0., 0.209999993 511, 0.0199999996, 0.0399999991, 0.200000003 512, 0.0199999996, 0.029*******, 0.200000003 513, 0.0199999996, 0.0199999996, 0.200000003 514, 0.0199999996, 0.00999999978, 0.200000003 515, 0.0199999996, 0., 0.200000003 516, 0.0199999996, 0.0399999991, 0.189999998 517, 0.0199999996, 0.029*******, 0.189999998 518, 0.0199999996, 0.0199999996, 0.189999998 519, 0.0199999996, 0.00999999978, 0.189999998 520, 0.0199999996, 0., 0.189999998 521, 0.0199999996, 0.0399999991, 0.180000007 522, 0.0199999996, 0.029*******, 0.180000007 523, 0.0199999996, 0.0199999996, 0.180000007 524, 0.0199999996, 0.00999999978, 0.180000007 525, 0.0199999996, 0., 0.180000007 526, 0.0199999996, 0.0399999991, 0.170000002 527, 0.0199999996, 0.029*******, 0.170000002 528, 0.0199999996, 0.0199999996, 0.170000002 529, 0.0199999996, 0.00999999978, 0.170000002 530, 0.0199999996, 0., 0.170000002 531, 0.0199999996, 0.0399999991, 0.159999996 532, 0.0199999996, 0.029*******, 0.159999996 533, 0.0199999996, 0.0199999996, 0.159999996 534, 0.0199999996, 0.00999999978, 0.159999996 535, 0.0199999996, 0., 0.159999996 536, 0.0199999996, 0.0399999991, 0.150000006 537, 0.0199999996, 0.029*******, 0.150000006 538, 0.0199999996, 0.0199999996, 0.150000006 539, 0.0199999996, 0.00999999978, 0.150000006 540, 0.0199999996, 0., 0.150000006 541, 0.0199999996, 0.0399999991, 0.140000001 542, 0.0199999996, 0.029*******, 0.140000001 543, 0.0199999996, 0.0199999996, 0.140000001 544, 0.0199999996, 0.00999999978, 0.140000001 545, 0.0199999996, 0., 0.140000001 546, 0.0199999996, 0.0399999991, 0.129999995 547, 0.0199999996, 0.029*******, 0.129999995 548, 0.0199999996, 0.0199999996, 0.129999995 549, 0.0199999996, 0.00999999978, 0.129999995 550, 0.0199999996, 0., 0.129999995 551, 0.0199999996, 0.0399999991, 0.119999997 552, 0.0199999996, 0.029*******, 0.119999997 553, 0.0199999996, 0.0199999996, 0.119999997556, 0.0199999996, 0.0399999991, 0.109999999557, 0.0199999996, 0.029*******, 0.109999999558, 0.0199999996, 0.0199999996, 0.109999999559, 0.0199999996, 0.00999999978, 0.109999999 560, 0.0199999996, 0., 0.109999999 561, 0.0199999996, 0.0399999991, 0.100000001562, 0.0199999996, 0.029*******, 0.100000001563, 0.0199999996, 0.0199999996, 0.100000001564, 0.0199999996, 0.00999999978, 0.100000001 565, 0.0199999996, 0., 0.100000001 566, 0.0199999996, 0.0399999991, 0.0900000036567, 0.0199999996, 0.029*******, 0.0900000036568, 0.0199999996, 0.0199999996, 0.0900000036569, 0.0199999996, 0.00999999978, 0.0900000036570, 0.0199999996, 0., 0.0900000036 571, 0.0199999996, 0.0399999991, 0.0799999982572, 0.0199999996, 0.029*******, 0.0799999982573, 0.0199999996, 0.0199999996, 0.0799999982574, 0.0199999996, 0.00999999978, 0.0799999982575, 0.0199999996, 0., 0.0799999982 576, 0.0199999996, 0.0399999991, 0.0700000003577, 0.0199999996, 0.029*******, 0.0700000003578, 0.0199999996, 0.0199999996, 0.0700000003579, 0.0199999996, 0.00999999978, 0.0700000003580, 0.0199999996, 0., 0.0700000003 581, 0.0199999996, 0.0399999991, 0.0599999987582, 0.0199999996, 0.029*******, 0.0599999987583, 0.0199999996, 0.0199999996, 0.0599999987584, 0.0199999996, 0.00999999978, 0.0599999987585, 0.0199999996, 0., 0.0599999987 586, 0.0199999996, 0.0399999991, 0.0500000007587, 0.0199999996, 0.029*******, 0.0500000007588, 0.0199999996, 0.0199999996, 0.0500000007589, 0.0199999996, 0.00999999978, 0.0500000007590, 0.0199999996, 0., 0.0500000007 591, 0.0199999996, 0.0399999991, 0.0399999991592, 0.0199999996, 0.029*******, 0.0399999991593, 0.0199999996, 0.0199999996, 0.0399999991594, 0.0199999996, 0.00999999978, 0.0399999991595, 0.0199999996, 0., 0.0399999991 596, 0.0199999996, 0.0399999991, 0.029*******597, 0.0199999996, 0.029*******, 0.029*******598, 0.0199999996, 0.0199999996, 0.029*******599, 0.0199999996, 0.00999999978, 0.029*******600, 0.0199999996, 0., 0.029******* 601, 0.0199999996, 0.0399999991, 0.0199999996602, 0.0199999996, 0.029*******, 0.0199999996603, 0.0199999996, 0.0199999996, 0.0199999996604, 0.0199999996, 0.00999999978, 0.0199999996605, 0.0199999996, 0., 0.0199999996 606, 0.0199999996, 0.0399999991, 0.00999999978607, 0.0199999996, 0.029*******, 0.00999999978608, 0.0199999996, 0.0199999996, 0.00999999978609, 0.0199999996, 0.00999999978, 0.00999999978 610, 0.0199999996, 0., 0.00999999978 611, 0.0199999996, 0.0399999991, 0. 612, 0.0199999996, 0.029*******, 0. 613, 0.0199999996, 0.0199999996, 0. 614, 0.0199999996, 0.00999999978, 0. 615, 0.0199999996, 0., 0. 616, 0.00999999978, 0.0399999991, 0.400000006 617, 0.00999999978, 0.029*******, 0.400000006 618, 0.00999999978, 0.0199999996, 0.400000006 619, 0.00999999978, 0.00999999978, 0.400000006 620, 0.00999999978, 0., 0.400000006 621, 0.00999999978, 0.0399999991, 0.389999986 622, 0.00999999978, 0.029*******, 0.389999986 623, 0.00999999978, 0.0199999996, 0.389999986 624, 0.00999999978, 0.00999999978, 0.389999986 625, 0.00999999978, 0., 0.389999986 626, 0.00999999978, 0.0399999991, 0.379999995 627, 0.00999999978, 0.029*******, 0.379999995 628, 0.00999999978, 0.0199999996, 0.379999995 629, 0.00999999978, 0.00999999978, 0.379999995 630, 0.00999999978, 0., 0.379999995 631, 0.00999999978, 0.0399999991, 0.370000005 632, 0.00999999978, 0.029*******, 0.370000005 633, 0.00999999978, 0.0199999996, 0.370000005。
abaqus 子程序 简单案例
abaqus 子程序简单案例1. 案例一:ABAQUS子程序在计算机辅助工程中的应用在计算机辅助工程中,ABAQUS子程序是一种被广泛应用的工具,用于求解各种复杂的物理问题。
它可以在ABAQUS有限元软件中调用,通过编写用户自定义的子程序来实现特定的功能。
下面将介绍一些常见的ABAQUS子程序案例。
2. 案例二:ABAQUS子程序在材料力学中的应用ABAQUS子程序在材料力学中的应用非常广泛。
例如,可以通过自定义的子程序来模拟材料的非线性行为、塑性变形、断裂行为等。
通过在子程序中编写相应的材料本构模型和损伤模型,可以准确地预测材料的力学性能。
3. 案例三:ABAQUS子程序在流体力学中的应用ABAQUS子程序在流体力学中也有重要的应用。
例如,可以通过自定义的子程序来模拟流体的非牛顿性、多相流动、湍流等现象。
通过在子程序中编写相应的流体本构模型和湍流模型,可以准确地模拟流体的流动行为。
4. 案例四:ABAQUS子程序在结构力学中的应用ABAQUS子程序在结构力学中也非常有用。
例如,可以通过自定义的子程序来模拟结构的非线性行为、接触和摩擦、动力响应等。
通过在子程序中编写相应的结构本构模型和接触模型,可以准确地预测结构的力学性能。
5. 案例五:ABAQUS子程序在热传导中的应用ABAQUS子程序在热传导中的应用也非常广泛。
例如,可以通过自定义的子程序来模拟材料的热传导行为、热辐射、相变等。
通过在子程序中编写相应的热传导模型和相变模型,可以准确地预测材料的热学性能。
6. 案例六:ABAQUS子程序在电磁场中的应用ABAQUS子程序在电磁场中的应用也有一定的研究价值。
例如,可以通过自定义的子程序来模拟电磁场的非线性行为、磁饱和、电磁感应等。
通过在子程序中编写相应的电磁场模型和电磁感应模型,可以准确地模拟电磁场的行为。
7. 案例七:ABAQUS子程序在声学中的应用ABAQUS子程序在声学领域中也有一定的应用。
abaqus子程序实例
abaqus子程序实例
ABAQUS子程序实例有DLOAD子程序。
当物体所受载荷是比较复杂的函数时(如与时间、位置等相关),通过界面输入的方式已经难以实现,通常便需要借助于DLOAD子程序来实现。
DLOAD 子程序用于定义分布负载。
例如,对于P=10*sin(t),可以直接编写如下的子程序:
Fortran
SUBROUTINE DLOAD
IMPLICIT NONE
INCLUDE 'ABA_PARAM.INC'
INTEGER KSTEP,NOEL,NPT
DOUBLE PRECISION TIME(2),COORDS(3),F,DLOAD_F
COMMON /DLOAD_COM/ F,DLOAD_F
KSTEP = 1
TIME = 0.0D0
NOEL = 1
NPT = 1
COORDS = 0.0D0
F = 10.0D0
DLOAD_F = F*DSIN(TIME(1)*2.0D0*PI/360.0D0)
RETURN
END SUBROUTINE DLOAD
上述程序中,已经明确指出user coding to define F,即表示需要用户自己去定义变量F的值,F的值便表示所加载的载荷大小。
该数值的正负符号有明确的物理意义,对于压力,正数表示压力,负数表示拉力。
也就是说只有F这个变量需要我们去定义,其它的一些变量都是输入变量,是软件传递给我们去使用的,不需要我们去定义。
《2024年ABAQUS用户材料子程序开发及应用》范文
《ABAQUS用户材料子程序开发及应用》篇一一、引言ABAQUS是一款功能强大的工程仿真软件,广泛应用于各种工程领域。
其中,用户材料子程序(User-Defined Material Subroutines)的开发与应用是ABAQUS的重要功能之一。
通过开发用户材料子程序,用户可以根据实际需求自定义材料的本构关系、失效准则等,从而更准确地模拟材料的力学行为。
本文将介绍ABAQUS用户材料子程序的开发过程及其在工程中的应用。
二、ABAQUS用户材料子程序开发1. 需求分析在开发ABAQUS用户材料子程序之前,首先需要进行需求分析。
这包括明确模拟的目的、材料的力学行为特点、所需的物理量等。
通过需求分析,可以确定所需开发的子程序的类型和功能。
2. 选择合适的子程序类型ABAQUS提供了多种用户材料子程序类型,如塑性模型、弹性模型、蠕变模型等。
根据需求分析的结果,选择合适的子程序类型进行开发。
3. 编写子程序代码根据所选的子程序类型,编写相应的代码。
代码应遵循ABAQUS的编程规范,确保程序的正确性和可读性。
同时,需要提供必要的输入参数和输出结果。
4. 调试与测试编写完代码后,需要进行调试与测试。
这包括检查代码的语法错误、逻辑错误等。
同时,通过测试不同条件下的模拟结果,验证子程序的正确性和可靠性。
三、ABAQUS用户材料子程序的应用1. 在工程中的应用ABAQUS用户材料子程序在工程中有着广泛的应用。
例如,在金属成形、复合材料、岩石力学等领域,用户可以根据实际需求开发相应的子程序,模拟材料的力学行为。
通过对比模拟结果与实际结果,可以验证子程序的正确性,为工程设计提供有力支持。
2. 在科研中的应用在科研领域,ABAQUS用户材料子程序也发挥着重要作用。
通过开发新的子程序,研究人员可以探索材料的力学行为规律,为新材料的设计与开发提供理论依据。
同时,通过对比不同材料的模拟结果,可以揭示材料性能的差异及影响因素。
ABAQUS_Standard用户材料子程序实例
ABAQUS/Standard 用户材料子程序实例-Johnson-Cook 金属本构模型卢剑锋 庄茁* 张帆清华大学工程力学系 北京 100084摘要:用户材料子程序是ABAQUS 提供给用户定义自己的材料属性的Fortran 程序接口,使用户能使用ABAQUS 材料库中没有定义的材料模型。
ABAQUS 中自有的Johnson-Cook 模型只能应用于显式ABAQUS/Explicit 程序中,而我们希望能在隐式ABAQUS/Standard 程序中更精确的实现本构积分,而且应用Johnson-Cook 模型的修正形式。
这就需要通过ABAQUS/Standard 的用户材料子程序UMAT 编程实现。
在UMAT 编程中使用了率相关塑性理论以及完全隐式的应力更新算法。
1 Johnson-Cook 强化模型简介Johnson-Cook (JC )模型用来模拟高应变率下的金属材料。
JC 强化模型表示为三项的乘积,分别反映了应变硬化,应变率硬化和温度软化。
这里使用JC 模型的修正形式:()()*01ln 11n mA B C T εσεε=+++−&& 并使参考应变率01ε=&,这样公式中的A 即为材料的静态屈服应力。
公式中包含,,,,A B n C m 五个参数,需要通过实验来确定。
2 ABAQUS 用户材料子程序用户材料子程序(User-defined Material Mechanical Behavior ,简称UMAT )通过与ABAQUS 主求解程序的接口实现与ABAQUS 的数据交流。
在输入文件中,使用关键字“*USER MATERIAL”表示定义用户材料属性。
子程序概况与接口UMAT 子程序具有强大的功能,使用UMAT 子程序:(1) 可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。
(2)几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQUS中的任何单元;(3)必须在UMAT中提供材料本构模型的雅可比(Jacobian)矩阵,即应力增量对应变增量的变化率。
《2024年ABAQUS用户材料子程序开发及应用》范文
《ABAQUS用户材料子程序开发及应用》篇一一、引言随着计算机技术的迅猛发展,有限元分析软件在工程领域的应用越来越广泛。
ABAQUS作为一款功能强大的有限元分析软件,其在材料模拟、结构分析、热传导等方面具有广泛的应用。
其中,用户材料子程序的开发是ABAQUS功能的重要组成部分,它允许用户根据实际需求自定义材料模型,提高模拟的准确性和可靠性。
本文将介绍ABAQUS用户材料子程序的开发流程、应用领域及实际案例。
二、ABAQUS用户材料子程序开发流程1. 需求分析:明确材料模型的需求和特点,确定子程序的类型(如弹塑性、蠕变等)。
2. 理论建模:根据需求,建立相应的数学模型和物理模型。
3. 编程实现:使用ABAQUS提供的编程接口(如Fortran、C++等),编写用户材料子程序。
4. 调试与验证:对编写的子程序进行调试和验证,确保其正确性和可靠性。
5. 集成与测试:将子程序集成到ABAQUS中,进行整体测试,确保模拟结果的准确性。
三、ABAQUS用户材料子程序应用领域1. 金属材料:用户材料子程序可用于模拟金属的弹塑性、蠕变、疲劳等行为。
2. 聚合物材料:用于模拟聚合物材料的粘弹性、蠕变、塑性等行为。
3. 复合材料:用于模拟复合材料的力学性能和损伤演化等行为。
4. 高温超导材料:用于模拟高温超导材料的电性能和磁性能等行为。
四、实际案例分析以金属材料的弹塑性行为为例,介绍ABAQUS用户材料子程序的开发及应用。
1. 需求分析:金属材料在受到外力作用时,会表现出弹性和塑性行为。
为了更准确地模拟这一行为,需要开发一个弹塑性用户材料子程序。
2. 理论建模:根据金属的弹塑性理论,建立相应的数学模型和物理模型。
包括弹性阶段、屈服阶段和塑性流动阶段的描述。
3. 编程实现:使用Fortran或C++编写用户材料子程序,实现模型的数学描述。
4. 调试与验证:对编写的子程序进行调试和验证,确保其正确性和可靠性。
可以通过对比实验数据和模拟结果来验证子程序的准确性。
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。
最新ABAQUS用户子程序
ABAQUS用户子程序123ABAQUS/Standard subroutines:41.CREEP: Define time-dependent, viscoplastic behavior (creep and 5swelling).6定义和时间相关的、粘塑性的运动(蠕变和膨胀)2. DFLOW: Define nonuniform pore fluid velocity in a 78consolidation analysis.9在压实分析中,定义非均匀孔隙流速度3. DFLUX: Define nonuniform distributed flux in a heat transfer1011or mass diffusion analysis.在热传递和质量扩散分析中,定义非均匀的分布流量12134. DISP: Specify prescribed boundary conditions.14指定规定的边界条件5. DLOAD: Specify nonuniform distributed loads.1516指定非均匀的分布荷载176. FILM: Define nonuniform film coefficient and associated sink 18temperatures for heat19transfer analysis.20对热传递分析指定非均匀的膜层散热系数和联合的散热器温度7. FLOW: Define nonuniform seepage coefficient and associated2122sink pore pressure for23consolidation analysis.对压实分析定义非均匀的渗流系数和渗入孔隙压力24258. FRIC: Define frictional behavior for contact surfaces.26对接触面定义摩擦279. GAPCON: Define conductance between contact surfaces or nodes 28in a fully coupled29temperature-displacement analysis or pure heat transfer analysis.30在一个完全耦合的温度—置换分析或者是纯热传递分析中,定义31接触面或节点间的导热系数。
abaqus子程序
1.1.37 UMATHTUser subroutine to define a material's thermalbehavior.Product: Abaqus/StandardWarning: The use of this subroutine generally requires considerable expertise. You are cautioned that the implementation of any realistic thermal model requires significant development and testing. Initial testing on models with few elements under a variety of boundary conditions is strongly recommended.References●“User-defined thermal material behavior,”Section 23.8.2 of the Abaqus Analysis User's Manual● *USER MATERIAL●“Freezing of a square solid: the two-dimensional Stefan problem,”Section 1.6.2 of the Abaqus Benchmarks Manual●“UMATHT,”Section 4.1.22 of the Abaqus Verification ManualOverviewUser subroutine UMATHT:● can be used to define the thermal constitutive behavior of the material as well as internal heat generation during heat transfer processes;● will be called at all material calculation points of elements for which the material definition includes a user-defined thermal material behavior;● can be used with the procedures discussed in “Heat transfer analysis procedures: overview,”Section 6.5.1 of the Abaqus Analysis User's Manual;● can use solution-dependent state Variables;● must define the internal energy per unit mass and its variation with respect to temperature and to spatial gradients of temperature;● must define the heat flux vector and its variation with respect to temperature and to gradients of temperature;● must update the solution-dependent state Variables to their values at the end of the increment;● 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 thermal material behavior,”Section 23.8.2 of the Abaqus Analysis User's Manual.Use of subroutine UMATHT with coupled temperature-displacement elementsUser subroutine UMATHT should be used only with reduced-integration or modified coupled temperature-displacement elements if the mechanical and thermal fields are not coupled through plastic dissipation. No such restriction exists with fully integrated coupled temperature-displacement elements.User subroutine interfaceSUBROUTINE UMATHT(U,DUDT,DUDG,FLUX,DFDT,DFDG,1 STATEV,TEMP,DTEMP,DTEMDX,time,Dtime,PREDEF,DPRED,2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT,3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMEDIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD),1 DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD),2 time(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3)user coding to define U,DUDT,DUDG,FLUX,DFDT,DFDG,and possibly update STATEV, PNEWDTRETURNENDVariables to be definedUInternal thermal energy per unit mass, U, at the end of increment. This variable is passed in as the value at the start of the increment and must be updated to its value at the end of the increment.DUDTVariation of internal thermal energy per unit mass with respect to temperature,, evaluated at the end of the increment.DUDG(NTGRD)Variation of internal thermal energy per unit mass with respect to the spatial gradients of temperature,, at the end of the increment. The size of this array depends on the value of NTGRD as defined below. This term is typically zero in classical heat transfer analysis.FLUX(NTGRD)Heat flux vector,, at the end of the increment. This variable is passed in with the values at the beginning of the increment and must be updated to the values at the end of the increment.DFDT(NTGRD)Variation of the heat flux vector with respect to temperature,, evaluated at the end of the increment.DFDG(NTGRD,NTGRD)Variation of the heat flux vector with respect to the spatial gradients of temperature,, at the end of the increment. The size of this array depends on the value of NTGRD as defined below.Variables that can be updatedSTATEV(NSTATV)An array containing the solution-dependent state Variables.In an uncoupled heat transfer analysis STATEV is passedinto UMATHT with the values of these Variables at the beginning of the increment. However, any changes in STATEV made in usersubroutine USDFLD will be included in the values passed into UMATHT, since USDFLD is called before UMATHT. In addition, if UMATHT is being used in a fully coupled temperature-displacement analysis and user subroutine CREEP, user subroutine UEXPAN, user subroutine UMAT, or user subroutine UTRS is used to define the mechanical behavior of the material, those routines are called before this routine; therefore, any updating of STATEV done in CREEP, UEXPAN, UMAT, or UTRS will be included in the values passed into UMATHT.In all cases STATEV should be passed back from UMATHT as the values of the state Variables at the end of the current increment.PNEWDTratio of suggested new time increment to the time increment being used (DTIME, see below). This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus/Standard (if automatic time incrementation is chosen).PNEWDT is set to a large value before each call to UMATHT.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, wherethe 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.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.Variables passed in for informationTEMPTemperature at the start of the increment.DTEMPIncrement of temperature.DTEMDX(NTGRD)Current values of the spatial gradients of temperature,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.DTIMETime increment.PREDEFarray 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.DPREDarray of increments of predefined field Variables.CMNAMEUser-defined material name, left justified.NTGRDnumber of spatial gradients of temperature.NSTATVnumber of solution-dependent state variables associated with this material type (defined as described in “Allocating space” in “Usersubroutines: overview,”Section 15.1.1 of the Abaqus Analysis User's Manual).PROPS(NPROPS)User-specified array of material constants associated with this user material.NPROPSUser-defined number of material constants associated with this user material.COORDSAn array containing the coordinates of this point. These are the current coordinates in a fully coupled temperature-displacement analysis if geometric nonlinearity is accounted for during the step(see “Procedures: overview,”Section 6.1.1 of the Abaqus Analysis User's Manual); otherwise, the array contains the original coordinates of the point.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.Example: Using more than one user-defined thermal material modelTo use more than one user-defined thermal material model, the variable CMNAME can be tested for different material names inside user subroutine UMATHT, as illustrated below:IF (CMNAME(1:4) .EQ. 'MAT1') THENCALL UMATHT_MAT1(argument_list)ELSE IF(CMNAME(1:4) .EQ. 'MAT2') THENCALL UMATHT_MAT2(argument_list)END IFUMATHT_MAT1 and UMATHT_MAT2 are the actual user material subroutines containing the constitutive material models for each material MAT1 and MAT2, respectively. Subroutine UMATHT merely acts as a directory here. The argument list can be the same as that used in subroutine UMATHT.Example: Uncoupled heat transferAs a simple example of the coding of user subroutine UMATHT, consider uncoupled heat transfer analysis in a material. The equationsfor this case are developed here, and the corresponding UMATHT is given. This problem can also be solved by specifying thermal conductivity, specific heat, density, and internal heat generation directly.First, the equations for an uncoupled heat transfer analysis are outlined.The basic energy balance iswhere V is the volume of solid material with surface area S,is the density of the material,is the material time rate of the internal thermal energy, q is the heat flux per unit area of the body flowing into the body, and r is the heat supplied externally into the body per unit volume.A heat flux vectoris defined such thatwhereis the unit outward normal to the surface S. Introducing the above relation into the energy balance equation and using the divergence theorem, the following relation is obtained:The corresponding weak form is given bywhereis the temperature gradient andis an arbitrary variational field satisfying the essential boundary conditions.Introducing the backward difference integration algorithm:the weak form of the energy balance equation becomesThis nonlinear system is solved using Newton's method.In the above equations the thermal constitutive behavior of the material is given byAndwhereare state Variables.The Jacobian for Newton's method is given by (after dropping the subscriptson U)The thermal constitutive behavior for this example is now defined. We assume a constant specific heat for the material. The heat conduction in the material is assumed to be governed by Fourier's law.The internal thermal energy per unit mass is defined aswithwhere c is the specific heat of the material andFourier's law for heat conduction is given aswhereis the thermal conductivity matrix andis position, so thatandThe assumption of conductivity without any temperature dependence implies thatNo state variables are needed for this material, so the allocation of space for them is not necessary.A thermal user material definition can be used to read in the two constants for our simple case, namely the specific heat, c, and the coefficient of thermal conductivity, k, so thatSUBROUTINE UMATHT(U,DUDT,DUDG,FLUX,DFDT,DFDG,1 STATEV,TEMP,DTEMP,DTEMDX,time,DTIME,PREDEF,DPRED,2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT,3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMEDIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD),1 DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD),2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3) CCOND = PROPS(1)SPECHT = PROPS(2)CDUDT = SPECHTDU = DUDT*DTEMPU = U+DUCDO I=1, NTGRDFLUX(I) = –COND*DTEMDX(I)DFDG(I,I) = –CONDEND DOCRETURNEND1.1.13 HETVALUser subroutine to provide internal heat generation in heat transfer analysis.Product: Abaqus/StandardReferences●“Uncoupled heat transfer analysis,”Section 6.5.2 of the Abaqus Analysis User's Manual●“Fully coupled thermal-stress analysis,”Section 6.5.4 of the Abaqus Analysis User's Manual● *HEAT GENERATION●“HETVAL,”Section 4.1.9 of the Abaqus Verification Manual OverviewUser subroutine HETVAL:● can be used to define a heat flux due to internal heatgeneration in a material, for example, as might be associated with phase changes occurring during the solution;● allows for the dependence of internal heat generation on state Variables (such as the fraction of material transformed) that themselves evolve with the solution and are stored as solution-dependent state variables;● will be called at all material calculation points for which the material definition contains volumetric heat generation during heat transfer, coupled temperature-displacement, or coupled thermal-electrical analysis procedures;● can be useful if it is necessary to include a kinetic theory fora phase change associated with latent heat release (for example, in the prediction of crystallization in a polymer casting process);● can be used in conjunction with user subroutine USDFLD if itis desired to redefine any field Variables before they are passed in; and● cannot be used with user subroutine UMATHT.User subroutine interfaceSUBROUTINE HETVAL(CMNAME,TEMP,time,DTIME,STATEV,FLUX,1 PREDEF,DPRED)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMECDIMENSION TEMP(2),STATEV(*),PREDEF(*),TIME(2),FLUX(2),1 DPRED(*)user coding to define FLUX and update STATEVRETURNENDVariables to be definedFLUX(1)Heat flux, r (thermal energy per time per volume: JT–1L–3), at this material calculation point.。
abaqus1用户材料子程序
19 ABAQUS用户材料子程序(UMAT)虽然ABAQUS为用户提供了大量的单元库和求解模型,使用户能够利用这些模型处理绝大多数的问题;但是现实世界毕竟十分复杂,ABAQUS不可能把所有可能出现的问题都包含进去。
所以ABAQUS提供了大量的用户子程序(User Subroutine)。
用户子程序允许用户在找不到合适模型的情况下自行定义符合自己问题的模型。
这些用户子程序涵盖了建模从载荷到单元的几乎各个部分。
ABAQUS为用户提供的这个接口,允许用户通过自定义的子程序定制ABAQUS,以实现特定的功能。
用户子程序具有以下的功能和特点:(1)如果ABAQUS的一些固有选项模型功能有限;用户子程序可以提高ABAQUS中这些选项的功能;(2)通常用户子程序是用FORTRAN语言的代码写成;(3)它可以以几种不同的方式包含在模型中;(4)由于它们没有存储在restart文件中,如果需要的话,可以在重新开始运行时修改它;(5)在某些情况下它可以利用ABAQUS允许的已有程序。
要在模型中包含用户子程序,可以利用ABAQUS执行程序,在abaqus执行程序中应用user选项指明包含这些子程序的FORTRAN源程序或者目标程序的名字。
提示:ABAQUS的输入文件除了可以通过ABAQUS/CAE的作业模块中提交运行外,还可以在ABAQUS Command窗口中输入ABAQUS执行程序直接运行:ABAQUS job=输入文件名 user=用户子程序的Fortran文件名ABAQUS/Standard和ABAQUS/Explicit都支持用户子程序功能,但是他们所支持的用户子程序种类不尽相同,读者在需要使用时请注意查询手册。
在接下来的最后两章里,我们将讨论两种常用的用户子程序——用户材料子程序和用户单元子程序。
本章将通过在ABAQUS/Standard中创建Johnson-Cook的材料模型,对编写Standard 的用户材料子程序UMAT进行一个简单介绍。
21ABAQUS用户材料子程序_1502407
21 ABAQUS用户材料子程序(UMAT)虽然ABAQUS为用户提供了大量的单元库和求解模型,使用户能够利用这些模型处理绝大多数的问题;但是实际问题毕竟非常复杂,ABAQUS不可能直接求解所有可能出现的问题。
所以ABAQUS提供了大量的用户自定义子程序(User Subroutine),允许用户在找不到合适模型的情况下自行定义符合自己问题的模型。
这些用户子程序涵盖了建模、载荷到单元的几乎各个部分。
用户子程序具有以下的功能和特点:(1)如果ABAQUS的一些固有选项模型功能有限,用户子程序可以提高ABAQUS中这些选项的功能;(2)通常用户子程序是用FORTRAN语言的代码写成;(3)它可以以几种不同的方式包含在模型中;(4)由于它们没有存储在restart文件中,如果需要的话,可以在重新开始运行时修改它;(5)在某些情况下它可以利用ABAQUS允许的已有程序。
要在模型中包含用户子程序,可以利用ABAQUS执行程序,在执行程序中应用user 选项指明包含这些子程序的FORTRAN源程序或者目标程序的名字。
提示:ABAQUS的输入文件除了可以通过ABAQUS/CAE的作业模块中提交运行外,还可以在ABAQUS Command窗口中输入ABAQUS执行程序直接运行:ABAQUS job=输入文件名 user=用户子程序的Fortran文件名ABAQUS/Standard和ABAQUS/Explicit都支持用户子程序功能,但是他们所支持的用户子程序种类不尽相同,读者在需要使用时请注意查询手册。
在接下来的两章里,我们将讨论两种常用的用户子程序——用户材料子程序和用户单元子程序。
本章将通过在ABAQUS/Standard中创建Johnson-Cook的材料模型,介绍编写ABAQUS/Standard的用户材料子程序UMAT。
在ABAQUS/Explicit中编写用户材料子程序VUMAT与之相似,但是由于隐式和显式两种方法本身的差异,它们之间也有一些不同,请读者在具体使用前仔细查阅ABAQUS手册中的相关内容。
ABAQUS_Standard用户材料子程序实例-Johnson-Cook金属本构模型卢剑锋庄茁
。动运体刚的料材虑考来转旋过通须必都量张者或量矢何任的中阵矩量变态 状�外以新更据数的起引为行构本料材了除�题问变应限有于对�是的同不阵矩量张力应和 结的步量增在。中 TAMU 到递传据数的后新更将时始开步量增后然�据数新更先中 NAPXEU 或 。据数的中阵矩量变态状新更须必束
DLFDSU 序程子在可也 。中 TAMU 到递传值数将时始开步量增在 �阵矩的量变态状储存于用
3m/gK[
]
质 性
数参型模 kooC-nosnhoJ
度密
义定料材的件试 3 表 。序程合拟值数的面前于源来值数的数参中
型模 kooC-nosnhoJ 中其�示所 3 表如数参料材�料材义定自中 TAMU 在户用用采件试。3m/gk
301×58.7
为度密�3.0 和 aPG002 为别分比松泊和量模性弹�料材性弹线用使杆力出和杆力入
) V E T A T S N ( V ET A T S
的量张力应中 TAMU。分部旋共的量张力应理处需只中 TAMU 在此因�动转体刚了行进的量张 力应对经已就前之 TAMU 用调步量增个一�题问变应限有的动转体刚含包于对。新更阵矩量张 阵矩量张力应�始开的步量增在。量分切剪个 RHSN 和量分接直个 IDN 应对�阵矩量张力应 力应对将 TAMU 束结的步量增在�中 TAMU 到递传口接的间之序程主和 TAMU 过通值数的中
�候时的 TAMU 用使是但。义定项选”CITSALE*“过通中义定料材在常通�值的量模切剪始初料 材于基度刚些这。的义定质性性弹的中性属料材过通是度刚切剪向横的元单梁、壳、板和度刚制 控漏沙的元单分积缩减常通。度刚切剪向横和度刚制控漏沙的元单意注要需时 TAMU 用使 。 RHSN + IDN = SNETN �数个的量分力应总� SNETN �数个的量分力应切剪� RHSN �量增间时的步量增� EMITD �阵矩变应� ) SNETN ( NARTS �量变他其 。出输量能为作
ABAQUS用户子程序小例子
实例:最简单的杆件单轴拉伸,材料本构模型采用线弹性模型,E=206000MPa, ν=0.3。
左端约束,右端施加均布力q=1。
Author: xueweek希望这个小例子能帮助初学者减少一两天的摸索时间1材料本构模型:σ=Eε在Property中定义材料时,在General下选中User Material,输入206000,0.3。
以上两个数值代表E、ν,在用户子程序中代表着PROPS(1)、PROPS(2)。
然后在General 下选中Depvar,由于该例子中没有使用状态变量,因此在第一项中输入大于0的数值即可。
建模大家都会,故省略2ABAQUS调用用户子程序大家在论坛上也可以看到很多方法,我这里指介绍最简单的一种。
在Job Manager中点击Edit选项,在General选项的最后一项中选择自己建立好的用户子程序文件。
(注:用户子程序文件可以使用文本编辑器进行编辑,当然也可以用Fortran 编译器,如果对自己的用户子程序文件的语法不放心,可以先用Fortan编译器进行编译,不过编译前要先建立Project,关于Fortran编译,这里不再介绍)。
完成后,点击submit即可进行分析。
3结果以下两张图分布是用户子程序和ABAQUS自带的材料模型得到的应力云图,可以看出两种图形完全相同。
4UMAT子程序对于初学者来说,需要注意的是,FORTRAN对于程序语言格式上的要求。
例如,对于FORTRAN语言,前六个字符必须空出来,等等。
检查语法最好的方法就是在FORTRAN编译器上进行编译。
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)include 'aba_param.inc'CHARACTER*8 CMNAMEDIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),1 DDSDDT(NTENS),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS),2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,3),3 DFGRD0(3,3),DFGRD1(3,3)C UMAT FOR ISOTROPIC ELASTICITYC CANNOT BE USED FOR PLANE STRESSC ----------------------------------------------------------------C PROPS(1) - EC PROPS(2) - NUC ----------------------------------------------------------------IF (NDI.NE.3) THENWRITE (6,*) 'THIS UMAT MAY ONLY BE USED FOR ELEMENTS 1 WITH THREE DIRECT STRESS COMPONENTS'CALL XITENDIFCC ELASTIC PROPERTIESEMOD=PROPS(1)ENU=PROPS(2)EBULK3=EMOD/(1-2*ENU)EG2=EMOD/(1+ENU)EG=EG2/2EG3=3*EGELAM=(EBULK3-EG2)/3CC ELASTIC STIFFNESSCDO K1=1, NDIDO K2=1, NDIDDSDDE(K2, K1)=ELAMEND DODDSDDE(K1, K1)=EG2+ELAMEND DODO K1=NDI+1, NTENSDDSDDE(K1 ,K1)=EGEND DOCC CALCULATE STRESSCDO K1=1, NTENSDO K2=1, NTENSSTRESS(K2)=STRESS(K2)+DDSDDE(K2, K1)*DSTRAN(K1)END DOEND DOCRETURNEND5INP输入文件*Heading** Job name: Job-1 Model name: Model-1** Generated by: Abaqus/CAE 6.10-1*Preprint, echo=NO, model=NO, history=NO, contact=NO**** PARTS***Part, name=Part-1*End Part****** ASSEMBLY***Assembly, name=Assembly***Instance, name=Part-1-1, part=Part-1*Node1, 0.0399999991, 0.0399999991, 0.400000006 2, 0.0399999991, 0.029*******, 0.400000006 3, 0.0399999991, 0.0199999996, 0.400000006 4, 0.0399999991, 0.00999999978, 0.400000006 5, 0.0399999991, 0., 0.400000006 6, 0.0399999991, 0.0399999991, 0.389999986 7, 0.0399999991, 0.029*******, 0.389999986 8, 0.0399999991, 0.0199999996, 0.389999986 9, 0.0399999991, 0.00999999978, 0.389999986 10, 0.0399999991, 0., 0.389999986 11, 0.0399999991, 0.0399999991, 0.379999995 12, 0.0399999991, 0.029*******, 0.379999995 13, 0.0399999991, 0.0199999996, 0.379999995 14, 0.0399999991, 0.00999999978, 0.379999995 15, 0.0399999991, 0., 0.379999995 16, 0.0399999991, 0.0399999991, 0.370000005 17, 0.0399999991, 0.029*******, 0.370000005 18, 0.0399999991, 0.0199999996, 0.370000005 19, 0.0399999991, 0.00999999978, 0.370000005 20, 0.0399999991, 0., 0.370000005 21, 0.0399999991, 0.0399999991, 0.360000014 22, 0.0399999991, 0.029*******, 0.360000014 23, 0.0399999991, 0.0199999996, 0.360000014 24, 0.0399999991, 0.00999999978, 0.360000014 25, 0.0399999991, 0., 0.360000014 26, 0.0399999991, 0.0399999991, 0.349999994 27, 0.0399999991, 0.029*******, 0.349999994 28, 0.0399999991, 0.0199999996, 0.349999994 29, 0.0399999991, 0.00999999978, 0.349999994 30, 0.0399999991, 0., 0.349999994 31, 0.0399999991, 0.0399999991, 0.340000004 32, 0.0399999991, 0.029*******, 0.340000004 33, 0.0399999991, 0.0199999996, 0.340000004 34, 0.0399999991, 0.00999999978, 0.340000004 35, 0.0399999991, 0., 0.340000004 36, 0.0399999991, 0.0399999991, 0.330000013 37, 0.0399999991, 0.029*******, 0.330000013 38, 0.0399999991, 0.0199999996, 0.330000013 39, 0.0399999991, 0.00999999978, 0.330000013 40, 0.0399999991, 0., 0.330000013 41, 0.0399999991, 0.0399999991, 0.319999993 42, 0.0399999991, 0.029*******, 0.319999993 43, 0.0399999991, 0.0199999996, 0.319999993 44, 0.0399999991, 0.00999999978, 0.319999993 45, 0.0399999991, 0., 0.319999993 46, 0.0399999991, 0.0399999991, 0.310000002 47, 0.0399999991, 0.029*******, 0.310000002 48, 0.0399999991, 0.0199999996, 0.310000002 49, 0.0399999991, 0.00999999978, 0.310000002 50, 0.0399999991, 0., 0.310000002 51, 0.0399999991, 0.0399999991, 0.300000012 52, 0.0399999991, 0.029*******, 0.300000012 53, 0.0399999991, 0.0199999996, 0.300000012 54, 0.0399999991, 0.00999999978, 0.300000012 55, 0.0399999991, 0., 0.300000012 56, 0.0399999991, 0.0399999991, 0.289999992 57, 0.0399999991, 0.029*******, 0.289999992 58, 0.0399999991, 0.0199999996, 0.289999992 59, 0.0399999991, 0.00999999978, 0.289999992 60, 0.0399999991, 0., 0.289999992 61, 0.0399999991, 0.0399999991, 0.280000001 62, 0.0399999991, 0.029*******, 0.280000001 63, 0.0399999991, 0.0199999996, 0.280000001 64, 0.0399999991, 0.00999999978, 0.280000001 65, 0.0399999991, 0., 0.280000001 66, 0.0399999991, 0.0399999991, 0.270000011 67, 0.0399999991, 0.029*******, 0.270000011 68, 0.0399999991, 0.0199999996, 0.270000011 69, 0.0399999991, 0.00999999978, 0.270000011 70, 0.0399999991, 0., 0.270000011 71, 0.0399999991, 0.0399999991, 0.25999999 72, 0.0399999991, 0.029*******, 0.25999999 73, 0.0399999991, 0.0199999996, 0.2599999976, 0.0399999991, 0.0399999991, 0.25 77, 0.0399999991, 0.029*******, 0.25 78, 0.0399999991, 0.0199999996, 0.25 79, 0.0399999991, 0.00999999978, 0.25 80, 0.0399999991, 0., 0.25 81, 0.0399999991, 0.0399999991, 0.239999995 82, 0.0399999991, 0.029*******, 0.239999995 83, 0.0399999991, 0.0199999996, 0.239999995 84, 0.0399999991, 0.00999999978, 0.239999995 85, 0.0399999991, 0., 0.239999995 86, 0.0399999991, 0.0399999991, 0.230000004 87, 0.0399999991, 0.029*******, 0.230000004 88, 0.0399999991, 0.0199999996, 0.230000004 89, 0.0399999991, 0.00999999978, 0.230000004 90, 0.0399999991, 0., 0.230000004 91, 0.0399999991, 0.0399999991, 0.219999999 92, 0.0399999991, 0.029*******, 0.219999999 93, 0.0399999991, 0.0199999996, 0.219999999 94, 0.0399999991, 0.00999999978, 0.219999999 95, 0.0399999991, 0., 0.219999999 96, 0.0399999991, 0.0399999991, 0.209999993 97, 0.0399999991, 0.029*******, 0.209999993 98, 0.0399999991, 0.0199999996, 0.209999993 99, 0.0399999991, 0.00999999978, 0.209999993 100, 0.0399999991, 0., 0.209999993 101, 0.0399999991, 0.0399999991, 0.200000003 102, 0.0399999991, 0.029*******, 0.200000003 103, 0.0399999991, 0.0199999996, 0.200000003 104, 0.0399999991, 0.00999999978, 0.200000003 105, 0.0399999991, 0., 0.200000003 106, 0.0399999991, 0.0399999991, 0.189999998 107, 0.0399999991, 0.029*******, 0.189999998 108, 0.0399999991, 0.0199999996, 0.189999998 109, 0.0399999991, 0.00999999978, 0.189999998 110, 0.0399999991, 0., 0.189999998 111, 0.0399999991, 0.0399999991, 0.180000007 112, 0.0399999991, 0.029*******, 0.180000007 113, 0.0399999991, 0.0199999996, 0.180000007 114, 0.0399999991, 0.00999999978, 0.180000007 115, 0.0399999991, 0., 0.180000007 116, 0.0399999991, 0.0399999991, 0.170000002 117, 0.0399999991, 0.029*******, 0.170000002 118, 0.0399999991, 0.0199999996, 0.170000002 119, 0.0399999991, 0.00999999978, 0.170000002 120, 0.0399999991, 0., 0.170000002 121, 0.0399999991, 0.0399999991, 0.159999996 122, 0.0399999991, 0.029*******, 0.159999996 123, 0.0399999991, 0.0199999996, 0.159999996 124, 0.0399999991, 0.00999999978, 0.159999996 125, 0.0399999991, 0., 0.159999996 126, 0.0399999991, 0.0399999991, 0.150000006 127, 0.0399999991, 0.029*******, 0.150000006 128, 0.0399999991, 0.0199999996, 0.150000006 129, 0.0399999991, 0.00999999978, 0.150000006 130, 0.0399999991, 0., 0.150000006 131, 0.0399999991, 0.0399999991, 0.140000001 132, 0.0399999991, 0.029*******, 0.140000001 133, 0.0399999991, 0.0199999996, 0.140000001 134, 0.0399999991, 0.00999999978, 0.140000001 135, 0.0399999991, 0., 0.140000001 136, 0.0399999991, 0.0399999991, 0.129999995 137, 0.0399999991, 0.029*******, 0.129999995 138, 0.0399999991, 0.0199999996, 0.129999995 139, 0.0399999991, 0.00999999978, 0.129999995 140, 0.0399999991, 0., 0.129999995 141, 0.0399999991, 0.0399999991, 0.119999997 142, 0.0399999991, 0.029*******, 0.119999997 143, 0.0399999991, 0.0199999996, 0.119999997 144, 0.0399999991, 0.00999999978, 0.119999997 145, 0.0399999991, 0., 0.119999997 146, 0.0399999991, 0.0399999991, 0.109999999 147, 0.0399999991, 0.029*******, 0.109999999 148, 0.0399999991, 0.0199999996, 0.109999999 149, 0.0399999991, 0.00999999978, 0.109999999 150, 0.0399999991, 0., 0.109999999 151, 0.0399999991, 0.0399999991, 0.100000001 152, 0.0399999991, 0.029*******, 0.100000001 153, 0.0399999991, 0.0199999996, 0.100000001156, 0.0399999991, 0.0399999991, 0.0900000036 157, 0.0399999991, 0.029*******, 0.0900000036 158, 0.0399999991, 0.0199999996, 0.0900000036 159, 0.0399999991, 0.00999999978, 0.0900000036 160, 0.0399999991, 0., 0.0900000036 161, 0.0399999991, 0.0399999991, 0.0799999982 162, 0.0399999991, 0.029*******, 0.0799999982 163, 0.0399999991, 0.0199999996, 0.0799999982 164, 0.0399999991, 0.00999999978, 0.0799999982 165, 0.0399999991, 0., 0.0799999982 166, 0.0399999991, 0.0399999991, 0.0700000003 167, 0.0399999991, 0.029*******, 0.0700000003 168, 0.0399999991, 0.0199999996, 0.0700000003 169, 0.0399999991, 0.00999999978, 0.0700000003 170, 0.0399999991, 0., 0.0700000003 171, 0.0399999991, 0.0399999991, 0.0599999987 172, 0.0399999991, 0.029*******, 0.0599999987 173, 0.0399999991, 0.0199999996, 0.0599999987 174, 0.0399999991, 0.00999999978, 0.0599999987 175, 0.0399999991, 0., 0.0599999987 176, 0.0399999991, 0.0399999991, 0.0500000007 177, 0.0399999991, 0.029*******, 0.0500000007 178, 0.0399999991, 0.0199999996, 0.0500000007 179, 0.0399999991, 0.00999999978, 0.0500000007 180, 0.0399999991, 0., 0.0500000007 181, 0.0399999991, 0.0399999991, 0.0399999991 182, 0.0399999991, 0.029*******, 0.0399999991 183, 0.0399999991, 0.0199999996, 0.0399999991 184, 0.0399999991, 0.00999999978, 0.0399999991 185, 0.0399999991, 0., 0.0399999991 186, 0.0399999991, 0.0399999991, 0.029******* 187, 0.0399999991, 0.029*******, 0.029******* 188, 0.0399999991, 0.0199999996, 0.029******* 189, 0.0399999991, 0.00999999978, 0.029******* 190, 0.0399999991, 0., 0.029******* 191, 0.0399999991, 0.0399999991, 0.0199999996 192, 0.0399999991, 0.029*******, 0.0199999996 193, 0.0399999991, 0.0199999996, 0.0199999996 194, 0.0399999991, 0.00999999978, 0.0199999996 195, 0.0399999991, 0., 0.0199999996 196, 0.0399999991, 0.0399999991, 0.00999999978 197, 0.0399999991, 0.029*******, 0.00999999978 198, 0.0399999991, 0.0199999996, 0.00999999978 199, 0.0399999991, 0.00999999978, 0.00999999978 200, 0.0399999991, 0., 0.00999999978 201, 0.0399999991, 0.0399999991, 0. 202, 0.0399999991, 0.029*******, 0. 203, 0.0399999991, 0.0199999996, 0. 204, 0.0399999991, 0.00999999978, 0. 205, 0.0399999991, 0., 0. 206, 0.029*******, 0.0399999991, 0.400000006 207, 0.029*******, 0.029*******, 0.400000006 208, 0.029*******, 0.0199999996, 0.400000006 209, 0.029*******, 0.00999999978, 0.400000006 210, 0.029*******, 0., 0.400000006 211, 0.029*******, 0.0399999991, 0.389999986 212, 0.029*******, 0.029*******, 0.389999986 213, 0.029*******, 0.0199999996, 0.389999986 214, 0.029*******, 0.00999999978, 0.389999986 215, 0.029*******, 0., 0.389999986 216, 0.029*******, 0.0399999991, 0.379999995 217, 0.029*******, 0.029*******, 0.379999995 218, 0.029*******, 0.0199999996, 0.379999995 219, 0.029*******, 0.00999999978, 0.379999995 220, 0.029*******, 0., 0.379999995 221, 0.029*******, 0.0399999991, 0.370000005 222, 0.029*******, 0.029*******, 0.370000005 223, 0.029*******, 0.0199999996, 0.370000005 224, 0.029*******, 0.00999999978, 0.370000005 225, 0.029*******, 0., 0.370000005 226, 0.029*******, 0.0399999991, 0.360000014 227, 0.029*******, 0.029*******, 0.360000014 228, 0.029*******, 0.0199999996, 0.360000014 229, 0.029*******, 0.00999999978, 0.360000014 230, 0.029*******, 0., 0.360000014 231, 0.029*******, 0.0399999991, 0.349999994 232, 0.029*******, 0.029*******, 0.349999994 233, 0.029*******, 0.0199999996, 0.349999994236, 0.029*******, 0.0399999991, 0.340000004 237, 0.029*******, 0.029*******, 0.340000004 238, 0.029*******, 0.0199999996, 0.340000004 239, 0.029*******, 0.00999999978, 0.340000004 240, 0.029*******, 0., 0.340000004 241, 0.029*******, 0.0399999991, 0.330000013 242, 0.029*******, 0.029*******, 0.330000013 243, 0.029*******, 0.0199999996, 0.330000013 244, 0.029*******, 0.00999999978, 0.330000013 245, 0.029*******, 0., 0.330000013 246, 0.029*******, 0.0399999991, 0.319999993 247, 0.029*******, 0.029*******, 0.319999993 248, 0.029*******, 0.0199999996, 0.319999993 249, 0.029*******, 0.00999999978, 0.319999993 250, 0.029*******, 0., 0.319999993 251, 0.029*******, 0.0399999991, 0.310000002 252, 0.029*******, 0.029*******, 0.310000002 253, 0.029*******, 0.0199999996, 0.310000002 254, 0.029*******, 0.00999999978, 0.310000002 255, 0.029*******, 0., 0.310000002 256, 0.029*******, 0.0399999991, 0.300000012 257, 0.029*******, 0.029*******, 0.300000012 258, 0.029*******, 0.0199999996, 0.300000012 259, 0.029*******, 0.00999999978, 0.300000012 260, 0.029*******, 0., 0.300000012 261, 0.029*******, 0.0399999991, 0.289999992 262, 0.029*******, 0.029*******, 0.289999992 263, 0.029*******, 0.0199999996, 0.289999992 264, 0.029*******, 0.00999999978, 0.289999992 265, 0.029*******, 0., 0.289999992 266, 0.029*******, 0.0399999991, 0.280000001 267, 0.029*******, 0.029*******, 0.280000001 268, 0.029*******, 0.0199999996, 0.280000001 269, 0.029*******, 0.00999999978, 0.280000001 270, 0.029*******, 0., 0.280000001 271, 0.029*******, 0.0399999991, 0.270000011 272, 0.029*******, 0.029*******, 0.270000011 273, 0.029*******, 0.0199999996, 0.270000011 274, 0.029*******, 0.00999999978, 0.270000011 275, 0.029*******, 0., 0.270000011 276, 0.029*******, 0.0399999991, 0.25999999 277, 0.029*******, 0.029*******, 0.25999999 278, 0.029*******, 0.0199999996, 0.25999999 279, 0.029*******, 0.00999999978, 0.25999999 280, 0.029*******, 0., 0.25999999 281, 0.029*******, 0.0399999991, 0.25 282, 0.029*******, 0.029*******, 0.25 283, 0.029*******, 0.0199999996, 0.25 284, 0.029*******, 0.00999999978, 0.25 285, 0.029*******, 0., 0.25 286, 0.029*******, 0.0399999991, 0.239999995 287, 0.029*******, 0.029*******, 0.239999995 288, 0.029*******, 0.0199999996, 0.239999995 289, 0.029*******, 0.00999999978, 0.239999995 290, 0.029*******, 0., 0.239999995 291, 0.029*******, 0.0399999991, 0.230000004 292, 0.029*******, 0.029*******, 0.230000004 293, 0.029*******, 0.0199999996, 0.230000004 294, 0.029*******, 0.00999999978, 0.230000004 295, 0.029*******, 0., 0.230000004 296, 0.029*******, 0.0399999991, 0.219999999 297, 0.029*******, 0.029*******, 0.219999999 298, 0.029*******, 0.0199999996, 0.219999999 299, 0.029*******, 0.00999999978, 0.219999999 300, 0.029*******, 0., 0.219999999 301, 0.029*******, 0.0399999991, 0.209999993 302, 0.029*******, 0.029*******, 0.209999993 303, 0.029*******, 0.0199999996, 0.209999993 304, 0.029*******, 0.00999999978, 0.209999993 305, 0.029*******, 0., 0.209999993 306, 0.029*******, 0.0399999991, 0.200000003 307, 0.029*******, 0.029*******, 0.200000003 308, 0.029*******, 0.0199999996, 0.200000003 309, 0.029*******, 0.00999999978, 0.200000003 310, 0.029*******, 0., 0.200000003 311, 0.029*******, 0.0399999991, 0.189999998 312, 0.029*******, 0.029*******, 0.189999998 313, 0.029*******, 0.0199999996, 0.189999998316, 0.029*******, 0.0399999991, 0.180000007 317, 0.029*******, 0.029*******, 0.180000007 318, 0.029*******, 0.0199999996, 0.180000007 319, 0.029*******, 0.00999999978, 0.180000007 320, 0.029*******, 0., 0.180000007 321, 0.029*******, 0.0399999991, 0.170000002 322, 0.029*******, 0.029*******, 0.170000002 323, 0.029*******, 0.0199999996, 0.170000002 324, 0.029*******, 0.00999999978, 0.170000002 325, 0.029*******, 0., 0.170000002 326, 0.029*******, 0.0399999991, 0.159999996 327, 0.029*******, 0.029*******, 0.159999996 328, 0.029*******, 0.0199999996, 0.159999996 329, 0.029*******, 0.00999999978, 0.159999996 330, 0.029*******, 0., 0.159999996 331, 0.029*******, 0.0399999991, 0.150000006 332, 0.029*******, 0.029*******, 0.150000006 333, 0.029*******, 0.0199999996, 0.150000006 334, 0.029*******, 0.00999999978, 0.150000006 335, 0.029*******, 0., 0.150000006 336, 0.029*******, 0.0399999991, 0.140000001 337, 0.029*******, 0.029*******, 0.140000001 338, 0.029*******, 0.0199999996, 0.140000001 339, 0.029*******, 0.00999999978, 0.140000001 340, 0.029*******, 0., 0.140000001 341, 0.029*******, 0.0399999991, 0.129999995 342, 0.029*******, 0.029*******, 0.129999995 343, 0.029*******, 0.0199999996, 0.129999995 344, 0.029*******, 0.00999999978, 0.129999995 345, 0.029*******, 0., 0.129999995 346, 0.029*******, 0.0399999991, 0.119999997 347, 0.029*******, 0.029*******, 0.119999997 348, 0.029*******, 0.0199999996, 0.119999997 349, 0.029*******, 0.00999999978, 0.119999997 350, 0.029*******, 0., 0.119999997 351, 0.029*******, 0.0399999991, 0.109999999 352, 0.029*******, 0.029*******, 0.109999999 353, 0.029*******, 0.0199999996, 0.109999999 354, 0.029*******, 0.00999999978, 0.109999999 355, 0.029*******, 0., 0.109999999 356, 0.029*******, 0.0399999991, 0.100000001 357, 0.029*******, 0.029*******, 0.100000001 358, 0.029*******, 0.0199999996, 0.100000001 359, 0.029*******, 0.00999999978, 0.100000001 360, 0.029*******, 0., 0.100000001 361, 0.029*******, 0.0399999991, 0.0900000036 362, 0.029*******, 0.029*******, 0.0900000036 363, 0.029*******, 0.0199999996, 0.0900000036 364, 0.029*******, 0.00999999978, 0.0900000036 365, 0.029*******, 0., 0.0900000036 366, 0.029*******, 0.0399999991, 0.0799999982 367, 0.029*******, 0.029*******, 0.0799999982 368, 0.029*******, 0.0199999996, 0.0799999982 369, 0.029*******, 0.00999999978, 0.0799999982 370, 0.029*******, 0., 0.0799999982 371, 0.029*******, 0.0399999991, 0.0700000003 372, 0.029*******, 0.029*******, 0.0700000003 373, 0.029*******, 0.0199999996, 0.0700000003 374, 0.029*******, 0.00999999978, 0.0700000003 375, 0.029*******, 0., 0.0700000003 376, 0.029*******, 0.0399999991, 0.0599999987 377, 0.029*******, 0.029*******, 0.0599999987 378, 0.029*******, 0.0199999996, 0.0599999987 379, 0.029*******, 0.00999999978, 0.0599999987 380, 0.029*******, 0., 0.0599999987 381, 0.029*******, 0.0399999991, 0.0500000007 382, 0.029*******, 0.029*******, 0.0500000007 383, 0.029*******, 0.0199999996, 0.0500000007 384, 0.029*******, 0.00999999978, 0.0500000007 385, 0.029*******, 0., 0.0500000007 386, 0.029*******, 0.0399999991, 0.0399999991 387, 0.029*******, 0.029*******, 0.0399999991 388, 0.029*******, 0.0199999996, 0.0399999991 389, 0.029*******, 0.00999999978, 0.0399999991 390, 0.029*******, 0., 0.0399999991 391, 0.029*******, 0.0399999991, 0.029******* 392, 0.029*******, 0.029*******, 0.029******* 393, 0.029*******, 0.0199999996, 0.029*******396, 0.029*******, 0.0399999991, 0.0199999996 397, 0.029*******, 0.029*******, 0.0199999996 398, 0.029*******, 0.0199999996, 0.0199999996 399, 0.029*******, 0.00999999978, 0.0199999996 400, 0.029*******, 0., 0.0199999996 401, 0.029*******, 0.0399999991, 0.00999999978 402, 0.029*******, 0.029*******, 0.00999999978 403, 0.029*******, 0.0199999996, 0.00999999978 404, 0.029*******, 0.00999999978, 0.00999999978 405, 0.029*******, 0., 0.00999999978 406, 0.029*******, 0.0399999991, 0. 407, 0.029*******, 0.029*******, 0. 408, 0.029*******, 0.0199999996, 0. 409, 0.029*******, 0.00999999978, 0. 410, 0.029*******, 0., 0. 411, 0.0199999996, 0.0399999991, 0.400000006 412, 0.0199999996, 0.029*******, 0.400000006 413, 0.0199999996, 0.0199999996, 0.400000006 414, 0.0199999996, 0.00999999978, 0.400000006 415, 0.0199999996, 0., 0.400000006 416, 0.0199999996, 0.0399999991, 0.389999986 417, 0.0199999996, 0.029*******, 0.389999986 418, 0.0199999996, 0.0199999996, 0.389999986 419, 0.0199999996, 0.00999999978, 0.389999986 420, 0.0199999996, 0., 0.389999986 421, 0.0199999996, 0.0399999991, 0.379999995 422, 0.0199999996, 0.029*******, 0.379999995 423, 0.0199999996, 0.0199999996, 0.379999995 424, 0.0199999996, 0.00999999978, 0.379999995 425, 0.0199999996, 0., 0.379999995 426, 0.0199999996, 0.0399999991, 0.370000005 427, 0.0199999996, 0.029*******, 0.370000005 428, 0.0199999996, 0.0199999996, 0.370000005 429, 0.0199999996, 0.00999999978, 0.370000005 430, 0.0199999996, 0., 0.370000005 431, 0.0199999996, 0.0399999991, 0.360000014 432, 0.0199999996, 0.029*******, 0.360000014 433, 0.0199999996, 0.0199999996, 0.360000014 434, 0.0199999996, 0.00999999978, 0.360000014 435, 0.0199999996, 0., 0.360000014 436, 0.0199999996, 0.0399999991, 0.349999994 437, 0.0199999996, 0.029*******, 0.349999994 438, 0.0199999996, 0.0199999996, 0.349999994 439, 0.0199999996, 0.00999999978, 0.349999994 440, 0.0199999996, 0., 0.349999994 441, 0.0199999996, 0.0399999991, 0.340000004 442, 0.0199999996, 0.029*******, 0.340000004 443, 0.0199999996, 0.0199999996, 0.340000004 444, 0.0199999996, 0.00999999978, 0.340000004 445, 0.0199999996, 0., 0.340000004 446, 0.0199999996, 0.0399999991, 0.330000013 447, 0.0199999996, 0.029*******, 0.330000013 448, 0.0199999996, 0.0199999996, 0.330000013 449, 0.0199999996, 0.00999999978, 0.330000013 450, 0.0199999996, 0., 0.330000013 451, 0.0199999996, 0.0399999991, 0.319999993 452, 0.0199999996, 0.029*******, 0.319999993 453, 0.0199999996, 0.0199999996, 0.319999993 454, 0.0199999996, 0.00999999978, 0.319999993 455, 0.0199999996, 0., 0.319999993 456, 0.0199999996, 0.0399999991, 0.310000002 457, 0.0199999996, 0.029*******, 0.310000002 458, 0.0199999996, 0.0199999996, 0.310000002 459, 0.0199999996, 0.00999999978, 0.310000002 460, 0.0199999996, 0., 0.310000002 461, 0.0199999996, 0.0399999991, 0.300000012 462, 0.0199999996, 0.029*******, 0.300000012 463, 0.0199999996, 0.0199999996, 0.300000012 464, 0.0199999996, 0.00999999978, 0.300000012 465, 0.0199999996, 0., 0.300000012 466, 0.0199999996, 0.0399999991, 0.289999992 467, 0.0199999996, 0.029*******, 0.289999992 468, 0.0199999996, 0.0199999996, 0.289999992 469, 0.0199999996, 0.00999999978, 0.289999992 470, 0.0199999996, 0., 0.289999992 471, 0.0199999996, 0.0399999991, 0.280000001 472, 0.0199999996, 0.029*******, 0.280000001 473, 0.0199999996, 0.0199999996, 0.280000001476, 0.0199999996, 0.0399999991, 0.270000011 477, 0.0199999996, 0.029*******, 0.270000011 478, 0.0199999996, 0.0199999996, 0.270000011 479, 0.0199999996, 0.00999999978, 0.270000011 480, 0.0199999996, 0., 0.270000011 481, 0.0199999996, 0.0399999991, 0.25999999 482, 0.0199999996, 0.029*******, 0.25999999 483, 0.0199999996, 0.0199999996, 0.25999999 484, 0.0199999996, 0.00999999978, 0.25999999 485, 0.0199999996, 0., 0.25999999 486, 0.0199999996, 0.0399999991, 0.25 487, 0.0199999996, 0.029*******, 0.25 488, 0.0199999996, 0.0199999996, 0.25 489, 0.0199999996, 0.00999999978, 0.25 490, 0.0199999996, 0., 0.25 491, 0.0199999996, 0.0399999991, 0.239999995 492, 0.0199999996, 0.029*******, 0.239999995 493, 0.0199999996, 0.0199999996, 0.239999995 494, 0.0199999996, 0.00999999978, 0.239999995 495, 0.0199999996, 0., 0.239999995 496, 0.0199999996, 0.0399999991, 0.230000004 497, 0.0199999996, 0.029*******, 0.230000004 498, 0.0199999996, 0.0199999996, 0.230000004 499, 0.0199999996, 0.00999999978, 0.230000004 500, 0.0199999996, 0., 0.230000004 501, 0.0199999996, 0.0399999991, 0.219999999 502, 0.0199999996, 0.029*******, 0.219999999 503, 0.0199999996, 0.0199999996, 0.219999999 504, 0.0199999996, 0.00999999978, 0.219999999 505, 0.0199999996, 0., 0.219999999 506, 0.0199999996, 0.0399999991, 0.209999993 507, 0.0199999996, 0.029*******, 0.209999993 508, 0.0199999996, 0.0199999996, 0.209999993 509, 0.0199999996, 0.00999999978, 0.209999993 510, 0.0199999996, 0., 0.209999993 511, 0.0199999996, 0.0399999991, 0.200000003 512, 0.0199999996, 0.029*******, 0.200000003 513, 0.0199999996, 0.0199999996, 0.200000003 514, 0.0199999996, 0.00999999978, 0.200000003 515, 0.0199999996, 0., 0.200000003 516, 0.0199999996, 0.0399999991, 0.189999998 517, 0.0199999996, 0.029*******, 0.189999998 518, 0.0199999996, 0.0199999996, 0.189999998 519, 0.0199999996, 0.00999999978, 0.189999998 520, 0.0199999996, 0., 0.189999998 521, 0.0199999996, 0.0399999991, 0.180000007 522, 0.0199999996, 0.029*******, 0.180000007 523, 0.0199999996, 0.0199999996, 0.180000007 524, 0.0199999996, 0.00999999978, 0.180000007 525, 0.0199999996, 0., 0.180000007 526, 0.0199999996, 0.0399999991, 0.170000002 527, 0.0199999996, 0.029*******, 0.170000002 528, 0.0199999996, 0.0199999996, 0.170000002 529, 0.0199999996, 0.00999999978, 0.170000002 530, 0.0199999996, 0., 0.170000002 531, 0.0199999996, 0.0399999991, 0.159999996 532, 0.0199999996, 0.029*******, 0.159999996 533, 0.0199999996, 0.0199999996, 0.159999996 534, 0.0199999996, 0.00999999978, 0.159999996 535, 0.0199999996, 0., 0.159999996 536, 0.0199999996, 0.0399999991, 0.150000006 537, 0.0199999996, 0.029*******, 0.150000006 538, 0.0199999996, 0.0199999996, 0.150000006 539, 0.0199999996, 0.00999999978, 0.150000006 540, 0.0199999996, 0., 0.150000006 541, 0.0199999996, 0.0399999991, 0.140000001 542, 0.0199999996, 0.029*******, 0.140000001 543, 0.0199999996, 0.0199999996, 0.140000001 544, 0.0199999996, 0.00999999978, 0.140000001 545, 0.0199999996, 0., 0.140000001 546, 0.0199999996, 0.0399999991, 0.129999995 547, 0.0199999996, 0.029*******, 0.129999995 548, 0.0199999996, 0.0199999996, 0.129999995 549, 0.0199999996, 0.00999999978, 0.129999995 550, 0.0199999996, 0., 0.129999995 551, 0.0199999996, 0.0399999991, 0.119999997 552, 0.0199999996, 0.029*******, 0.119999997 553, 0.0199999996, 0.0199999996, 0.119999997556, 0.0199999996, 0.0399999991, 0.109999999 557, 0.0199999996, 0.029*******, 0.109999999 558, 0.0199999996, 0.0199999996, 0.109999999 559, 0.0199999996, 0.00999999978, 0.109999999 560, 0.0199999996, 0., 0.109999999 561, 0.0199999996, 0.0399999991, 0.100000001 562, 0.0199999996, 0.029*******, 0.100000001 563, 0.0199999996, 0.0199999996, 0.100000001 564, 0.0199999996, 0.00999999978, 0.100000001 565, 0.0199999996, 0., 0.100000001 566, 0.0199999996, 0.0399999991, 0.0900000036567, 0.0199999996, 0.029*******, 0.0900000036568, 0.0199999996, 0.0199999996, 0.0900000036569, 0.0199999996, 0.00999999978, 0.0900000036 570, 0.0199999996, 0., 0.0900000036 571, 0.0199999996, 0.0399999991, 0.0799999982572, 0.0199999996, 0.029*******, 0.0799999982573, 0.0199999996, 0.0199999996, 0.0799999982574, 0.0199999996, 0.00999999978, 0.0799999982 575, 0.0199999996, 0., 0.0799999982 576, 0.0199999996, 0.0399999991, 0.0700000003577, 0.0199999996, 0.029*******, 0.0700000003578, 0.0199999996, 0.0199999996, 0.0700000003579, 0.0199999996, 0.00999999978, 0.0700000003 580, 0.0199999996, 0., 0.0700000003 581, 0.0199999996, 0.0399999991, 0.0599999987582, 0.0199999996, 0.029*******, 0.0599999987583, 0.0199999996, 0.0199999996, 0.0599999987584, 0.0199999996, 0.00999999978, 0.0599999987 585, 0.0199999996, 0., 0.0599999987 586, 0.0199999996, 0.0399999991, 0.0500000007587, 0.0199999996, 0.029*******, 0.0500000007588, 0.0199999996, 0.0199999996, 0.0500000007589, 0.0199999996, 0.00999999978, 0.0500000007 590, 0.0199999996, 0., 0.0500000007 591, 0.0199999996, 0.0399999991, 0.0399999991592, 0.0199999996, 0.029*******, 0.0399999991593, 0.0199999996, 0.0199999996, 0.0399999991594, 0.0199999996, 0.00999999978, 0.0399999991 595, 0.0199999996, 0., 0.0399999991 596, 0.0199999996, 0.0399999991, 0.029*******597, 0.0199999996, 0.029*******, 0.029*******598, 0.0199999996, 0.0199999996, 0.029*******599, 0.0199999996, 0.00999999978, 0.029******* 600, 0.0199999996, 0., 0.029******* 601, 0.0199999996, 0.0399999991, 0.0199999996602, 0.0199999996, 0.029*******, 0.0199999996603, 0.0199999996, 0.0199999996, 0.0199999996604, 0.0199999996, 0.00999999978, 0.0199999996 605, 0.0199999996, 0., 0.0199999996 606, 0.0199999996, 0.0399999991, 0.00999999978 607, 0.0199999996, 0.029*******, 0.00999999978 608, 0.0199999996, 0.0199999996, 0.00999999978 609, 0.0199999996, 0.00999999978, 0.00999999978 610, 0.0199999996, 0., 0.00999999978 611, 0.0199999996, 0.0399999991, 0. 612, 0.0199999996, 0.029*******, 0. 613, 0.0199999996, 0.0199999996, 0. 614, 0.0199999996, 0.00999999978, 0. 615, 0.0199999996, 0., 0. 616, 0.00999999978, 0.0399999991, 0.400000006 617, 0.00999999978, 0.029*******, 0.400000006 618, 0.00999999978, 0.0199999996, 0.400000006 619, 0.00999999978, 0.00999999978, 0.400000006 620, 0.00999999978, 0., 0.400000006 621, 0.00999999978, 0.0399999991, 0.389999986 622, 0.00999999978, 0.029*******, 0.389999986 623, 0.00999999978, 0.0199999996, 0.389999986 624, 0.00999999978, 0.00999999978, 0.389999986 625, 0.00999999978, 0., 0.389999986 626, 0.00999999978, 0.0399999991, 0.379999995 627, 0.00999999978, 0.029*******, 0.379999995 628, 0.00999999978, 0.0199999996, 0.379999995 629, 0.00999999978, 0.00999999978, 0.379999995 630, 0.00999999978, 0., 0.379999995 631, 0.00999999978, 0.0399999991, 0.370000005 632, 0.00999999978, 0.029*******, 0.370000005 633, 0.00999999978, 0.0199999996, 0.370000005。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ABAQUS/Standard 用户材料子程序实例-Johnson-Cook 金属本构模型卢剑锋 庄茁* 张帆清华大学工程力学系 北京 100084摘要:用户材料子程序是ABAQUS 提供给用户定义自己的材料属性的Fortran 程序接口,使用户能使用ABAQUS 材料库中没有定义的材料模型。
ABAQUS 中自有的Johnson-Cook 模型只能应用于显式ABAQUS/Explicit 程序中,而我们希望能在隐式ABAQUS/Standard 程序中更精确的实现本构积分,而且应用Johnson-Cook 模型的修正形式。
这就需要通过ABAQUS/Standard 的用户材料子程序UMAT 编程实现。
在UMAT 编程中使用了率相关塑性理论以及完全隐式的应力更新算法。
1 Johnson-Cook 强化模型简介Johnson-Cook (JC )模型用来模拟高应变率下的金属材料。
JC 强化模型表示为三项的乘积,分别反映了应变硬化,应变率硬化和温度软化。
这里使用JC 模型的修正形式:()()*01ln 11n mA B C T εσεε=+++−&& 并使参考应变率01ε=&,这样公式中的A 即为材料的静态屈服应力。
公式中包含,,,,A B n C m 五个参数,需要通过实验来确定。
2 ABAQUS 用户材料子程序用户材料子程序(User-defined Material Mechanical Behavior ,简称UMAT )通过与ABAQUS 主求解程序的接口实现与ABAQUS 的数据交流。
在输入文件中,使用关键字“*USER MATERIAL”表示定义用户材料属性。
子程序概况与接口UMAT 子程序具有强大的功能,使用UMAT 子程序:(1) 可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。
(2)几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQUS中的任何单元;(3)必须在UMAT中提供材料本构模型的雅可比(Jacobian)矩阵,即应力增量对应变增量的变化率。
(4)可以和用户子程序“USDFLD”联合使用,通过“USDFLD”重新定义单元每一物质点上传递到UMAT中场变量的数值。
由于主程序与UMAT之间存在数据传递,甚至共用一些变量,因此必须遵守有关UMAT的书写格式,UMAT中常用的变量在文件开头予以定义,通常格式为:SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,1 RPL,DDSDDT,DRPLDE,DRPLDT,2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMEDIMENSION 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(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)user coding to define DDSDDE, STRESS, STATEV, SSE, SPD, SCDand, if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDTRETURNENDUMAT中的应力矩阵、应变矩阵以及矩阵DDSDDE,DDSDDT,DRPLDE等,都是直接分量存储在前,剪切分量存储在后。
直接分量有NDI个,剪切分量有NSHR个。
各分量之间的顺序根据单元自由度的不同有一些差异,所以编写UMAT时要考虑到所使用单元的类别。
下面对UMAT中用到的一些变量进行说明:(),DDSDDE NTENS NTENS是一个NTENS维的方阵,称作雅可比矩阵,/σε,∆σ是应力的增量,∆ε是应变的增量,∂∆∂∆(),DDSDDE I J表示增量步结束时第J个应变分量的改变引起的第I个应力分量的变化。
通常雅可比是一个对称矩阵,除非在“*USER MATERIAL”语句中加入了“UNSYMM”参数。
()STRESS NTENS应力张量矩阵,对应NDI个直接分量和NSHR个剪切分量。
在增量步的开始,应力张量矩阵中的数值通过UMAT和主程序之间的接口传递到UMAT中,在增量步的结束UMAT将对应力张量矩阵更新。
对于包含刚体转动的有限应变问题,一个增量步调用UMAT之前就已经对应力张量的进行了刚体转动,因此在UMAT中只需处理应力张量的共旋部分。
UMAT中应力张量的度量为柯西(真实)应力。
()STATEV NSTATEV用于存储状态变量的矩阵,在增量步开始时将数值传递到UMAT中。
也可在子程序USDFLD 或UEXPAN中先更新数据,然后增量步开始时将更新后的数据传递到UMAT中。
在增量步的结束必须更新状态变量矩阵中的数据。
和应力张量矩阵不同的是:对于有限应变问题,除了材料本构行为引起的数据更新以外,状态变量矩阵中的任何矢量或者张量都必须通过旋转来考虑材料的刚体运动。
状态变量矩阵的维数,等于关键字“*DEPVAR”定义的数值。
状态变量矩阵的维数通过ABAQUS输入文件中的关键字“*DEPVAR”定义,关键字下面数据行的数值即为状态变量矩阵的维数。
材料常数的个数,等于关键字“*USER MATERIAL”中“CONSTANTS”常数设定的值。
()PROPS NPROPS材料常数矩阵,矩阵中元素的数值对应于关键字“*USER MATERIAL”下面的数据行。
SSE,SPD,SCD分别定义每一增量步的弹性应变能,塑性耗散和蠕变耗散。
它们对计算结果没有影响,仅仅作为能量输出。
其他变量:()STRAN NTENS:应变矩阵;()DSTRAN NTENS:应变增量矩阵;DTIME:增量步的时间增量;NDI:直接应力分量的个数;NSHR:剪切应力分量的个数;=+。
NTENS:总应力分量的个数,NTENS NDI NSHR使用UMAT时需要注意单元的沙漏控制刚度和横向剪切刚度。
通常减缩积分单元的沙漏控制刚度和板、壳、梁单元的横向剪切刚度是通过材料属性中的弹性性质定义的。
这些刚度基于材料初始剪切模量的值,通常在材料定义中通过“*ELASTIC”选项定义。
但是使用UMAT的时候,ABAQUS对程序输入文件进行预处理的时候得不到剪切模量的数值。
所以这时候用户必须使用“*HOURGLASS STIFFNESS”选项来定义具有沙漏模式的单元的沙漏控制刚度,使用“*TRANSVERSE SHEAR STIFFNESS”选项来定义板、壳、梁单元的横向剪切刚度。
编程基于上面所述的率相关材料公式和应力更新算法,参照ABAQUS用户材料子程序的接口规范,进行UMAT的编程。
有限元模拟结果将在下一节给出,在最后一节中还给出了相应的程序源代码。
由于UMAT在单元的积分点上调用,增量步开始时,主程序路径将通过UMAT的接口进入UMAT,单元当前积分点必要变量的初始值将随之传递给UMAT的相应变量。
在UMAT结束时,变量的更新值将通过接口返回主程序。
整个UMAT的流程如图1所示。
一共有8个材料常数需要给定,并申请一个13维的状态变量矩阵,它们表示的物理含义如表1所示。
下一步将使用建立的UMAT结合ABAQUS/Standard进行霍布金森冲击杆(SHPB)实验的有限元模拟,并对结果进行比较。
图1 UMAT流程图表1 UMAT材料常数PROPS 1 2 3 4 5 6 7 8物理性质杨氏模量泊松比塑性耗散比 A B n C MSTATEV 1-6 7-12 13变量意义弹性应变塑性应变等效塑性应变3 SHPB实验的有限元模拟模型的简化与有限元网格为了不使模型过于庞大,对模型进行了一些简化。
首先,改变入力杆和出力杆的尺寸,长度由原来的3040mm减小为1000mm,直径增加到25mm,试件的长度和直径也分别变化为22mm 和18mm。
这样不仅优化了网格的质量,还成倍地减小了模型的规模,其带来的负面影响就是试件能达到的应变将降低。
另外,由于撞击杆仅仅起到产生应力脉冲的作用,在数值模型中没必要考虑撞击杆,取代的方法是直接在入力杆的输入端施加均布的应力脉冲。
考虑到实验装置的对称性,也做了一些简化。
整个实验装置以及载荷等都是关于杆的中心线轴对称的,所以可以使用轴对称单元进行二维分析。
二维轴对称模型如图2所示。
在模型中,对试件以及入力杆,出力杆和试件接触的部分进行了局部网格加密,这样的网格划分可以取得比较经济的结果。
图2 二维轴对称有限元模型表2 模型信息模 型 尺寸[mm] (Φ×L )单元类型单元个数总节点数总单元数入力杆 25×1000 CAX4 530试件 18×22 CAX4 160 二维模型 出力杆25×1000 CAX4 5301475 1220 材料定义入力杆和出力杆使用线弹性材料,弹性模量和泊松比分别为200GPa 和0.3,密度为7.85×103kg/m 3。
试件采用用户在UMAT 中自定义材料,材料参数如表3所示,其中Johnson-Cook 模型中参数的数值来源于前面的数值拟合程序。
表3 试件的材料定义Johnson-Cook 模型参数 性质 密度 [Kg/m 3]杨氏模量 [MPa]泊松比A [MPa ]B [MPa] nC M数值2.7×103 68.0×103 0.3366.562108.8530.2380.029 0.5边界条件为了保证SHPB 实验的要求,在二维模型中施加了必要的边界条件。
在对称轴上施加了对称性边界条件,同时保证压杆和试件可以沿轴线方向自由无约束的运动。
压杆和试件之间的接触为硬接触,光滑无摩擦。
为了确定输入应力脉冲的时间,进行了简单的计算。
弹性材料中纵波波速的计算公式为:d C =其中E 为材料弹性模量,ρ为材料密度。
由此可以计算输入应力波在压杆中的传播速度为5048d C =m/s 。
要求在入力杆应力波的输入端不能出现入射波和反射波的重叠,也就是说在输入应力脉冲的时间内,应力波的传播距离不应超过两倍的杆长,即:422 4.010()5048s d L T s C −<=≈× 根据这一估计,选择输入应力脉冲的持续时间42.010s T −=×s ,上升时间53.010r t −=×s 。