Abaqus 用户子程序uinter介绍

Abaqus 用户子程序uinter介绍
Abaqus 用户子程序uinter介绍

1.1.38 UINTER

User subroutine to define surface interaction behavior for contact surfaces.

Product: Abaqus/Standard

References

“User-defined interfacial constitutive behavior,” Section 36.1.6 of the Abaqus Analysis User's

Manual

*SURFACE INTERACTION

“U I N T E R,” Section 4.1.20 of the Abaqus Verification Manual

Overview

User subroutine U I N T E R:

is called at points on the slave surface of a contact pair with a user-defined constitutive model

defining the interaction between the surfaces;

can be used to define the mechanical (normal and shear) and thermal (heat flux) interactions between surfaces;

can be used when the normal surface behavior (contact pressure versus overclosure) models

(“Contact pressure-overclosure relationships,” Section 36.1.2 of the Abaqus Analysis User's

Manual) or the extended versions of the classical Coulomb friction model (“Frictional behavior,”

Section 36.1.5 of the Abaqus Analysis User's Manual) are too restrictive and a more complex

definition of normal and shear transmission between contacting surfaces, including damping properties, are required;

must provide the entire definition of the mechanical and the thermal interaction between the contacting surfaces (hence, no additional surface behaviors can be specified in conjunction with this capability);

can provide the entire definition of viscous and structural damping for interaction between the

contacting surfaces for direct steady-state dynamic analysis;

can use and update solution-dependent state variables; and

is not available for contact elements.

User subroutine interface

S U B R O U T I N E U I N T E R(S T R E S S,D D S D D R,D V I S C O U S,D S T R U C T U R A L,F L U X,D D F D D T,

1D D S D D T,D D F D D R,S T A T E V,S E D,S F D,S P D,S V D,S C D,P N E W D T,R D I S P,

2D R D I S P,

3T E M P,D T E M P,P R E D E F,D P R E D,T I M E,D T I M E,F R E Q R,C I N A M E,S L N A M E,

4M S N A M E,

5P R O P S,C O O R D S,A L O C A L D I R,D R O T,A R E A,C H R L N G T H,N O D E,N D I R,N S T A T V,

6N P R E D,N P R O P S,M C R D,K S T E P,K I N C,K I T,L I N P E R,L O P E N C L O S E,L S T A T E,

7L S D I,L P R I N T)

C

I N C L U D E'A B A_P A R A M.I N C'

C

C H A R A C T E R*80C I N A M E,S L N A M E,M S N A M E

D I M

E N S I O N S T R E S S(N D I R),D D S D D R(N D I R,N D I R),

F L U X(2),D D F D D T(2,2),

1D D S D D T(N D I R,2),D D F D D R(2,N D I R),S T A T E V(N S T A T V),

2R D I S P(N D I R),D R D I S P(N D I R),T E M P(2),D T E M P(2),P R E D E F(2,N P R E D),

3D P R E D(2,N P R E D),T I M E(2),P R O P S(N P R O P S),C O O R D S(M C R D),

4A L O C A L D I R(3,3),D R O T(2,2),D V I S C O U S(N D I R,N D I R),

5D S T R U C T U R A L(N D I R,N D I R)

user coding to define S T R E S S,D D S D D R,F L U X,D D F D D T,

D D S D D T,D D F D D R,

and, optionally,S T A T E V,S E D,S F D,S P D,S V D,S C D,P N E W D T,

L O P E N C L O S E,L S T A T E,L S D I,D V I S C O U S,D S T R U C T U R A L

R E T U R N

E N D

Variables to be defined

S T R E S S(N D I R)

This array is passed in as the stress between the slave and master surfaces at the beginning of the

increment and must be updated in this routine to be the stress at the end of the increment. The stress must be defined in a local coordinate system (see A L O C D I R). This variable must be defined for a

stress/displacement, a fully coupled temperature-displacement, or a coupled thermal-electrical-

structural analysis. The sign convention for stresses is that a positive stress indicates compression across contact surfaces, while a negative stress indicates tension.

D D S D D R(N D I R,N D I R)

Interface stiffness matrix. D D S D D R(I,J)defines the change in the Ith stress component at the end of the time increment caused by an infinitesimal perturbation of the Jth component of the relative

displacement increment array. Unless you invoke the unsymmetric equation solution capability in the contact property model definition (“Use with the unsymmetric equation solver in Abaqus/Standard” in “User-defined interfacial constitutive behavior,” Section 36.1.6 of the Abaqus Analysis User's

Manual), Abaqus/Standard will use only the symmetric part of D D S D D R. For a particular off-diagonal (I,J) entry, the symmetrization is done by halving the sum of (I,J) and (J,I) components. D D S D D R must be defined for a stress/displacement, a fully coupled temperature-displacement, or a coupled thermal-electrical-structural analysis to ensure proper convergence characteristics.

F L U X(2)

Magnitude of the heat flux flowing into the slave and master surfaces, respectively. This array is passed in as the value at the beginning of the increment and must be updated to the flux at the end of the

increment. The convention for defining the flux is that a positive flux indicates heat flowing into a

surface, while a negative flux indicates heat flowing out of the surface. This variable must be defined for

a heat transfer, a fully coupled temperature-displacement, or a coupled thermal-electrical-structural

analysis. The sum of these two flux terms represents the heat generated in the interface, and the

difference in these flux terms represents the heat conducted through the interface.

D D F D D T(2,2)

The negative of the variation of the flux at the two surfaces with respect to their respective

temperatures, for a fixed relative displacement. This variable must be defined for a heat transfer, a fully coupled temperature-displacement, or a coupled thermal-electrical-structural analysis to ensure proper convergence characteristics. The entries in the first row contain the negatives of the derivatives of

F L U X(1)with respect to T E M P(1)and T E M P(2), respectively. The entries in the second row contain

the negatives of the corresponding derivatives of F L U X(2).

D D S D D T(N D I R,2)

Variation of the stress with respect to the temperatures of the two surfaces for a fixed relative

displacement. This variable is required only for thermally coupled elements (in a fully coupled

temperature-displacement or a coupled thermal-electrical-structural analysis), in which the stress is a function of the surface temperatures. D D S D D T(N D I R,1)corresponds to the slave surface, and

D D S D D T(N D I R,2)corresponds to the master surface.

D D F D D R(2,N D I R)

Variation of the flux with respect to the relative displacement between the two surfaces. This variable is required only for thermally coupled elements (in a fully coupled temperature-displacement or a coupled thermal-electrical-structural analysis), in which the flux is a function of the relative displacement.

D D F D D R(1,N D I R)corresponds to the slave surface, and D D F D D R(2,N D I R)corresponds to the master

surface.

Variables that can be updated

D V I S C O U S(N D I R,N D I R)

Interface viscous damping matrix that can be used only in direct steady-state dynamic analysis.

D V I S C O U S(I,J)defines an element in the material viscous damping matrix at the current frequency.

Abaqus/Standard requires that this element is defined as a damping value for each of the (I, J) entries times the current frequency value F R E Q R obtained from the argument list.

Unless you invoke the unsymmetric equation solution capability in the contact property model definition (“Use with the unsymmetric equation solver in Abaqus/Standard” in “User-defined interfacial

constitutive behavior,” Section 36.1.6 of the Abaqus Analysis User's Manual), Abaqus/Standard uses only the symmetric part of D V I S C O U S. For a particular off-diagonal (I, J) entry the symmetrization is done by halving the sum of the (I, J) and (J, I) components.

D S T R U C T U R A L(N D I R,N D I R)

Interface structural damping matrix that can be used only in direct steady-state dynamic analysis.

D S T R U C T U R A L(I,J)defines an element in the material structural damping matrix.

Unless you invoke the unsymmetric equation solution capability in the contact property model definition

(“Use with the unsymmetric equation solver in Abaqus/Standard” in “User-defined interfacial

constitutive behavior,” Section 36.1.6 of the Abaqus Analysis User's Manual), Abaqus/Standard uses only the symmetric part of D S T R U C T U R A L. For a particular off-diagonal (I, J) entry the symmetrization is done by halving the sum of the (I, J) and (J, I) components.

S T A T E V(N S T A T V)

An array containing the solution-dependent state variables. These are passed in as values at the

beginning of the increment and must be returned as values at the end of the increment. You define the number of available state variables as described in“Allocating space” in “User subroutines: overview,”

Section 18.1.1 of the Abaqus Analysis User's Manual.

S E D

This variable is passed in as the value of the elastic energy density at the start of the increment and should be updated to the elastic energy density at the end of the increment. This variable is used for output only and has no effect on other solution variables. It contributes to the output variable ALLSE. S F D

This variable should be defined as the incremental frictional dissipation. The units are energy per unit area. This variable is used for output only and has no effect on other solution variables. It contributes to the output variables ALLFD and SFDR (and related variables). For computing its contribution to

SFDR, S F D is divided by the time increment.

S P D

This variable should be defined as the incremental dissipation due to plasticity effects in the interfacial constitutive behavior. The units are energy per unit area. This variable is used for output only and has no effect on other solution variables. It contributes to the output variable ALLPD.

S V D

This variable should be defined as the incremental dissipation due to viscous effects in the interfacial constitutive behavior. The units are energy per unit area. This variable is used for output only and has no effect on other solution variables. It contributes to the output variable ALLVD.

S C D

This variable should be defined as the incremental dissipation due to creep effects in the interfacial

constitutive behavior. The units are energy per unit area. This variable is used for output only and has no effect on other solution variables. It contributes to the output variable ALLCD.

P N E W D T

Ratio of suggested new time increment to the time increment currently being used (D T I M E, see below).

This variable allows you to provide input to the automatic time incrementation algorithms in

Abaqus/Standard (if automatic time incrementation is chosen).

P N E W D T is set to a large value before each call to U I N T E R.

If P N E W D T is redefined to be less than 1.0, Abaqus/Standard must abandon the time increment and attempt it again with a smaller time increment. The suggested new time increment provided to 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 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

suggested new time increment provided to the automatic time integration algorithms is P N E W D T ×

D T I M E, where the P 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 greater than

1.0 will be ignored and values of P N E W D T less than 1.0 will cause the job to terminate.

L O P E N C L O S E

An integer flag that is used to track the contact status in situations where user subroutine U I N T E R is used to model standard contact between two surfaces, like the default hard contact model in

Abaqus/Standard. It comes in as the value at the beginning of the current iteration and should be set to the value at the end of the current iteration. It is set to –1 at the beginning of the analysis before

U I N T E R is called. You should set it to 0 to indicate an open status and to 1 to indicate a closed status.

A change in this flag from one iteration to the next will have two effects. It will result in output related

to a change in contact status if you request a detailed contact printout in the message file (“The

Abaqus/Standard message file” in “Output,” Section 4.1.1 of the Abaqus Analysis User's Manual). In addition, it will also trigger a severe discontinuity iteration. Any time this flag is reset to a value of –1, Abaqus/Standard assumes that the flag is not being used. A change in this flag from –1 to another value or vice versa will not have any of the above effects.

L S T A T E

An integer flag that should be used in non-standard contact situations where a simple open/close status is not appropriate or enough to describe the state. It comes in as the value at the beginning of the

current iteration and should be set to the value at the end of the current iteration. It is set to –1 at the beginning of the analysis before U I N T E R is called. It can be assigned any user-defined integer value, each corresponding to a different state. You can track changes in the value of this flag and use it to output appropriate diagnostic messages to the message file (unit 7). You may choose to output

diagnostic messages only when a detailed contact printout is requested (“The Abaqus/Standard

message file” in “Output,” Section 4.1.1 of the Abaqus Analysis User's Manual). In the latter case, the L P R I N T parameter is useful. In conjunction with the L S T A T E flag, you may also utilize the L S D I flag to trigger a severe discontinuity iteration any time the state changes from one iteration to the next. Any time this flag is reset to a value of –1, Abaqus/Standard assumes that the flag is not being used.

L S D I

This flag is set to 0 before each call to U I N T E R and should be set to 1 if the current iteration should be treated as a severe discontinuity iteration. This would typically be done in non-standard contact

situations based on a change in the value of the L S T A T E flag from one iteration to the next. The use of this flag has no effect when the L O P E N C L O S E flag is also used. In that case, severe discontinuity

iterations are determined based on changes in the value of L O P E N C L O S E alone.

Variables passed in for information

R D I S P(N D I R)

An array containing the current relative positions between the two surfaces at the end of the increment.

The first component is the relative position of the point on the slave surface, with respect to the master surface, in the normal direction. The second and third components, if applicable, are the accumulated incremental relative tangential displacements, measured from the beginning of the analysis. For the

relative position in the normal direction a negative quantity represents an open status, while a positive quantity indicates penetration into the master surface. For open points on the slave surface for which no pairing master is found, the first component is a very large negative number (–1 × 1036). The local directions in which the relative displacements are defined are stored in A L O C A L D I R.

D R D I S P(N D I R)

An array containing the increments in relative positions between the two surfaces.

T E M P(2)

Temperature at the end of the increment at a point on the slave surface and the opposing master

surface, respectively.

D T

E M P(2)

Increment in temperature at the point on the slave surface and the opposing master surface,

respectively.

P R E D E F(2,N P R E D)

An array containing pairs of values of all the predefined field variables at the end of the current

increment (initial values at the beginning of the analysis and current values during the analysis). The first value in a pair, P R E D E F(1,N P R E D), corresponds to the value at the point on the slave surface, and the second value, P F R E D E F(2,N P R E D), corresponds to the value of the field variable at the nearest point on the opposing surface.

D P R

E D(2,N P R E D)

Array of increments in predefined field variables.

T I M E(1)

Value of step time at the end of the increment.

T I M E(2)

Value of total time at the end of the increment.

D T I M E

Current increment in time.

F R E Q R

Current frequency for direct steady-state dynamic analysis in rad/time.

C I N A M E

User-specified surface interaction name, left justified.

S L N A M E

Slave surface name.

M S N A M E

Master surface name.

P R O P S(N P R O P S)

User-specified array of property values to define the interfacial constitutive behavior between the

contacting surfaces.

C O O R

D S(M C R D)

An array containing the current coordinates of this point.

A L O C A L D I R(3,3)

An array containing the direction cosines of the local surface coordinate system. The directions are stored in columns. For example, A L O C A L D I R(1,1), A L O C A L D I R(2,1), and A L O C A L D I R(3,1)give the (1, 2, 3) components of the normal direction. Thus, the first direction is the normal direction to the surface, and the remaining two directions are the slip directions in the plane of the surface. The local system is defined by the geometry of the master surface. The convention for the local directions is the same as the convention in situations where the model uses the built-in contact capabilities in

Abaqus/Standard (described in“Contact formulations in Abaqus/Standard,” Section 37.1.1 of the Abaqus Analysis User's Manual, for the tangential directions).

D R O T(2,2)

Rotation increment matrix. For contact with a three-dimensional rigid surface, this matrix represents the incremental rotation of the surface directions relative to the rigid surface. It is provided so that vector-or tensor-valued state variables can be rotated appropriately in this subroutine. Relative displacement components are already rotated by this amount before U I N T E R is called. This matrix is passed in as a unit matrix for two-dimensional and axisymmetric contact problems.

A R E A

Surface area associated with the contact point.

C H R L N G T H

Characteristic contact surface face dimension.

N O D E

User-defined global slave node number (or internal node number for models defined in terms of an assembly of part instances) involved with this contact point. Corresponds to the predominant slave node of the constraint if the surface-to-surface contact formulation is used.

N D I R

Number of force components at this point.

N S T A T V

Number of solution-dependent state variables.

N P R E D

Number of predefined field variables.

N P R O P S

User-defined number of property values associated with this interfacial constitutive model (“Interfacial constants” in “User-defined interfacial constitutive behavior,” Section 36.1.6 of the Abaqus Analysis User's Manual).

M C R D

Number of coordinate directions at the contact point.

K S T E P

Step number.

K I N C

Increment number.

K I T

Iteration number. K I T=0 for the first assembly, K I T=1 for the first recovery/second assembly,

K I T=2 for the second recovery/third assembly, and so on.

L I N P E R

Linear perturbation flag. L I N P E R=1 if the step is a linear perturbation step. L I N P E R=0 if the step is a general step. For a linear perturbation step, the inputs to user subroutine U I N T E R represent perturbation quantities about the base state. The user-defined quantities in U I N T E R are also perturbation quantities.

The Jacobian terms should be based on the base state. No change in contact status should occur

during a linear perturbation step.

L P R I N T

This flag is equal to 1 if a detailed contact printout to the message file is requested and 0 otherwise (“The Abaqus/Standard message file” in “Output,” Section 4.1.1 of the Abaqus Analysis User's

Manual). This flag can be used to print out diagnostic messages regarding changes in contact status

selectively only when a detailed contact printout is requested.

ABAQUS子程序

Home 浅谈ABAQUS用户子程序 李青清华大学工程力学系 摘要本文首先概要介绍了ABAQUS的用户子程序和应用程序,然后从参数,功能两方面详细论述了DLOAD, UEXTERNALDB, URDFIL三个用户子程序和GETENVVAR,POSFIL,DBFILE三个应用程序,并详细介绍了ABAQUS的结果文件(.FIL)存储格式。 关键字ABAQUS,用户子程序,应用程序,结果文件 一、前言: ABAQUS为用户提供了强大而又灵活的用户子程序接口(USER SUBROUTINE)和应用程序接口(UTILITY ROUTINE)。ABAQUS 6.2.5一共有42个用户子程序接口,13个应用程序接口,用户可以定义包括边界条件、荷载条件、接触条件、材料特性以及利用用户子程序和其它应用软件进行数据交换等等。这些用户子程序接口使用户解决一些问题时有很大的灵活性,同时大大的扩充了ABAQUS的功能。例如:如果荷载条件是时间的函数,这在ABAQUS/CAE 和INPUT 文件中是难以实现的,但在用户子程序DLOAD中就很容易实现。 二.在ABAQUS中使用用户子程序 ABAQUS的用户子程序是根据ABAQUS提供的相应接口,按照FORTRAN语法用户自己编写的代码。在一个算例中,用户可以用到多个用户子程序,但必须把它们放在一个以.FOR为扩展名的文件中。运行带有用户子程序的算例时有两种方法,一是在CAE中运行,在EDIT JOB菜单的GENERAL子菜单的USER SUBROUTINE FILE对话框中选择用户子程序所在的文件即可;另外是在ABABQUS COMMAND用运行,语法如下: ABAQUS JOB=[JOB] USER?[.FOR]?C 用户在编写用户子程序时,要注意以下几点: 1.用户子程序不能嵌套。即任何用户子程序都不能调用任何其他用户子程

abaqus UAMP用户子程序

Overview User subroutine UAMP: ?allows you to define the current value of an amplitude definition as a function of time; ?can be used to model control engineering aspects of your system when sensors are used (sensor values are from the beginning of the increment); ?can use a predefined number of state variables in their definition; and ?can optionally compute the derivatives and integrals of the amplitude function. Explicit solution dependence The solution dependence introduced in this user subroutine is explicit: all data passed in the subroutine for information or to be updated are values at the beginning of that increment. User subroutine interface SUBROUTINE UAMP( * ampName, time, ampValueOld, dt, nProps, props, nSvars, * svars, lFlagsInfo, * nSensor, sensorValues, sensorNames, jSensorLookUpTable, * AmpValueNew, * lFlagsDefine, * AmpDerivative, AmpSecDerivative, AmpIncIntegral, * AmpDoubleIntegral) C INCLUDE 'ABA_PARAM.INC' C time indices parameter (iStepTime = 1, * iTotalTime = 2, * nTime = 2) C flags passed in for information parameter (iInitialization = 1, * iRegularInc = 2, * iCuts = 3

ABAQUS子程序UMAT里弹塑本构的实现

前言 有限元法是工程中广泛使用的一种数值计算方法。它是力学、计算方法和计算机技术相结合的产物。在工程应用中,有限元法比其它数值分析方法更流行的一个重要原因在于:相对与其它数值分析方法,有限元法对边界的模拟更灵活,近似程度更高。所以,伴随着有限元理论以及计算机技术的发展,大有限元软件的应用证变得越来越普及。 ABAQUS软件一直以非线性有限元分析软件而闻名,这也是它和ANSYS,Nastran等软件的区别所在。非线性有限元分析的用处越来越大,因为在所用材料非常复杂很多情况下,用线性分析来近似已不再有效。比方说,一个复合材料就不能用传统的线性分析软件包进行分析。任何与时间有关联,有较大位移量的情况都不能用线性分析法来处理。多年前,虽然非线性分析能更适合、更准确的处理问题,但是由于当时计算设备的能力不够强大、非线性分析软件包线性分析功能不够健全,所以通常采用线性处理的方法。 这种情况已经得到了极大的改善,计算设备的能力变得更加强大、类似ABAQUS这样的产品功能日臻完善,应用日益广泛。 非线性有限元分析在各个制造行业得到了广泛应用,有不少大型用户。航空航天业一直是非线性有限元分析的大客户,一个重要原因是大量使用复合材料。新一代波音 787客机将全部采用复合材料。只有像 ABAQUS这样的软件,才能分析包括多个子系统的产品耐久性能。在汽车业,用线性有限元分析来做四轮耐久性分析不可能得到足够准确的结果。分析汽车的整体和各个子系统的性能要求(如悬挂系统等)需要进行非线性分析。在土木工程业, ABAQUS能处理包括混凝土静动力开裂分析以及沥青混凝土方面的静动力分析,还能处理高度复杂非线性材料的损伤和断裂问题,这对于大型桥梁结构,高层建筑的结构分析非常有效。 瞬态、大变形、高级材料的碰撞问题必须用非线性有限元分析来计算。线性分析在这种情况下是不适用的。以往有一些专门的软件来分析碰撞问题,但现在ABAQUS在通用有限元软件包就能解决这些问题。所以,ABAQUS可以在一个软件完成线性和非线性分析。 ABAQUS给用户提供了强大二次开发接口,尤其是在材料本构方面,给用户开发符合实际工程的材料本构模型提供了强大帮助,本文将针对其用户材料子程序展开研究,总结常用材料模型的开发方法。

abaqus简单umat子程序

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 CMNAME DIMENSION 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 ELASTICITY C CANNOT BE USE D FOR PLAN E STRESS C ---------------------------------------------------------------- C PROPS(1) - E C PROPS(2) - NU C ---------------------------------------------------------------- C IF (NDI.NE.3) THEN WRITE (*,*) 'THIS UMAT MAY ONLY BE USED FOR ELEMENTS 1 WITH THREE DIRECT STRESS COMPONENTS' CALL XIT ENDIF open(400,file='D:\test.txt') C ELASTIC PROPERTIES EMOD=PROPS(1) ENU=PROPS(2) EBULK3=EMOD/(1-2*ENU) EG2=EMOD/(1+ENU) EG=EG2/2 EG3=3*EG ELAM=(EBULK3-EG2)/3 write(400,*) 'temp=',temp C ELASTIC STIFFNESS C DO K1=1, NDI DO K2=1, NDI DDSDDE(K2, K1)=ELAM END DO DDSDDE(K1, K1)=EG2+ELAM

ABAQUS用户子程序

当用到某个用户子程序时,用户所关心的主要有两方面:一是ABAQUS提供的用户子程序的接口参数。有些参数是ABAQUS传到用户子程序中的,例如SUBROUTINE DLOAD中的KSTEP,KINC,COORDS;有些是需要用户自己定义的,例如F。二是ABAQUS何时调用该用户子程序,对于不同的用户子程序ABAQUS调用的时间是不同的。有些是在每个STEP的开始,有的是STEP结尾,有的是在每个INCREMENT的开始等等。当ABAQUS 调用用户子程序是,都会把当前的STEP和INCREMENT利用用户子程序的两个实参KSTEP和KINC传给用户子程序,用户可编个小程序把它们输出到外部文件中,这样对ABAQUS何时调用该用户子程序就会有更深的了解。 (子程序中很重要的就是要知道由abaqus提供的那些参量的意义,如下) 首先介绍几个子程序: 一.SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, JLTYP,SNAME) 参数: 1.F为用户定义的是每个积分点所作用的荷载的大小; 2.KSTEP,KINC为ABAQUS传到用户子程序当前的STEP和INCREMENT值;3.TIME(1),TIME(2)为当前STEP TIME和INCREMENT TIME的值;4.NOEL,NPT为积分点所在单元的编号和积分点的编号; 5.COORDS为当前积分点的坐标; 6.除F外,所有参数的值都是ABAQUS传到用户子程序中的。 功能: 1.荷载可以被定义为积分点坐标、时间、单元编号和单元节点编号的函数。 2.用户可以从其他程序的结果文件中进行相关操作来定义积分点F的大小。 例1:这个例子在每个积分点施加的荷载不仅是坐标的函数,而且是随STEP变化而变化的。SUBROUTINE DLOAD(P,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, 1 JLTYP,SNAME) INCLUDE 'ABA_PARAM.INC' C DIMENSION TIME(2),COORDS(3) CHARACTER*80 SNAME PARAMETER (PLOAD=100.E4) IF (KSTEP.EQ.1) THEN !当STEP=1时的荷载大小 P=PLOAD ELSE IF (KSTEP.EQ.2) THEN !当STEP=2时的荷载大小 P=COORDS(1)*PLOAD !施加在积分点的荷载P是坐标的函数 ELSE IF (KSTEP.EQ.3) THEN !当STEP=3时的荷载大小 P=COORDS(1)**2*PLOAD ELSE IF (KSTEP.EQ.4) THEN !当STEP=4时的荷载大小 P=COORDS(1)**3*PLOAD ELSE IF (KSTEP.EQ.5) THEN !当STEP=5时的荷载大小 P=COORDS(1)**4*PLOAD END IF RETURN END UMAT 子程序具有强大的功能,使用UMAT 子程序: (1) 可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩

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 heat transfer 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. 在一个完全耦合的温度—置换分析或者是纯热传递分析中,定义接触面或节点间的导热系数。 10. GAPELECTR: Define electrical conductance between surfaces in a coupled thermal-electrical analysis. 在耦合热电分析中,定义表面间的导电系数 11. HARDINI: Define initial equivalent plastic strain and initial backstress tensor. 定义初始等效应变和初始反应力张量 12. HETVAL: Provide internal heat generation in heat transfer analysis. 在热传递分析中提供初始热 13. MPC: Define multi-point constraints. 定义多点约束 14. ORIENT: Provide an orientation for defining local material directions or local directions for kinematic coupling constraints or local rigid body directions for inertia relief. 为定义局部材料方向提供定位;运动学耦合约束的局部方向;惯性释放的局部刚体方向。 15. RSURFU: Define a rigid surface. 定义一个刚性面 16. SDVINI: Define initial solution-dependent state variable fields. 定义初始和结果相关的变量场 17. SIGINI: Define an initial stress field.

ABAQUS用户子程序

ABAQUS用户子程序 转自https://www.360docs.net/doc/152668452.html, 当用到某个用户子程序时,用户所关心的主要有两方面:一是ABAQUS提供的用户子程序的接口参数。有些参数是ABAQUS传到用户子程序中的,例如SUBROUTINE DLOAD中的KSTEP,KINC,COORDS;有些是需要用户自己定义的,例如F。二是ABAQUS何时调用该用户子程序,对于不同的用户子程序ABAQUS调用的时间是不同的。有些是在每个STEP的开始,有的是STEP结尾,有的是在每个INCREMENT的开始等等。当ABAQUS调用用户子程序是,都会把当前的STEP和INCREMENT利用用户子程序的两个实参KSTEP和KINC传给用户子程序,用户可编个小程序把它们输出到外部文件中,这样对ABAQUS何时调用该用户子程序就会有更深的了解。 (子程序中很重要的就是要知道由abaqus提供的那些参量的意义,如下) 首先介绍几个子程序: 一.SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, JLTYP,SNAME) 参数: 1. F为用户定义的是每个积分点所作用的荷载的大小; 2. KSTEP,KINC为ABAQUS传到用户子程序当前的STEP和INCREMENT值; 3. TIME(1),TIME(2)为当前STEP TIME和INCREMENT TIME的值; 4. NOEL,NPT为积分点所在单元的编号和积分点的编号; 5. COORDS为当前积分点的坐标; 6.除F外,所有参数的值都是ABAQUS传到用户子程序中的。 功能: 1.荷载可以被定义为积分点坐标、时间、单元编号和单元节点编号的函数。 2.用户可以从其他程序的结果文件中进行相关操作来定义积分点F的大小。 例1:这个例子在每个积分点施加的荷载不仅是坐标的函数,而且是随STEP变化而变化的。SUBROUTINE DLOAD(P,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, 1 JLTYP,SNAME) INCLUDE 'ABA_PARAM.INC' C DIMENSION TIME(2),COORDS(3) CHARACTER80 SNAME PARAMETER (PLOAD=100.E4) IF (KSTEP.EQ.1) THEN !当STEP=1时的荷载大小 P=PLOAD ELSE IF (KSTEP.EQ.2) THEN !当STEP=2时的荷载大小 P=COORDS(1)PLOAD !施加在积分点的荷载P是坐标的函数 ELSE IF (KSTEP.EQ.3) THEN !当STEP=3时的荷载大小 P=COORDS(1)2PLOAD ELSE IF (KSTEP.EQ.4) THEN !当STEP=4时的荷载大小 P=COORDS(1)3PLOAD ELSE IF (KSTEP.EQ.5) THEN !当STEP=5时的荷载大小 P=COORDS(1)4PLOAD

浅谈ABAQUS用户子程序

李青清华大学工程力学系 摘要本文首先概要介绍了ABAQUS的用户子程序和应用程序,然后从参数,功能两方面详细论述了DLOAD, UEXTERNALDB, URDFIL三个用户子程序和GETENVVAR,POSFIL,DBFILE三个应用程序,并详细介绍了ABAQUS的结果文件(.FIL)存储格式。 关键字ABAQUS,用户子程序,应用程序,结果文件 一、前言: ABAQUS为用户提供了强大而又灵活的用户子程序接口(USER SUBROUTINE)和应用程序接口(UTILITY ROUTINE)。ABAQUS 6.2.5一共有42个用户子程序接口,13个应用程序接口,用户可以定义包括边界条件、荷载条件、接触条件、材料特性以及利用用户子程序和其它应用软件进行数据交换等等。这些用户子程序接口使用户解决一些问题时有很大的灵活性,同时大大的扩充了ABAQUS的功能。例如:如果荷载条件是时间的函数,这在ABAQUS/CAE 和INPUT 文件中是难以实现的,但在用户子程序DLOAD中就很容易实现。 二.在ABAQUS中使用用户子程序 ABAQUS的用户子程序是根据ABAQUS提供的相应接口,按照FORTRAN语法用户自己编写的代码。在一个算例中,用户可以用到多个用户子程序,但必须把它们放在一个以.FOR为扩展名的文件中。运行带有用户子程序的算例时有两种方法,一是在CAE中运行,在EDIT JOB菜单的GENERAL子菜单的USER SUBROUTINE FILE对话框中选择用户子程序所在的文件即可;另外是在ABABQUS COMMAND用运行,语法如下: Home 序,但可以调用用户自己编写的FORTRAN子程序和ABAQUS应用程序。当用户编写FORTRAN子程序时,建议子程序名以K开头,以免和ABAQUS内部程序冲突。 2.当用户在用户子程序中利用OPEN打开外部文件时,要注意以下两点:一是设备号的选择是有限制的,只能取15-18和大于100的设备号,其余的都已被ABAQUS占用。二是用户需提供外部文件的绝对路径而不是相对路径。3.ABAQUS 应用程序必须由用户子程序调用。 当用到某个用户子程序时,用户所关心的主要有两方面:一是ABAQUS提供的用户子程序的接口参数。有些参数是ABAQUS传到用户子程序中的,例如SUBROUTINE DLOAD中的KSTEP,KINC,COORDS;有些是需要用户自己定义的,例如F。二是ABAQUS何时调用该用户子程序,对于不同的用户子程序ABAQUS调用的时间是不同的。有些是在每个STEP的开始,有的是STEP结尾,有的是在每个INCREMENT的开始等等。当ABAQUS调用用户子程序是,都会把当前的STEP和INCREMENT利用用户子程序的两个实参KSTEP和KINC传给用户子程序,用户可编个小程序把它们输出到外部文件中,这样对ABAQUS何时调用该用户子程序就会有更深的了解。 下面就选出几个常用的用户子程序和应用程序进行详细解释:一.SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS,

ABAQUS用户子程序复习进程

A B A Q U S用户子程序

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 heat transfer 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. 在一个完全耦合的温度—置换分析或者是纯热传递分析中,定义接触面或节点间的导热系数。 10. GAPELECTR: Define electrical conductance between surfaces in a coupled thermal-electrical analysis. 在耦合热电分析中,定义表面间的导电系数 11. HARDINI: Define initial equivalent plastic strain and initial backstress tensor. 定义初始等效应变和初始反应力张量 12. HETVAL: Provide internal heat generation in heat transfer analysis. 在热传递分析中提供初始热 13. MPC: Define multi-point constraints. 定义多点约束 14. ORIENT: Provide an orientation for defining local material directions or local directions for kinematic coupling constraints or local rigid body directions for inertia relief. 为定义局部材料方向提供定位;运动学耦合约束的局部方向;惯性释放的局部刚体方向。 15. RSURFU: Define a rigid surface. 定义一个刚性面 16. SDVINI: Define initial solution-dependent state variable fields. 定义初始和结果相关的变量场 17. SIGINI: Define an initial stress field.

Abaqus材料用户子程序UMAT基础知识及手册例子全面解释

1、为何需要使用用户材料子程序(User-Defined Material, UMAT )? 很简单,当ABAQUS 没有提供我们需要的材料模型时。所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS 已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。 UMAT 子程序具有强大的功能,使用UMAT 子程序: (1)可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。 (2) 几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQU S 中的任何单元。 (3) 必须在UMAT 中提供材料本构模型的雅可比(Jacobian )矩阵,即应力增量对应变增量的变化率。 (4) 可以和用户子程序“USDFLD ”联合使用,通过“USDFLD ”重新定义单元每一物质点上传递到UMAT 中场变量的数值。 2、需要哪些基础知识? 先看一下ABAQUS 手册(ABAQUS Analysis User's Manual )里的一段话: Warning: The use of this option generally requires considerable expertise(一定的专业知识). The user is cautioned that the implementation (实现) of any realistic constitutive (基本) model requires extensive (广泛的) development and testing. Initial testing on a single eleme nt model with prescribed traction loading (指定拉伸载荷) is strongly recommended. 但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation )而已。当然,最基本的一些概念和知识还是要具备的,比如: 应力(stress),应变(strain )及其分量; volumetric part 和deviatoric part ;模量(modul us )、泊松比(Poisson’s ratio)、拉梅常数(Lame constant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。 3、UMAT 的基本任务? 我们知道,有限元计算(增量方法)的基本问题是: 已知第n 步的结果(应力,应变等)n σ,n ε,然后给出一个应变增量1+n d ε,计算新的应力1+n σ。UMAT 要完成这一计算,并要计算Jacobian 矩阵DDSDDE(I,J) =εσΔ?Δ?/。σΔ是应力增量矩阵(张量或许更合适),εΔ是应变增量矩阵。DDSDDE(I,J) 定义了第J 个应变分量的微小变化对

最新ABAQUS用户子程序

ABAQUS用户子程序 1 2 3 ABAQUS/Standard subroutines: 4 1.CREEP: Define time-dependent, viscoplastic behavior (creep and 5 swelling). 6 定义和时间相关的、粘塑性的运动(蠕变和膨胀) 2. DFLOW: Define nonuniform pore fluid velocity in a 7 8 consolidation analysis. 9 在压实分析中,定义非均匀孔隙流速度 3. DFLUX: Define nonuniform distributed flux in a heat transfer 10 11 or mass diffusion analysis. 在热传递和质量扩散分析中,定义非均匀的分布流量 12 13 4. DISP: Specify prescribed boundary conditions. 14 指定规定的边界条件 5. DLOAD: Specify nonuniform distributed loads. 15 16 指定非均匀的分布荷载 17 6. FILM: Define nonuniform film coefficient and associated sink 18 temperatures for heat 19 transfer analysis. 20 对热传递分析指定非均匀的膜层散热系数和联合的散热器温度

7. FLOW: Define nonuniform seepage coefficient and associated 21 22 sink pore pressure for 23 consolidation analysis. 对压实分析定义非均匀的渗流系数和渗入孔隙压力 24 25 8. FRIC: Define frictional behavior for contact surfaces. 26 对接触面定义摩擦 27 9. GAPCON: Define conductance between contact surfaces or nodes 28 in a fully coupled 29 temperature-displacement analysis or pure heat transfer analysis. 30 在一个完全耦合的温度—置换分析或者是纯热传递分析中,定义31 接触面或节点间的导热系数。 32 10. GAPELECTR: Define electrical conductance between surfaces 33 in a coupled 34 thermal-electrical analysis. 35 在耦合热电分析中,定义表面间的导电系数 36 11. HARDINI: Define initial equivalent plastic strain and 37 initial backstress tensor. 38 定义初始等效应变和初始反应力张量 12. HETVAL: Provide internal heat generation in heat transfer 39 40 analysis.

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

第一种方法:在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在User subroutine file中点击Select按钮,从弹出对话框中选择你要调用的子程序文件(后缀为.for 或.f)。 第二种方法: 1. 建立工作目录 2. 将Abaqus安装目录\\site下的或拷贝到工作目录,并改名为; 3. 将编译的fortran程序拷贝到工作目录; 4. 将.obj文件拷贝到工作目录; 5. 建立好输入文件.inp; 6. 运行abaqus job=inp_name user=fortran name即可。 以下是网上摘录的资料,供参考: 用户进行二次开发时,要在命令行窗口执行下面的命令: abaqus job=job_name user=sub_name ABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库和动态库,还有其它一些临时文件,而它的主程序(如和等)则没有任何改变,由此看来ABAQUS是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。这种运行机制与ANSYS、LS-DYNA、marc等都不同。 这些生成的临时文件要到文件夹C:\Documents and Settings\Administrator\Local Settings\Temp\中才能找到,这也是6楼所说的藏了一些工作吧,大家不妨试一下。 1 子程序格式(程序后缀是.f; .f90; .for;.obj) 答:我试过,.for格是应该是不可以的,至少和版本应该是不行,其他的没用过,没有发言权。 在Abaqus中,运行abaqus j=jobname user=username时,默认的用户子程序后缀名是.for (.f,.f90应该都不行的,手册上也有讲过),只有在文件没有找到的情况下,才会去搜索,如果两者都没有,就会报错误信息。 如果username包括扩展名for或obj,那么就根据各自的扩展名ABAQUS会自动选择进行操作。 2 CAE中如何调用Command下如何调用 答:CAE中在creat job的job manager中的general中可以指定子程序; Command下用命令:abaqus j=jobname user=userfilename(无后缀); 3 若有多个子程序同时存在,如何处理 答:将其写在一个文件中即可,然后用一个总的子程序调用(具体参见手册) 4 我对VF不是很熟,是否可以用VC,C++编写子程序

ABAQUS子程序USDFLD

Abaqus/CAE User's Manual 12.8.5 Defining field variables at a material point (在一个材料点定义场变量) In Abaqus/Standard you can introduce dependence on solution variables with user subroutine USDFLD. This subroutine allows you to define field variables at a material point as functions of time, of any of the available material point quantities listed in “Abaqus/Standard output variable identifiers,” Section 4.2.1 of the Abaqus Analysis User's Manual, and of material directions. Material properties defined as functions of these field variables may, thus, be dependent on the solution. User subroutine USDFLD is called at each point for which the material definition includes a reference to the user subroutine. (在ABAQUS里面,你能够用子程序USDFLD来求解变量。USDFLD允许你将一个材料点上的场变量定义为时间函数,能够使用到的材料点在用户使用手册4.2.1节中“abaqus输出变量的标识码”中被提及到。材料的特性被定义作为场变量的函数,因此依赖于求解方法。) (在每个被定义材料性能的点USDFLD能够被调用) To include a reference to user subroutine USDFLD in a material definition: 1.From the menu bar in the Edit Material dialog box, select General User Defined Field. (For information on displaying the Edit Material dialog box, see “Creating or editing a material,” Section 12.7.1.) 2.Click OK to close the Edit Material dialog box. Alternatively, you can select another material behavior to define from the menus in the Edit Material dialog box (see “Browsing and modifying material behaviors,” Section 12.7.2, for more information). Abaqus/CAE User's Manual (子程序USDFLD在材料中的定义过程可参考下面:

ABAQUS子程序

ABAQUS用户子程序 当用到某个用户子程序时,用户所关心的主要有两方面:一是ABAQUS提供的用户子程序的接口参数。有些参数是ABAQUS传到用户子程序中的,例如SUBROUTINE DLOAD中的KSTEP,KINC,COORDS;有些是需要用户自己定义的,例如F。二是ABAQUS何时调用该用户子程序,对于不同的用户子程序ABAQUS调用的时间是不同的。有些是在每个STEP的开始,有的是STEP结尾,有的是在每个INCREMENT的开始等等。当ABAQUS调用用户子程序是,都会把当前的STEP和INCREMENT利用用户子程序的两个实参KSTEP和KINC传给用户子程序,用户可编个小程序把它们输出到外部文件中,这样对ABAQUS何时调用该用户子程序就会有更深的了解。 (子程序中很重要的就是要知道由abaqus提供的那些参量的意义,如下) 首先介绍几个子程序: 一.SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, JLTYP,SNAME) 参数: 1.F为用户定义的是每个积分点所作用的荷载的大小; 2.KSTEP,KINC为ABAQUS传到用户子程序当前的STEP和INCREMENT值; 3.TIME(1),TIME(2)为当前STEP TIME和INCREMENT TIME的值; 4.NOEL,NPT为积分点所在单元的编号和积分点的编号; 5.COORDS为当前积分点的坐标; 6.除F外,所有参数的值都是ABAQUS传到用户子程序中的。 功能: 1.荷载可以被定义为积分点坐标、时间、单元编号和单元节点编号的函数。 2.用户可以从其他程序的结果文件中进行相关操作来定义积分点F的大小。 例1:这个例子在每个积分点施加的荷载不仅是坐标的函数,而且是随STEP变化而变化的。SUBROUTINE DLOAD(P,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, 1 JLTYP,SNAME) INCLUDE 'ABA_PARAM.INC' C DIMENSION TIME(2),COORDS(3) CHARACTER*80 SNAME PARAMETER (PLOAD=100.E4) IF (KSTEP.EQ.1) THEN !当STEP=1时的荷载大小 P=PLOAD ELSE IF (KSTEP.EQ.2) THEN !当STEP=2时的荷载大小 P=COORDS(1)*PLOAD !施加在积分点的荷载P是坐标的函数 ELSE IF (KSTEP.EQ.3) THEN !当STEP=3时的荷载大小 P=COORDS(1)**2*PLOAD ELSE IF (KSTEP.EQ.4) THEN !当STEP=4时的荷载大小 P=COORDS(1)**3*PLOAD ELSE IF (KSTEP.EQ.5) THEN !当STEP=5时的荷载大小 P=COORDS(1)**4*PLOAD END IF RETURN END UMAT 子程序具有强大的功能,使用UMAT 子程序:

abaqus2用户单元子程序(1)

20 ABAQUS用户单元子程序(UEL) 在这一章中将列举两个在这些年里发展过的ABAQUS/Standard用户单元子程序(UEL)。第一个例子是一个非线性的索单元,我们的目的是通过这个比较简单的例子让读者了解用户单元子程序的基本开发过程;第二个例子是一个用于计算应变梯度理论的单元,应变梯度是当今比较热点的一个科研前沿问题,有各种理论,我们为了验证新的理论,需要数值结果与实验对照来进行评价,整个例子的目的是通过它说明用户子单元可以求解的问题范围很广,但是由于内容比较艰深,程序也很长,所以这个例子我们并没有给出最后的全部程序。 另外,到目前为止,ABAQUS还只有隐式求解器ABAQUS/Standard支持用户自定义单元,而显式求解器ABAQUS/Explicit中还不支持这一功能。 非线性索单元 20.1.1 背景 钢索斜拉桥和斜拉索结构广泛应用于土木工程建筑上。索力的计算分析是设计和施工的关键环节。清华大学工程力学系在采用ABAQUS进行荆沙长江斜拉桥的计算机仿真分析(这个项目我们已在第15章“ABAQUS在土木工程中的应用(一)——荆州长江大桥南汊斜拉桥结构三维仿真分析”中讨论过)时,也曾进行了自行建立索单元的尝试。本节介绍的就是这方面的工作。 香港理工大学土木与结构工程系采用ABAQUS有限元软件进行计算,完成了香港Ting Kau斜拉桥和Tsing Ma悬索桥的结构计算和分析。对于钢索计算,他们采用梁单元进行模拟。由于梁单元含有弯曲刚度,计算的高阶频率值偏高,周期较低。 一般假设索是单向受拉力的构件。随着应变的非线性增加,索力呈非线性增加。尽管ABAQUS单元库中有500个以上的单元类型,但是,还没有索单元。本文发展了三维非线性索单元模型,形成ABAQUS的用户单元子程序,可以利用ABAQUS输入文件调入到具体的分析中。通过静态和动态例题的计算比较,索单元工作良好。

相关主题
相关文档
最新文档