一起学习UMAT 的一些公式注释(2)

2019-03-22 21:24

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中,剪切应变采用工程剪切应变的定义?ij?ui,j?uj,i,所以剪切部分模量是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和EPLAS中;

CALL ROTSIG(STATEV( 1),DROT,EELAS,2,NDI,NSHR)

CALL ROTSIG(STATEV(NTENS+1),DROT,EPLAS,2,NDI,NSHR) 读取等效塑性应变 STATEV中的第13个量 EQPLAS=STATEV(1+2*NTENS)

先假设没有发生塑性流动,按完全弹性变形计算试算应力?σ?J.?ε σn?1?σn??σ

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得到对应的屈服应力

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 如果Mises应力大余屈服应力,屈服发生,计算流动方向 IF (SMISES.GT.(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 END DO

C根据J2理论并应用Newton-Rampson方法求得等效塑性应变增量 C SOLVE FOR EQUIVALENT VON MISES STRESS

C AND EQUIVALENT PLASTIC STRAIN INCREMENT USING NEWTON ITERATION C

SYIELD=SYIEL0 DEQPL=ZERO

DO KEWTON=1,NEWTON

RHS=SMISES-EG3*DEQPL-SYIELD DEQPL=DEQPL+RHS/(EG3+HARD) CALL

HARDSUB(SYIELD,HARD,EQPLAS+DEQPL,PROPS(3),NVALUE) IF(ABS(RHS).LT.TOLER*SYIEL0) GOTO 10 END DO C

C WRITE WARNING MESSAGE TO THE .MSG FILE C

WRITE(7,2) NEWTON

2 FORMAT(//,30X,'***WARNING - PLASTICITY ALGORITHM DID NOT ',

1 'CONVERGE AFTER ',I3,' ITERATIONS') 10 CONTINUE

C更新应力?n?1,应变分量

C UPDATE STRESS, ELASTIC AND PLASTIC STRAINS AND C EQUIVALENT PLASTIC STRAIN C

DO K1=1,NDI

STRESS(K1)=FLOW(K1)*SYIELD+SHYDRO

EPLAS(K1)=EPLAS(K1)+THREE/TWO*FLOW(K1)*DEQPL EELAS(K1)=EELAS(K1)-THREE/TWO*FLOW(K1)*DEQPL

END DO

DO K1=NDI+1,NTENS

STRESS(K1)=FLOW(K1)*SYIELD

EPLAS(K1)=EPLAS(K1)+THREE*FLOW(K1)*DEQPL EELAS(K1)=EELAS(K1)-THREE*FLOW(K1)*DEQPL END DO

EQPLAS=EQPLAS+DEQPL C

C CALCULATE PLASTIC DISSIPATION C

SPD=DEQPL*(SYIEL0+SYIELD)/TWO C

C 计算塑性变形下的Jacobian矩阵

FORMULATE THE JACOBIAN (MATERIAL TANGENT) C FIRST CALCULATE EFFECTIVE MODULI C

EFFG=EG*SYIELD/SMISES EFFG2=TWO*EFFG

EFFG3=THREE/TWO*EFFG2

EFFLAM=(EBULK3-EFFG2)/THREE

EFFHRD=EG3*HARD/(EG3+HARD)-EFFG3

经典弹塑性理论,应力表达式式如下:pr?ij??ij?s??ij?kk133其中:??ijpl??ij??pl,?ij?Sijpr/?pr2对时间取微分:pr?ij?s??ij??ij???s??ij??kk?13?ij?其中:??s???pr?pr?Spr??prSijij(?pr)2??prSij?pr?pr?pr3SijprSklSkl2(?pr)3??ij?1/3?ij??mm)2G(??pr??kl?1/3?kl??mm)3G?ij?kl(??prd?s?p3Gpr?kld??hSkl/?pr?pd?h?3G1pr?ij?s??ij??ij???s??ij??kk那么?3pr?ij?1/3?ij??mm)?kl?1/3?kl??mm)2G(?3G?ij?kl(??ijSkl/?pr?kl?K?ij??mm??s??s?h??pr?prh/3G?1?mm2G?s?mm?s2G?s?ij?3G?ij?kl?s?ij?klG?ij?kl?ij??????[K?ij?mm?]?pr?ij??kl?h?kl?3?pr??prh/3G?1?prG?ij?kl?kl?s2G?s2G?s3G?sh????mm?(K?)?????[?]?????ijmm3?pr?prijh/3G?1?prijklkl?prG?ij?kl?kl?sG?ij?sSkprk?mm??mm?0(Skpr注意:??)k?0prpr2?(?)G?d?s2如果令:G*=prs,?*?K-G*,h??3d?plh?mm?2G*??ij?[?kl?ij??*?ij?则:??3G*]?ij?kl?h/3G?1

=======================================

if (props(7).lt..001) go to 99 c...

DO K1=1,NDI DO K2=1,NDI

DDSDDE(K2,K1)=EFFLAM END DO

DDSDDE(K1,K1)=EFFG2+EFFLAM END DO

DO K1=NDI+1,NTENS DDSDDE(K1,K1)=EFFG END DO

DO K1=1,NTENS DO K2=1,NTENS

DDSDDE(K2,K1)=DDSDDE(K2,K1)+EFFHRD*FLOW(K2)*FLOW(K1) END DO


一起学习UMAT 的一些公式注释(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:下料问题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: