《ABAQUS_材料本构模型和编程》由会员分享,可在线阅读,更多相关《ABAQUS_材料本构模型和编程(8页珍藏版)》请在金锄头文库上搜索。
1、.材料本构模型及编程-ABAQUS-UMAT材料本构模型及编程实现:简介1、什么时候用用户定义材料User-definedmaterial,UMAT?很简单,当ABAQUS没有提供我们需要的材料模型时。所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。2、好学吗?需要哪些基础知识?先看一下ABAQUS手册ABAQUSAnalysisUsersManual里的一段话:Warning:Theuseofthisoptiongenerallyrequiresconsiderableexpertise
2、.Theuseriscautionedthattheimplementationofanyrealisticconstitutivemodelrequiresextensivedevelopmentandtesting.Initialtestingonasingleelementmodelwithprescribedtractionloadingisstronglyrecommended.但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程Constitutiveequation而已。当然,最基
3、本的一些概念和知识还是要具备的,比如应力,应变strain及其分量;volumetricpart和deviatoricpart;模量modulus、泊松比、拉美常数;矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。3、UMAT的基本任务?我们知道,有限元计算增量方法的基本问题是:已知第n步的结果应力,应变等,;然后给出一个应变增量,计算新的应力。UMAT要完成这一计算,并要计算Jacobian矩阵DDSDDE=。是应力增量矩阵张量或许更合适,是应变增量矩阵。DDSDDE定义了第J个应变分量的微小变化对第I个应力分量带来的变化。该矩阵只影响收敛速度,不影响计算结果的准确性当然,不收敛
4、自然得不到结果。4、怎样建立自己的材料模型?本构方程就是描述材料应力应变增量关系的数学公式,不是凭空想象出来的,而是根据实验结果作出的合理归纳。比如对弹性材料,实验发现应力和应变同步线性增长,所以用一个简单的数学公式描述。为了解释弹塑性材料的实验现象,又提出了一些弹塑性模型,并用数学公式表示出来。对各向同性材料Isotropicmaterial,经常采用的办法是先研究材料单向应力-应变规律如单向拉伸、压缩试验,并用一数学公式加以描述,然后把讲该规律推广到各应力分量。这叫做泛化。5、一个完整的例子及解释下面这个UMAT取自ABAQUS手册,是一个用于大变形下的弹塑性材料模型。希望我的注释能帮助初
5、学者理解。需要了解J2理论。SUBROUTINEUMATSTRESS-应力矩阵,在增量步的开始,保存并作为已知量传入UMAT;在增量步的结束应该保存更新的应力;STRAN-当前应变,已知。DSTRAN应变增量,已知。STATEV-状态变量矩阵,用来保存用户自己定义的一些变量,如累计塑性应变,粘弹性应变等等。增量步开始时作为已知量传入,增量步结束应该更新;DDSDDE=。需要更新DTIME时间增量dt。已知。NDI正应力、应变个数,对三维问题、轴对称问题自然是311,22,33,平面问题是2;已知。NSHR剪应力、应变个数,三维问题时3,轴对称问题是1;已知。NTENS=NTENS NSHR,已
6、知。PROPS材料常数矩阵,如模量啊,粘度系数啊等等;作为已知量传入,已知。DROT对finitestrain问题,应变应该排除旋转部分,该矩阵提供了旋转矩阵,详见下面的解释。已知。PNEWDT可用来控制时间步的变化。如果设置为小于1的数,则程序放弃当前计算,并用新的时间增量DTIMEXPNEWDT作为新的时间增量计算;这对时间相关的材料如聚合物等有用;如果设为大余1的数,则下一个增量步加大DTIME为DTIMEXPNEWDT。可以更新。其他变量含义可参看手册,暂时用不到。CINCLUDEABA_PARAM.INC定义了一些参数,变量什么的,不用管CCHARACTER*8CMNAMECDIME
7、NSIONSTRESS,STATEV,DDSDDE,1DDSDDT,DRPLDE,STRAN,DSTRAN,2PREDEF,DPRED,PROPS,COORDS,DROT,3DFGRD0,DFGRD1矩阵的尺寸声明CCLOCALARRAYSC-CEELAS-ELASTICSTRAINSCEPLAS-PLASTICSTRAINSCFLOW-DIRECTIONOFPLASTICFLOWC-C局部变量,用来暂时保存弹性应变、塑性应变分量以及流动方向DIMENSIONEELAS,EPLAS,FLOWCPARAMETERCC-CUMATFORISOTROPICELASTICITYANDISOTROPIC
8、MISESPLASTICITYCCANNOTBEUSEDFORPLANESTRESSC-CPROPS-ECPROPS-NUCPROPS-SYIELDANHARDENINGDATACCALLSHARDSUBFORCURVEOFYIELDSTRESSVS.PLASTICSTRAINC-CCELASTICPROPERTIESC获取杨氏模量,泊松比,作为已知量由PROPS向量传入EMOD=PROPSEENU=PROPSEBULK3=EMOD/3KEG2=EMOD/2GEG=EG2/TWOGEG3=THREE*EG3GELAM=/THREEDOK1=1,NTENSDOK2=1,NTENSDDSDDE=Z
9、EROENDDOENDDO弹性部分,Jacobian矩阵很容易计算注意,在ABAQUS中,剪切应变采用工程剪切应变的定义,所以剪切部分模量是G而不是2G!CCELASTICSTIFFNESSCDOK1=1,NDIDOK2=1,NDIDDSDDE=ELAMENDDODDSDDE=EG2 ELAMENDDODOK1=NDI 1,NTENSDDSDDE=EGENDDOCCRECOVERELASTICANDPLASTICSTRAINSANDROTATEFORWARDCALSORECOVEREQUIVALENTPLASTICSTRAINC读取弹性应变分量,塑性应变分量,并旋转调用了ROTSIG,分别保存
10、在EELAS和EPLAS中;CALLROTSIGSTATEV,DROT,EELAS,2,NDI,NSHRCALLROTSIGSTATEV,DROT,EPLAS,2,NDI,NSHR读取等效塑性应变EQPLAS=STATEV先假设没有发生塑性流动,按完全弹性变形计算试算应力CCCALCULATEPREDICTORSTRESSANDELASTICSTRAINCDOK1=1,NTENSDOK2=1,NTENSSTRESS=STRESS DDSDDE*DSTRANENDDOEELAS=EELAS DSTRANENDDOC计算Mises应力CCALCULATEEQUIVALENTVONMISESSTRE
11、SSCSMISES=STRESS-STRESS*2 STRESS-STRESS*21STRESS-STRESS*2DOK1=NDI 1,NTENSSMISES=SMISES SIX*STRESS*2ENDDOSMISES=SQRTC根据当前等效塑性应变,调用HARDSUB得到对应的屈服应力CGETYIELDSTRESSFROMTHESPECIFIEDHARDENINGCURVECNVALUE=NPROPS/2-1CALLHARDSUBSYIEL0,HARD,EQPLAS,PROPS,NVALUECCDETERMINEIFACTIVELYYIELDINGC如果Mises应力大余屈服应力,屈服发生
12、,计算流动方向IFSMISES.GT.*SYIEL0THENCCACTIVELYYIELDINGCSEPARATETHEHYDROSTATICFROMTHEDEVIATORICSTRESSCCALCULATETHEFLOWDIRECTIONCSHYDRO=STRESS STRESS STRESS/THREEDOK1=1,NDIFLOW=STRESS-SHYDRO/SMISESENDDODOK1=NDI 1,NTENSFLOW=STRESS/SMISESENDDOC根据J2理论并应用Newton-Rampson方法求得等效塑性应变增量CSOLVEFOREQUIVALENTVONMISESSTRESSCANDEQUIVALENTPLASTICSTRAINI