ABAQUS-材料本构模型及编程.docx

上传人:rrsccc 文档编号:10350291 上传时间:2021-05-10 格式:DOCX 页数:10 大小:31.80KB
返回 下载 相关 举报
ABAQUS-材料本构模型及编程.docx_第1页
第1页 / 共10页
ABAQUS-材料本构模型及编程.docx_第2页
第2页 / 共10页
ABAQUS-材料本构模型及编程.docx_第3页
第3页 / 共10页
ABAQUS-材料本构模型及编程.docx_第4页
第4页 / 共10页
ABAQUS-材料本构模型及编程.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《ABAQUS-材料本构模型及编程.docx》由会员分享,可在线阅读,更多相关《ABAQUS-材料本构模型及编程.docx(10页珍藏版)》请在三一文库上搜索。

1、。材料本构模型及编程-ABAQUS-UMAT材料本构模型及编程实现:简介1、什么时候用用户定义材料(User-definedmaterial,UMAT)?很简单,当ABAQUS没有提供我们需要的材料模型时。所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。2、好学吗?需要哪些基础知识?先看一下ABAQUS手册( ABAQUSAnalysis UsersManual )里的一段话:Warning:The use of this optiongenerallyrequires considera

2、bleexpertise.The user is cautioned thatthe implementationofany realistic constitutivemodel requiresextensivedevelopment and testing.Initialtesting on a single elementmodel with prescribedtractionloading isstronglyrecommended.但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方

3、程(Constitutiveequation)而已。当然,最基本的一些概念和知识还是要具备的,比如应力 (stress),应变( strain)及其分量; volumetricpart和 deviatoricpart ;模量( modulus )、泊松比 (Poissons ratio)、拉美常数 (Lame constant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。3、 UMAT的基本任务?我们知道,有限元计算(增量方法)的基本问题是:已知第n 步的结果 (应力, 应变等) ,;然后给出一个应变增量, 计算新的应力。 UMAT要完成这一计算,并要计算Jacobian矩阵

4、DDSDDE(I,J) =。是应力增量矩阵(张量或许更合适),是应变增量矩阵。DDSDDE(I,J)定义了第J 个应变分量的微小变化对第I 个应力分量带来的变化。该矩阵只影响收敛速度,不影响计算结果的准确性(当然,不收敛自然得不到结果)。4、怎样建立自己的材料模型?本构方程就是描述材料应力应变(增量)关系的数学公式,不是凭空想象出来的,而是根据实验结果作出的合理归纳。比如对弹性材料,实验发现应力和应变同步线性增长,所以用一个简单的数学公式描述。为了解释弹塑性材料的实验现象,又提出了一些弹塑性模型,并用数学公式表示出来。对各向同性材料( Isotropicmaterial), 经常采用的办法是先

5、研究材料单向应力- 应变规律 (如单向拉伸、压缩试验) ,并用一数学公式加以描述,然后把讲该规律推广到各应力分量。这叫做“泛化“(generalization)。5、一个完整的例子及解释下面这个UMAT取自 ABAQUS手册,是一个用于大变形下的弹塑性材料模型。希望我的注释能帮助初学者理解。需要了解J2 理论。SUBROUTINEUMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,2 CMNAME,NDI,NSHR,NTE

6、NS,NSTATV,PROPS,NPROPS,COORDS,DROT,3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)STRESS-应力矩阵,在增量步的开始,保存并作为已知量传入UMAT;在增量步的结束应该保存更新的应力;STRAN-当前应变,已知。DSTRAN应变增量,已知。STATEV-状态变量矩阵,用来保存用户自己定义的一些变量,如累计塑性应变,粘弹性应变等等。增量步开始时作为已知量传入,增量步结束应该更新;DDSDDE=。需要更新DTIME时间增量dt 。已知。NDI正应力、应变个数, 对三维问题、轴对称问题自然

7、是3( 11,22,33),平面问题是2(11,22);已知。NSHR剪应力、应变个数,三维问题时3(12,13,23),轴对称问题是1(12) ;已知。NTENS=NTENSNSHR,已知。1。PROPS材料常数矩阵,如模量啊,粘度系数啊等等;作为已知量传入,已知。DROT对 finitestrain问题,应变应该排除旋转部分,该矩阵提供了旋转矩阵,详见下面的解释。已知。PNEWDT可用来控制时间步的变化。如果设置为小于1 的数,则程序放弃当前计算,并用新的时间增量DTIMEX PNEWDT作为新的时间增量计算;这对时间相关的材料如聚合物等有用;如果设为大余1 的数,则下一个增量步加大DTI

8、ME 为 DTIME X PNEWDT。可以更新。其他变量含义可参看手册,暂时用不到。CINCLUDEABA_PARAM.INC定义了一些参数,变量什么的,不用管CCHARACTER*8CMNAMECDIMENSIONSTRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),1 DDSDDT(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)矩阵的尺寸

9、声明CC LOCALARRAYSC -C EELAS- ELASTIC STRAINSC EPLAS- PLASTIC STRAINSC FLOW- DIRECTIONOF PLASTIC FLOWC -C局部变量,用来暂时保存弹性应变、塑性应变分量以及流动方向DIMENSIONEELAS(6),EPLAS(6),FLOW(6)CPARAMETER(ZERO=0.D0,ONE=1.D0,TWO=2.D0,THREE=3.D0,SIX=6.D0,1 ENUMAX=.4999D0,NEWTON=10,TOLER=1.0D-6)CC -C UMATFORISOTROPICELASTICITY AND

10、ISOTROPIC MISESPLASTICITY C CANNOTBE USEDFORPLANESTRESSC -C PROPS(1) - E C PROPS(2) - NUC PROPS(3.)- SYIELD ANHARDENINGDATAC CALLSHARDSUBFORCURVEOF YIELD STRESSVS. PLASTIC STRAINC -。2。CC ELASTIC PROPERTIESC获取杨氏模量,泊松比,作为已知量由PROPS向量传入EMOD=PROPS(1)EENU=PROPS(2)EBULK3=EMOD/(ONE-TWO*ENU)3KEG2=EMOD/(ONE E

11、NU)2GEG=EG2/TWOGEG3=THREE*EG3GELAM=(EBULK3-EG2)/THREEDOK1=1,NTENSDOK2=1,NTENSDDSDDE(K1,K2)=ZEROENDDOENDDO弹性部分,Jacobian矩阵很容易计算注意,在ABAQUS中,剪切应变采用工程剪切应变的定义,所以剪切部分模量是G 而不是 2G!CC ELASTIC STIFFNESSCDOK1=1,NDIDOK2=1,NDIDDSDDE(K2,K1)=ELAMENDDODDSDDE(K1,K1)=EG2 ELAMENDDODOK1=NDI 1,NTENSDDSDDE(K1,K1)=EGENDDOC

12、C RECOVERELASTIC ANDPLASTIC STRAINSANDROTATEFORWARDC ALSORECOVEREQUIVALENTPLASTIC STRAINC读取弹性应变分量,塑性应变分量,并旋转(调用了ROTSIG),分别保存在EELAS和 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)。3。先假设没有发生塑性流动,按完全弹性变形计算试算应力CC CALC

13、ULATEPREDICTORSTRESSANDELASTIC STRAINCDOK1=1,NTENSDOK2=1,NTENSSTRESS(K2)=STRESS(K2) DDSDDE(K2,K1)*DSTRAN(K1)ENDDOEELAS(K1)=EELAS(K1) DSTRAN(K1)ENDDOC 计算 Mises 应力C CALCULATEEQUIVALENTVONMISESSTRESSCSMISES=(STRESS(1)-STRESS(2)*2 (STRESS(2)-STRESS(3)*21 (STRESS(3)-STRESS(1)*2 DOK1=NDI 1,NTENS SMISES=SM

14、ISES SIX*STRESS(K1)*2ENDDO SMISES=SQRT(SMISES/TWO)C 根据当前等效塑性应变,调用HARDSUB得到对应的屈服应力C GETYIELD STRESSFROMTHESPECIFIED HARDENINGCURVECNVALUE=NPROPS/2-1CALL HARDSUB(SYIEL0,HARD,EQPLAS,PROPS(3),NVALUE)CC DETERMINEIF ACTIVELY YIELDINGC 如果 Mises 应力大余屈服应力,屈服发生,计算流动方向IF (SMISES.GT.(ONE TOLER)*SYIEL0)THENCC AC

15、TIVELY YIELDINGC SEPARATETHEHYDROSTATICFROMTHEDEVIATORICSTRESS C CALCULATETHEFLOWDIRECTIONCSHYDRO=(STRESS(1) STRESS(2) STRESS(3)/THREE DOK1=1,NDI FLOW(K1)=(STRESS(K1)-SHYDRO)/SMISES ENDDODOK1=NDI 1,NTENS FLOW(K1)=STRESS(K1)/SMISES。4。ENDDOC 根据 J2 理论并应用Newton-Rampson 方法求得等效塑性应变增量C SOLVEFOREQUIVALENTVO

16、NMISESSTRESSC ANDEQUIVALENTPLASTIC STRAIN INCREMENTUSING NEWTONITERATIONCSYIELD=SYIEL0DEQPL=ZERODOKEWTON=1,NEWTONRHS=SMISES-EG3*DEQPL-SYIELDDEQPL=DEQPL RHS/(EG3 HARD)CALL HARDSUB(SYIELD,HARD,EQPLAS DEQPL,PROPS(3),NVALUE)IF(ABS(RHS).LT.TOLER*SYIEL0)GOTO10ENDDOCC WRITEWARNINGMESSAGETO THE.MSG FILECWRI

17、TE(7,2)NEWTON2 FORMAT(/,30X,*WARNING- PLASTICITY ALGORITHMDID NOT,1 CONVERGEAFTER,I3,ITERATIONS)10 CONTINUEC 更新应力,应变分量C UPDATESTRESS, ELASTIC ANDPLASTIC STRAINSANDC EQUIVALENTPLASTIC STRAINCDOK1=1,NDISTRESS(K1)=FLOW(K1)*SYIELD SHYDROEPLAS(K1)=EPLAS(K1) THREE/TWO*FLOW(K1)*DEQPLEELAS(K1)=EELAS(K1)-THR

18、EE/TWO*FLOW(K1)*DEQPLENDDODOK1=NDI 1,NTENSSTRESS(K1)=FLOW(K1)*SYIELDEPLAS(K1)=EPLAS(K1) THREE*FLOW(K1)*DEQPLEELAS(K1)=EELAS(K1)-THREE*FLOW(K1)*DEQPLENDDOEQPLAS=EQPLAS DEQPLCC CALCULATEPLASTIC DISSIPATIONCSPD=DEQPL*(SYIEL0 SYIELD)/TWO。5。CC 计算塑性变形下的Jacobian矩阵FORMULATETHEJACOBIAN(MATERIAL TANGENT)C FIR

19、ST CALCULATEEFFECTIVE MODULICEFFG=EG*SYIELD/SMISESEFFG2=TWO*EFFGEFFG3=THREE/TWO*EFFG2EFFLAM=(EBULK3-EFFG2)/THREEEFFHRD=EG3*HARD/(EG3 HARD)-EFFG3c.if(props(7).lt.001)go to 99c.DOK1=1,NDIDOK2=1,NDIDDSDDE(K2,K1)=EFFLAMENDDODDSDDE(K1,K1)=EFFG2 EFFLAMENDDODOK1=NDI 1,NTENSDDSDDE(K1,K1)=EFFGENDDODOK1=1,NTE

20、NSDOK2=1,NTENSDDSDDE(K2,K1)=DDSDDE(K2,K1) EFFHRD*FLOW(K2)*FLOW(K1)ENDDOENDDOc.99 continuec.ENDIFC 将弹性应变,塑性应变分量保存到状态变量中,并传到下一个增量步C STOREELASTIC AND(EQUIVALENT) PLASTIC STRAINSC IN STATEVARIABLEARRAYCDOK1=1,NTENSSTATEV(K1)=EELAS(K1)STATEV(K1 NTENS)=EPLAS(K1)ENDDO。6。STATEV(1 2*NTENS)=EQPLASCRETURNENDc.

21、c.子程序,根据等效塑性应变,利用插值的方法得到对应的屈服应力SUBROUTINEHARDSUB(SYIELD,HARD,EQPLAS,TABLE,NVALUE)CINCLUDEABA_PARAM.INCCDIMENSIONTABLE(2,NVALUE)CPARAMETER(ZERO=0.D0)CC SET YIELD STRESSTO LAST VALUEOF TABLE, HARDENINGTOZEROCSYIELD=TABLE(1,NVALUE)HARD=ZEROC IF MORETHANONEENTRY, SEARCHTABLECIF(NVALUE.GT.1)THENDOK1=1,NV

22、ALUE-1EQPL1=TABLE(2,K1 1)IF(EQPLAS.LT.EQPL1)THENEQPL0=TABLE(2,K1)IF(EQPL1.LE.EQPL0)THENWRITE(7,1)1 FORMAT(/,30X,*ERROR- PLASTIC STRAINMUSTBE ,1 ENTEREDIN ASCENDINGORDER)CALL XITENDIFCC CURRENTYIELD STRESSANDHARDENINGCDEQPL=EQPL1-EQPL0SYIEL0=TABLE(1,K1)SYIEL1=TABLE(1,K1 1)DSYIEL=SYIEL1-SYIEL0HARD=DSYIEL/DEQPL。7。SYIELD=SYIEL0 (EQPLAS-EQPL0)*HARDGOTO10ENDIFENDDO10 CONTINUE ENDIF RETURN END。8。欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书, 学习资料等等打造全网一站式需求。9

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1