关键词不能为空

当前您在: 主页 > 英语 >

ABAQUS-材料本构模型编程

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-11 00:15
tags:

-

2021年2月11日发(作者:adjusted)


材料本构模型及编程


-ABAQUS-UMAT



材料本构模型及编程实现:简介



1< /p>


、什么时候用用户定义材料(


User-defined material, UMAT


)?



很简单,



ABAQUS


没有提供我们 需要的材料模型时。


所以,


在决定自己定义一种新的材料模型之 前,


最好对


ABAQUS


已经提供的模 型心中有数,


并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接 受。



2


、好学吗?需要哪些基础知识?


< /p>


先看一下


ABAQUS


手册(

< p>
ABAQUS Analysis User's Manual


)里的一段话:



Warning: The use of this option generally requires considerable expertise. The user is cautioned that the implementation of any realis


tic constitutive model requires extensive development and testing. Initial testing on a single element model with prescribed traction l


oading is strongly recommended.


但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发 一套完整的有限元软件,而只是提供一个描


述材料力学性能的本构方程(


Constitutive equation


)而已。当然,最基本的一些概 念和知识还是要具备的,比如



应力


( stress),


应变



strain



及其分量;


volumetric part



deviatoric part

< br>;


模量



modulus




泊松比


(Poi sson



s ratio)



拉美常数


(Lame constant)



矩阵的加减乘除甚至求逆;还有一些高等 数学知识如积分、微分等。



3



UMAT


的基本任务?




我们知道,有限元计算(增量方法)的基本问题是:




已知第


n


步 的结果


(应力,


应变等)






然后给出一个应变增量


,


计算新的应力




UMAT


要完成这一计算,


并要计算


Jacobian


矩阵


DDSDDE(I,J) =



是应力增量矩阵(张 量或许更合适),



是应变增量矩阵。


DDSDDE(I,J)

< br>定义了第


J


个应变分量的微小变化对第

< br>I


个应力分量带来的变化。该矩阵只


影响收敛速度,不 影响计算结果的准确性(当然,不收敛自然得不到结果)。



4


、怎样建立自己的材料模型?




本构方程就是描述材料应力应变(增量)关系的数学公式,不 是凭空想象出来的,而是根据实验结果作出的合理归纳。比如对弹性材料,实验发现


应力 和应变同步线性增长,


所以用一个简单的数学公式描述。


为了解 释弹塑性材料的实验现象,


又提出了一些弹塑性模型,


并用数学 公式表示出来。




对各向同性材料(


Isotropic material



,


经常采用的办法是先研究材料单向应力


-


应变规律(如单向拉伸、压缩试验),并用一数学公式加以描 述,


然后把讲该规律推广到各应力分量。这叫做“泛化“


(ge neralization)




5


、一个完整的例子及解释




下面这个


UMAT

< br>取自


ABAQUS


手册,是一个用于大变形下的弹塑性材 料模型。希望我的注释能帮助初学者理解。需要了解


J2


理论。



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


1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIM E,TEMP,DTEMP,PREDEF,DPRED,


2 CMNAME,ND I,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,


3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT ,LAYER,KSPT,KSTEP,KINC)


STRESS--


应力矩阵,在增量步的开始,保存并作为已知量传入


UMAT


;在增量步的结束应该保存更新的应力;



STRAN--


当前应变,已知





DSTRAN


—应变增量,已知。


< /p>


STATEV--


状态变量矩阵,用来保存用户自己定义的一些变 量,如累计塑性应变,粘弹性应变等等。增量步开始时作为已知量传入,增量步结束应


该 更新;



DDSDDE=


。需要更新



DTIME


—时间增量


dt

。已知。



NDI


—正应力、应变 个数


,


对三维问题、轴对称问题自然是


3



11,22,33


),平面问题是


2(11,22)


;已知。



NSHR


—剪应力、应变个数,三维问题时

< br>3(12,13,23)


,轴对称问题是


1(12)


;已知。



NTENS=NTENS


NSHR


,已知。



PROPS


材料常数矩阵,如模量啊,粘度系数啊等等;作为已知量传入,已知 。



DROT


—对


finite stra in


问题,应变应该排除旋转部分,该矩阵提供了旋转矩阵,详见下面的解释。已知。< /p>



PNEWDT


—可用来控制时间步的变 化。如果设置为小于


1


的数,则程序放弃当前计算,并用新的时 间增量


DTIME X PNEWDT


作为新的时间增量


计算;这对时间相关的材料如聚合物等有用;如果设为大余


1


的数,则下一个增量步加大


DTIME



DTIME X PNEWDT


。可以更新。



其他变量含义可参看手册,暂时用不到。



C


INCLUDE 'ABA_'


定义了一些参数,变量什么的,不用管



C


CHARACTER*8 CMNAME


C


DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),


1 DDSDDT(NTENS),DRPLDE(NTENS),STRAN(NT ENS),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 .D0,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


矩阵很容易计算


注意,在


ABAQUS


中,剪切 应变采用工程剪切应变的定义,所以剪切部分模量是


G


而不是< /p>


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



EPL AS


中;



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


根据 当前等效塑性应变,调用


HARDSUB


得到对应的屈服应力< /p>



C GET YIELD STRESS FROM THE SPECIFIED HARDENING CURVE


C


NVALUE=NPROPS/2-1


CALL HARDSUB(SYIEL0,HARD,EQPLAS,PROPS(3),NVALUE)


C


C DETERMINE IF ACTIVELY YIELDING


C


如果


Mise s


应力大余屈服应力,屈服发生,计算流动方向



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

-


-


-


-


-


-


-


-



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

ABAQUS-材料本构模型编程的相关文章