-
___________________________________________
__________________________________________________
_________________
材料本构模型及编程
-ABAQUS-
UMAT
材料本构模型及编程实现:简介
1<
/p>
、什么时候用用户定义材料(
User-
defined
material,
UMAT
)?
很简单,
当
ABAQUS
没有提供我
们需要的材料模型时。
所以,
在决定自己定义一种新的材料模型
之前,
最好对
ABAQUS
已经提供的
模型心中有数,
并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛
接受。
2
、好学吗?需要哪些基础知识?
<
/p>
先看一下
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
constit
utive
model
requires
extensive
development
and
testing.
Initial
testing
on
a
single
element
model
with
prescribed
traction
loading
is
strongly
rec
ommended.
但这并不
意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软
件,而只是提供一个描
述材料力学性能的本构方程(
Const
itutive
equation
)
而已。当然,最基本的一些概念和知识还是要具备的,比如
应
力
(stress),
应变
(
strain
)
及其分量;
volumetric
par
t
和
deviatoric
part
;模量
(
mo
dulus
)
、
泊松比
(Poisson
’
s
p>
ratio)
、拉美常数
(Lame
constant)
;
矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。
3
、
UMAT
的基本任务?
我们知道,有限元计算(增量方法)的基本问题是:
已知第
n
步
的结果
(应力,
应变等)
,
;
然后给出一个应变增量
,
计算新的应力
。
UMAT
要完成这一计算,
并要计算
Jacobian
< br>矩阵
DDSDDE(I,J)
=
。
是应力增量矩阵(张量或许更合适),
是应变增量矩阵。
DDSDDE(I,J)
定义了第
J
个应变分量的
微小变化对第
I
个应力分量带来的变
化。该矩阵只
影响收敛速度,不影响计算结果的准确性(当然,不收敛自然得不到结果)
。
4
、怎样建立自己的材料模型?
本构方程就是描述材料应力应变(增量)关系的数学公式,不
是凭空想象出来的,而是根据实验结果作出的合理归纳。比如对弹性材料,实验发现
应力
和应变同步线性增长,
所以用一个简单的数学公式描述。
为了解
释弹塑性材料的实验现象,
又提出了一些弹塑性模型,
并用数学
公式表示出来。
对各向同性材料(
Isotropic
material
)
,
经常采用的办法是先研究材料单向应力
-
应变规律(如
单向拉伸、压缩试验),并用一数学公式加以描述,
然后把讲该规律推广到各应力分量。
这叫做“泛化“
(generalization)
。
5
、一个完整的例子及解释
下面这个
UMAT
取自
ABAQUS
手册,是一
个用于大变形下的弹塑性材料模型。希望我的注释能帮助初学者理解。需要了解
J2
p>
理论。
SUBROUTINE
UMAT(S
TRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,
1
DRP
LDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PRED
EF,DPRED,
2
CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,C
OORDS,DROT,
3
p>
PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYE
R,KSPT,KSTEP,KINC)
STRESS--
应
力矩阵,在增量步的开始,保存并作为已知量传入
UMAT
;在增量步的结束应该保存更新的应力;
STRAN--
当前应变,已知
。
DSTRAN
—应变增量,已知。
<
/p>
STATEV--
状态变量矩阵,用来保存用户自己定义的一些变
量,如累计塑性应变,粘弹性应变等等。增量步开始时作为已知量传入,增量步结束应
该
更新;
DDSDDE=
。需要更新
DTIME
—时间增量
dt
。已知。
NDI
—正应力、应变
个数
,
对三维问题、轴对称问题自然是
3
(
11,22,33
),平面问题是
2(11,22)
;已知。
NSHR
—剪应力、应变个数,三维
问题时
3(12,13,23)
,轴对称问题是
1(12)
;已知。
NTENS=NTENS
NSHR
,已知。
精品资料
____________
__________________________________________________
________________________________________________ <
/p>
PROPS
材料常数矩阵,如模量啊,粘度系数啊等等;作为已知
量传入,已知。
DROT
—对
finite
strain
问题,应变应该排除旋转部分,该矩阵提供了旋转矩阵,详见下面的解释。已知。
PNEWDT
—可用来控制时间步的变化。如果设置为小于
1
的数,则程序放弃当前计算,并用新的时间增量
DTIME
X
PNEWDT
作为新的时间增量
计算;这对时间
相关的材料如聚合物等有用;如果设为大余
1
的数,则下一个增
量步加大
DTIME
为
DTIME
p>
X
PNEWDT
。可以更新。
其他变量含义可参看手册,暂时用不到。
C
INCLUDE
'ABA_'
定义了一些参数,变量什么的,不用管
C
CHARACTER*8
CMNAME
C
DIMENSION
STRESS(
NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),
1
DDS
DDT(NTENS),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS
),
2
PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,
3),
3
DFGRD0(3,3),DFGRD1(3,3)
矩阵的尺寸声明
C
C
LOCAL
ARRAYS
C
---------------
-------------------------------------------------
C
EELAS
-
ELASTIC
STRAINS
C
EPLAS
-
PLASTIC
STRAINS
C
FLOW
-
DIRECTION
OF
PLASTIC
FLOW
C
---------------
-------------------------------------------------
C
局部变量,用来暂时保存弹性应变、塑性应变分量以及流动方向
DIMENSION
EELAS(6),EPLAS(6),FLOW(6)
C
PARAMETER(ZERO=0.D0,ONE=1.D
0,TWO=2.D0,THREE=3.D0,SIX=6.D0,
1
ENUMAX=.4999D0,NEWTON=10,TOLER=1.0D-6)
C
C
--
--------------------------------------------------
------------
C
UMAT
FOR
ISOTROPIC
ELASTICITY
AND
ISOTROPIC
MISES
PLASTICITY
C
CANNOT
BE
USED
FOR
PLANE
STRESS
C
---------------
-------------------------------------------------
C
PROPS(1)
-
E
C
PROPS(2)
-
NU
C
PROPS(3..)
-
SYIELD
AN
HARDENING
DATA
C
CALLS
HARDSUB
FOR
CURVE
OF
YIELD
STRESS
VS.
PLASTIC
STRAIN
C
---------------
-------------------------------------------------
精品资料
____________
__________________________________________________
________________________________________________
C
C
ELASTIC
PROPERTIES
C
获取杨氏模量,泊松比,作为已知量由
PROPS
向量传入
EMOD=PROPS(1)
E
ENU=PROPS(2)
ν
EBULK3=EMOD/(ONE-TWO*ENU)
3K
EG2=EMOD/(ONE
ENU)
2G
EG=EG2/TWO
G
EG3=THREE*EG
3G
ELAM=(EBULK3-EG2)/THREE
λ
DO
K1=1,NTENS
DO
K2=1,NTENS
DDSDDE(K1,K2)=ZERO
END
DO
END
DO
弹性部分,
Jacobian<
/p>
矩阵很容易计算
注意,在
ABAQUS
中,剪切应变采用工程剪切应变的定义,所以剪切部分模量是<
/p>
G
而不是
2G!
C
C
ELASTIC
STIFFNESS
C
DO
K1=1,NDI
DO
K2=1,NDI
DDSDDE(K2,K1)=ELAM
END
DO
DDSDDE(K1,K1)=EG2 ELAM
END
DO
DO
K1=NDI 1,NTENS
DDSDDE(K1,K1)=EG
END
DO
C
C
RECOVER
ELASTIC
AND
PLASTIC
STRAINS
AND
ROTATE
FORWARD
C
ALSO
RECOVER
EQUIVALENT
PLASTIC
STRAIN
C
读取弹性应变分量,塑性应变分量,并旋转(调用了
ROTSIG
),分别保存在
EELAS
p>
和
EPLAS
中;
CALL
ROTSIG(STATEV(
1),DROT,EELAS,2,NDI,NSHR)
CALL
ROTSIG(STATEV(NTENS
1),DROT,EPLAS,2,NDI,NSHR)
读取等效塑性应变
EQPLAS=STATEV(1 2*NTENS)
精品资料
____________
__________________________________________________
________________________________________________
先假设没有发生塑性流动,按完全弹性变形计算试算应力
C
C
CALCULATE
PREDICTOR
STRESS
AND
ELASTIC
STRAIN
C
DO
K1=1,NTENS
DO
K2=1,NTENS
STRESS(K2)=STRESS(K2)
DDSDDE(K2,K1)*DSTRAN(K1)
END
DO
EELAS(K1)=EELAS(K1)
DSTRAN(K1)
END
DO
C
计算
Mises
应力
C
CALCULATE
EQUIVALENT
VON
MISES
STRESS
C
SMISES=(STRESS(1)-STRESS(2))**2
(STRESS(2)-STRESS(3))**2
1
(STRESS(3)-STRESS(1))**2
DO
K1=NDI 1,NTENS
SMISES=SMISES
SIX*STRESS(K1)**2
END
DO
SMISES=SQRT(SMISES/TWO)
C
根据当前等效塑性应变,调用
p>
HARDSUB
得到对应的屈服应力
C
GET
YIELD
STRESS
FROM
THE
SPECIFIED
HARDENING
CURVE
C
NVALUE=NPROPS/2-1
CALL
HARDSUB(SYIE
L0,HARD,EQPLAS,PROPS(3),NVALUE)
C
C
DETERMINE
IF
ACTIVELY
YIELDING
C
如果
Mi
ses
应力大余屈服应力,屈服发生,计算流动方向
IF
(.(ONE TOLER)*SYIEL0)
THEN
C
C
ACTIVELY
YIELDING
C
SEPARATE
THE
HYDROSTATIC
FROM
THE
DEVIATORIC
STRESS
C
CALCULATE
THE
FLOW
DIRECTION
C
SHYDRO=(STRESS(1) STRESS(2)
STRESS(3))/THREE
DO
K1=1,NDI
FLOW(K1)=(STRESS(K1)-SHYDRO)/SMISES
END
DO
DO
K1=NDI 1,NTENS
FLOW(K1)=STRESS(K1)/SMISES
精品资料
-
-
-
-
-
-
-
-
-
上一篇:OBD通讯协议
下一篇:传票应诉通知书送达回证合议庭通知书英文翻译