一起学习UMAT 的一些公式注释

合集下载

学习UMAT

学习UMAT

弹塑性模型的UMAT 子程序UMAT 主要功能:已 知第n 步的应力、应变,然后给出一个应变增量, 计算新的应力,并要计算雅克比矩阵—DDSDDE 。

UMAT 中经常使用的变量说明:DDSDDE (NTENS , NTEN):雅可比矩阵,表示应力增量/应变增量的偏导数STRESS (NTENS):应力张量矩阵STATEV:存储状态变量矩阵,需要不断更新 PROPS:材料常数矩阵,如弹性模量、泊松比 STRAN:应变矩阵 DSTRAN:应变增量矩阵 DTIME:增量步的时间增量NDI:直接应力分量个数,即正应力个数 NSHR:切应力个数 NTENS:总应力个数举例:弹塑性模型本构关系)1()1ln(1)(*0m n T C B A -⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+++=••εεεσ (1) 其中参数A 、B 、n 、C 、m 已知,STATEV 状态变量矩阵中包括六个弹性应变分量、六个塑性应变分量和一个等效塑性应变量。

UMAT子程序说明SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,1 RPL,DDSDDT,DRPLDE,DRPLDT,2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMEDIMENSION STRESS(NTENS),STATEV(NSTATV),1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)(开头为固定格式,主要定义了刚度、应力、应变矩阵等变量)DIMENSION EELAS(6),EPLAS(6),FLOW(6),PARAMETER(ONE=1.0D0,TWO=2.0D0,THREE=3.0D0,SIX=6.0D0,HALF=0. 5D0)DATA NEWTON,TOLER/40,1.D-6/(用户自定义弹性应变、塑性应变、应变流、常量参数)定义各种参数C PROPS(1)-YANG'S MODULUS (杨氏模量) C PROPS(2)-POISSON RATIO (泊松比)C PROPS(3)-INELASTIC HEAT FRACTION (塑性耗散比) C PROPS(4)-AC PROPS(5)-B C PROPS(6)-nC PROPS(7)-CC PROPS(8)-m (以及公式1中的五个参数)定义拉梅常数EMOD=PROPS (1) ENU=PROPS (2)IF (ENU.GT.0.4999.AND.ENU.LT.0.5001) ENU=0.499) EBULK3=EMOD/ (ONE -TWO*ENU)) 即 μ21-EEG2=EMOD/ (ONE+ENU) 即μ+1EEG=EG2/TWO 拉梅常数)1(2μ+=EGEG3=THREE*EG 即)1(23μ+EELAM= (EBULK3-EG2)/THREE )1)(21(12131μμμμμλ+-=⎪⎪⎭⎫ ⎝⎛+--=E E E定义弹性刚度矩阵DO 20 K1=1, NTENS DO 10 K2=1, NTENSDDSDDE (K2, K1) = 0.0 10 CONTINUE20 CONTINUE (先将弹性矩阵清零)DO 40 K1=1, NDI DO 30 K2=1, NDIDDSDDE (K2, K1) =ELAM 即λ 30 CONTINUEDDSDDE (K1, K1) =EG2+ELAM 即G +λ 40 CONTINUEDO 50 K1=NDI+1, NTENSDDSDDE (K1, K1) =EG 即G 50 CONTINUE得出初始DDSDDE=⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+++G GGGGG0000000000000200020002λλλλλλλλλDO 70 K1=1, NTENS DO 60 K2=1, NTENSSTRESS(K2)=STRESS(K2)+DDSDDE(K2,K1)*DSTRAN(K1) ({应力}=[弹性模量矩阵]{应变})60 CONTINU 70 CONTINUEDO 80 K1=1, NTENSEELAS (K1) = STATEV (K1) + DSTRAN (K1) EPLAS (K1) = STATEV (K1+NTENS) 80 CONTINUEEQPLAS=STATEV (1+2*NTENS) (给弹性和塑性应变矩阵赋值)IF (NPROPS.GT.5.AND.PROPS(4).GT.0.0)THENSMISES=(STRESS(1)-STRESS(2))*(STRESS(1)-STRESS(2))+ 1(STRESS(2)-STRESS(3))*(STRESS(2)-STRESS(3))+ 1(STRESS(3)-STRESS(1))*(STRESS(3)-STRESS(1)) DO 90 K1=NDI+1, NTENSSMISES=SMISES+SIX*STRESS (K1)*STRESS (K1) 90 CONTINUESMISES= SQRT (SMISES/TWO) (计算MISES 屈服应力)()[])(6)()(21231223212211332332222211σσσσσσσσδσ+++-+-+-=-CALL USERHARD (SYIEL0, HARD, EQPLAS , PROPS(4)) IF(SMISES.GT.(1.0+TOLER)*SYIEL0)THENSHYDRO=(STRESS(1)+STRESS(2)+STRESS(3))/THREE ONESY=ONE/SMISES DO 110 K1=1,NDIFLOW(K1)=ONESY*(STRESS(K1)-SHYDRO即3,2,1);3(1)(321=++-=-i i FLOW i σσσσσ110 CONTINUEDO 120 K1=NDI+1,NTENSFLOW(K1)=STRESS(K1)*ONESY 即6,5,4;3)(321=++=j j FLOW jjσσσσ120 CONTINUECA=PROPS(4) B=PROPS(5)EN=PROPS (6)C=PROPS (7) EM=PROPS(8) SYIELD=SYIEL0DEQPL=(SMISES -SYIELD)/EG3 DSTRES=TOLER*SYIEL0/EG3DEQMIN=HALF*DTIME*EXP(1.0D -4/C) DO 130 KEWTON=1,NEWTON DEQPL=MAX(DEQPL,DEQMIN)CALL USERHARD(SYIELD,HARD,EQPLAS+DEQPL,PROPS(4) TVP=C*LOG(DEQPL/DTIME) TVP1=TVP+ONEHARD1=HARD*TVP1+SYIELD*C/DEQPL SYIELD=SYIELD*TVP1RHS=SMISES -EG3*DEQPL -SYIELD DEQPL=DEQPL+RHS/(EG3+HARD1)IF(ABS(RHS/EG3).LE.DSTRES)GOTO 140 130 CONTINUE WRITE(6,2)NEWTON2 FORMAT(//,30X,'***W ARNING -PLASTICITY ALGORITHM DID N 1'CONVERGE AFTER',I3,'ITERATIONS') 140 CONTINUEEFFHRD=EG3*HARD1/(EG3+HARD1)增量迭代法,这一部分不清楚重新计算正应力、切应力,并更新塑性应变和弹性应变数据 DO 150 K1=1,NDISTRESS(K1)=FLOW(K1)*SYIELD+SHYDROEPLAS(K1)=EPLAS(K1)+THREE*FLOW(K1)*DEQPL/TWO EELAS(K1)=EELAS(K1)-THREE*FLOW(K1)*DEQPL/TWO 150 CONTINUEDO 160 K1=NDI+1,NTENSSTRESS(K1)=FLOW(K1)*SYIELDEPLAS(K1)=EPLAS(K1)+THREE*FLOW(K1)*DEQPL EELAS(K1)=EELAS(K1)-THREE*FLOW(K1)*DEQPL160 CONTINUEEQPLAS=EQPLAS+DEQPLSPD=DEQPL*(SYIEL0+SYIELD)/TWO RPL=PROPS(3)*SPD/DTIME计算雅克比矩阵DDSDDEEFFG=EG*SYIELD/SMISES-+σσμs )1(2EEFFG2=TWO*EFFG EFFG3=THREE*EFFG2/TW-+σμσ)1(23SEEFFLAM=(EBULK3-EFFG2)/THREE ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+---σμσμ)1(2131S E EDO 220 K1=1,NDIDO 210 K2=1,NDIDDSDDE(K2,K1)=EFFLAM 210 CONTINUEDDSDDE(K1,K1)=EFFG2+EFFLAM 220 CONTINUEDO 230 K1=NDI+1,NTENS DDSDDE(K1,K1)=EFFG 230 CONTINUEDO 250 K1=1,NTENS DO 240 K2=1,NTENSDDSDDE(K2,K1)=DDSDDE(K2,K1)+FLOW(K2)*FLOW(K1) 1*(EFFHRD -EFFG3) 240 CONTINUE 250 CONTINUE ENDIF ENDIF存储更新状态变量矩阵中的弹性应变、塑性应变、等效塑性应变的变量 DO 310 K1=1,NTENS STATEV(K1)=EELAS(K1)STATEV(K1+NTENS)=EPLAS(K1) 310 CONTINUESTATEV(1+2*NTENS)=EQPLAS计算屈服应力强度和硬化率SUBROUTINE USERHARD(SYIELD,HARD,EQPLAS,TABLE) INCLUDE'ABA_PARAM.IN DIMENSION TABLE(3) A=TABLE(1) B=TABLE(2) EN=TABLE(3)HARD=0.0 硬化率初始值设为0 IF(EQPLAS.EQ.0.0)THENSYIELD=A 如果等效塑性应变等于0,则屈服强度为材料常数 ELSEHARD=EN*B*EQPLAS**(EN -1) 否则1-⋅⋅n B n ε SYIELD=A+B*EQPLAS**EN n s B A εσ+= END IF RETURN END首先确定材料常数矩阵PROPS ,包括拉梅常数、模量、泊松比等。

一起学习umat

一起学习umat

一起学习UMATZHANG chunyu1、什么时候用用户定义材料(User-defined material, UMAT )?很简单,当ABAQUS 没有提供我们需要的材料模型时。

所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS 已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。

2、好学吗?需要哪些基础知识?先看一下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 constitutive model requires extensive development and testing. Initial testing on a single element model with prescribed traction loading is strongly recommended.但这并不意味着非力学专业,或者力学基础知识不很丰富者(就如我本人 )就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation )而已。

当然,最基本的一些概念和知识还是要具备的,比如应力(stress),应变(strain )及其分量; volumetric part 和deviatoric part ;模量(modulus )、泊松比(Poisson ’s ratio)、拉美常数(Lame constant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。

显式积分算法umat

显式积分算法umat

显式积分算法umat显式积分算法umat显式积分算法umat是一种数值积分算法,它可以运用于解决各种对数学积分求解的问题。

显式积分算法umat由吴钟贤于1999年开发,在数学领域中有着广泛的应用,特别在数值积分和求解微分方程等方面被广泛采用。

显式积分算法umat的应用显式积分算法umat主要应用于求解各种数学积分,如定积分,重积分,广义积分,不定积分等等。

无论是单变量积分还是多变量积分,显式积分算法umat都能解决。

另外,在求解微分方程等数学问题中,显式积分算法umat也能起到良好的作用。

显式积分算法umat的原理显式积分算法umat的原理主要基于牛顿-科茨公式(N-C公式)的思想,利用较低的次数的插值多项式近似函数,从而求得积分的近似值。

插值多项式过程中使用了拉格朗日插值和牛顿插值等数学方法,使得求解积分的精度能够得到较好的保证。

显式积分算法umat的步骤显式积分算法umat的步骤如下:1.选取积分区间[a,b]和积分点数n2.利用牛顿-科茨公式,选取适当的插值多项式的次数p3.根据插值多项式,计算出积分的近似值显式积分算法umat的优点1.精度高:由于显式积分算法umat采用牛顿-科茨公式得到插值多项式来近似函数值,精度相较于其他积分方法更高。

2.计算速度快:显式积分算法umat的计算过程简单、快速,不需要迭代和收敛操作。

3.算法适用性好:显式积分算法umat可以使用于各种数学积分问题,无论是定积分或不定积分,多元函数或单元函数,显式积分算法umat都适用。

显式积分算法umat的局限性1.适用范围受限:显式积分算法umat适用于可微的函数,如果函数不是可微的,如分段函数或其他非光滑函数,则显式积分算法umat的计算精度会受到影响。

2.插值多项式阶数不同:显式积分算法umat中,插值多项式的次数选择对于得到正确的积分值非常重要,但不同次数的多项式会给出不同的保护范德蒙德矩阵,可能导致评估结果不一致的情况。

ABAQUS-UMAT-自学知识整理贴

ABAQUS-UMAT-自学知识整理贴

各个楼层及内容索引2-------------------------------------什么是UMAT3-------------------------------------UMAT功能简介4-------------------------------------UMAT开始的变量声明5-------------------------------------UMAT中各个变量的详细解释6-------------------------------------关于沙漏和横向剪切刚度7-------------------------------------UMAT流程和参数表格实例展示8-------------------------------------FORTRAN语言中的接口程序Interface 9-------------------------------------关于UMAT是否可以用Fortran90编写的问题10-17--------------------------------Fortran77的一些有用的知识简介20-25\30-32-----------------------弹塑性力学相关知识简介34-37--------------------------------用户材料子程序实例JOhn-cook模型压缩包下载38-------------------------------------JOhn-cook模型本构简介图40-------------------------------------用户材料子程序实例JOhn-cook模型完整程序+david详细注解[欢迎大家来看看,并提供意见,完全是自己的diy的,不保证完全正确,希望共同探讨,以便更正,带"?"部分,还望各位大师\同仁指教]什么是UMAT程序,真正的定义材料的力学行为即属性,是用户自己编译的FORTRAN 程序来实现的!UMAT通过与ABAQUS主求解程序的接口实现与ABAQUS的数据交流UMAT功能简介[-摘自庄茁老师的书]UMAT子程序具有强大的功能,使用UMAT子程序:(1)可以定义材料的本构关系,使用ABAQUS材料库中没有包含的材料进行计算,扩充程序功能。

一起学习户定义材料(User-definedmaterial,UMAT)解 读

一起学习户定义材料(User-definedmaterial,UMAT)解    读

一起学习UMATZHANG chunyu1、什么时候用用户定义材料(User-defined material, UMAT)?很简单,当ABAQUS没有提供我们需要的材料模型时。

所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。

2、好学吗?需要哪些基础知识?先看一下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 constitutive model requires extensive development and testing. Initial testing on a single element model with prescribed traction loading is strongly recommended.但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation)而已。

当然,最基本的一些概念和知识还是要具备的,比如应力(stress),应变(strain)及其分量; volumetric part和deviatoric part;模量(modulus)、泊松比(Poisson’s ratio)、拉美常数(Lame constant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。

3、UMAT的基本任务?我们知道,有限元计算(增量方法)的基本问题是:已知第n步的结果(应力,应变等),; 然后给出一个应变增量,计算新的应力。

UMAT以及depvar整理

UMAT以及depvar整理

UMAT以及depvar整理by warmwormdk最近一直在论坛查资料,对自己感兴趣的一些问题专门进行了整理,希望对大家有所帮助,也希望能获得小小的奖励啊,哈哈1 UMAT的状态变量问题Q:用DEPVAR定义的状态变量个数假设为10个。

是不是说一个积分点的状态变量是10个,单元的积分点是4的话,那么单元的状态变量就是40个。

也就是自己要存储单元变量的话,就得按40个状态变量来。

是不是呢?A:有人说跟我说,DEPVAR定义的状态变量个数指每个积分点的状态变量个数。

abaqus会自动为每个单元的每个积分点开辟这样大小的状态变量数组,abaqus调用umat时能够自动根据单元好和积分点向umat提供状态变量,在此基础上umat修改状态变量。

2 umat里的STATEV变量怎么输出到odb文件中Q:比如我想知道statev(10)的odb文件,怎么输出?又怎么打开.statev(10)是我自己定义的damage变量,请各位赐教A 在element关键词中添加SDV,就像下面这样。

*Element Output, directions=YESALPHA, LE, PE, PEEQ, PEMAG, PS, S, STH,SE, SF, VE, VEEQ, VS, SDV3Q statev(?)请问这个状态变量()内的数字代表什么含义?对应的变量是不是固定的?各自对应着哪些变量?A:括号中的数代表这个变量矩阵的维数,这个值等于depvar的值。

4 umat中DEPVAR有几种定义方式?Q;UMAT中状态变量的定义方式,一般有两种形式,一是在inp文件中采用*initial conditions定义,二是特殊情况下可以采用SDVINI来定义; 目前的疑问是,是否还有其他定义状态变量的方式? 请专家针对上传的附件给于指点多谢! 附件中的例子来自ABAQUS HELP中的例子! 请问例子中INP文件中是如何定义状态变量的 THANKSA:初值可以采用SDVINI来定义程序运行中用以下代码更新DO 310 K1=1,NTENSSTATEV(K1)=EELAS(K1)STATEV(K1+NTENS)=EPLAS(K1)310 CONTINUESTATEV(1+2*NTENS)=EQPLASCRETURNEND5 umat子程序定义问题?Q: 在umat中定义的参数在材料中需不需再定义了?比如我umat 中已经给了密度了。

UMAT

UMAT

(1)非线性方程首先在节点上进行各种迭代,迭代求出节点位移增量,转换成积分点应变增量,这时候进入你的umat,用你学过的塑性理论进行应力和刚度的更新,如果你的umat计算顺利的话,插值到节点上,这样得到了单元节点上内力和单元刚度,所有单元一集成,整体迭代再次继续,一直满足迭代收敛。

OK一个增量步算完了。

(2)首先你要弄清楚Umat是在材料积分点上实现的,Umat的每个输入变量只对一个积分点有效,
因此单从Umat子程序本身的输入变量里,你是没有办法计算出变形梯度的,因为你要得到应变梯度,必须知道附近单元的应变,因此你每调用一次Umat,就要存储这个单元积分点的应变做为全局变量,这可以通过在Fortran本身实现,在每个增量步里,单元都调用好Umat之后,所有的应变就都存在了全局变量里面了,然后在下一个增量步,重新更新所存储的这些全局变量,这样你就可以在Umat里面使用所有单元的这些变量了,而不是只能使用你所运算的单元提供的变量。

最后,我不太喜欢这些梯度相关的本构,因为违反了连续介质力学的基本假设,虽然在微小尺度下连续介质力学本来就是不对的,但是这样得到的模型过于复杂,而且对于解决问题并没有太多好处。

(3)UMAT就是通过传入的积分点的应变,应用定义的本构求出相应的积分点的应力。

umat程序代码及注释

umat程序代码及注释

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,1 RPL,DDSDDT,DRPLDE,DRPLDT,2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMEDIMENSION STRESS(NTENS),STATEV(NSTATV),1 DDSDDE(NTENS,NTENS),2 DDSDDT(NTENS),DRPLDE(NTENS),3 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),4 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)CDIMENSION STRANT(6),CFULL(6,6),CDFULL(6,6),DCDDFV(6,6),1 DCDDMV(6,6),DCDDDV(6,6),DFFDE(6),DFMDE(6),DFDDE(6),2 TEMP1(6),TEMP2(6),TEMP3(6),TEMP4(6),TEMP5(6),TEMP6(6),3 TEMP7(6,6)PARAMETER (ZERO = 0.D0,ONE = 1.D0,TWO = 2.D0,THREE = 3.D0)C 输入材料弹性参数e1=props(1)e2=props(2)e3=props(3)u12=props(4)u13=props(5)u23=props(6)g12=props(7)g13=props(8)g23=props(9)C 输入材料的强度参数,用于失效判断。

梅逊公式的应用

梅逊公式的应用

1 1
1 G 2 G 3 G 5 G 3 G 4 G 6 G 1G 2 G 3 G 4 G 7 G3
3个回路 具有的公共传递函数:
G (s)
G 1G 2 G 3 G 4 1 G 3 G 4 G 6 G 2 G 3 G 5 G 1G 2 G 3 G 4 G 7
例2:利用梅逊公式求如图所示系统的传递函数
G4(s)
+
R(s)
+ +
G1(s)
-
+
G2(s)
-
G3(s) H2(s)
+
Y(s) ②
-
① H1(s) H3(s)

系统的信号流图为: R(s)
1 1 G1 1 G2
G4 G3 1 1
Y(s)

-H1 -H3 ③
-H2

2.6
P1=G1G2G3; P2=G1G4
2.6
解: 前向通道(1条): 反馈回路(5个):每个均为
P1

系统信号流图及梅逊公式
1
R C s 1
RCs
3
3
3
1 1


a
La
5 RCs
两个互不接触回路(6个):①②、①③、③④、①⑤、②③、④⑤
每对传递函数之积为:
1 R C s
2 2 2


Lb Lc
6 R C s
3
2 2 2

bc
def
a
Lb Lc
d
每两个互不接触回路中所有传递函数乘积之和(含符号)
每三个互不接触回路中所有传递函数乘积之和(含符号)

UMAT学习心得

UMAT学习心得

UMAT学习心得
原创分享:新手学习umat时的一些tips
刚弄完一个非线性弹性本构,有点心得跟和我一样的新手分享一下!
1.inp文件中的材料参数每行最多写8个,多于八个需要另一起行,如果非要不换行接着写,可能会导致完全无法预知的计算后果(但是计算仍然会顺利地进行)
2.fortran中i-n开头的变量默认是整型的,如果给它们赋小数值,小数部分会舍掉,零点几的数就变成零了。

例如我下载的umat中,泊松比用miu表示,结果可想而知
3.可以在umat中使用write结合单元号NOEL,积分点号NPT输出某些变量以监控umat的运行情况,同时可用于输出数据进行后处理。

例如想输出8号单元中5号积分点的主应力,可在umat中加入if(NOEL==8.and.NPT==5) write(*.*)ps(1),ps(2),ps(3)
如果要输出到文件,只需要参照fortran的语法加入相应的语句。

注意文件路径名要写全,否则输不出来。

这个功能可能还可以用于从外部读入一些数据到umat中,没试过。

4.abaqus传给umat的三个主应力的顺序很奇怪,我没发现什么必然的大小规律,这点也请高手指点一下。

可以先根据需要排个序再使用。

暂时想到的就这些,希望对大家有点用!
第4点:你是指传给UMAT的STRESS这个数组吗?
stress的前3个是正应力分量,后3个是切应力分量,不是主应力,他们之间当然没有必然的大小规律了。

一起学习UMAT 的一些公式注释

一起学习UMAT 的一些公式注释

一起学习UMAT的一些公式注释ZHANG chunyuherrliubs comments in formulas知识积累和储备在进行ABAQUS子程序UMAT的编写前,要弄清楚:ABAQUS调用UMAT子程序流程;要建立的材料模型的本构关系和屈服准则等;UMAT子程序中相关参数、以及矩阵的表达。

主要求解过程:每一个增量步开始,ABAQUS主程序在单元积分点上调用UMAT 子程序,并转入应变增量、时间步长及荷载增量,同时也传入当前已知的状态的应力、应变及其他求解过程相关的变量;UMAT子程序根据本构方程求解应力增量及其他相关的变量,提供Jacobian矩阵给ABAQUS主程序以形成整体刚度矩阵;主程序结合当前荷载增量求解位移增量,继而进行平衡校核;如果不满足指定的误差,ABAQUS将进行迭代直到收敛,然后进行下一增量步的求解。

弹性力学相关知识(基本)仿真论坛(/forum.php ... &highlight=UMAT)ABAQUS二次开发版块这个人帖子结合例子,列出了弹性力学的基本公式。

UMAT变量含义UMAT中可以得到的量增量步开始时刻的,应力(Stress),应变(Strain), 状态变量(Solution-dependent state variables (SDVs))增量步开始时刻的,应变增量(Strain increment),转角增量(Rotation increment),变形梯度(Deformation gradient)时间总值及增量(Total and incremental values of time),温度(Temperature),用户定义场变量材料常数,材料点的位置,特征单元长度当前分析步,增量步必须定义的变量应力,状态变量,材料Jacobian矩阵(本构关系)可以定义的变量应变能,塑性耗能,蠕变耗能新建议的时间增量变量分类UMAT中可以直接调用(Call ……)的子程序或子函数SINV(STRESS,SINV1,SINV2,NDI,NSHR)——用于计算应力不变量。

线形粘弹性UMAT

线形粘弹性UMAT

深入剖析UMAT线形粘弹性体liuxiongsimwe用户名:LXCAD[摘要]本文介绍了线形粘弹体的UMA T程序说明,与ZHANG chunyu一起学习UMA T为姐妹篇。

UMAT其实并不难学,你要把握几点即可:1,必须提供准确的雅可比距阵,程序收敛速度快2,必须用增量法更新应力∙must update the stresses and solution-dependent state variables to their values at the end of the increment for which it is called;∙must provide the material Jacobian matrix3,与本构方程相关的状态变量必须更新把我分析的子程序过程多读几遍,相关的弹性力学,朔性力学概念弄懂,可能就理解更为清晰!我的目的就是让大家学的轻松!请大家鼓励!三单元体的固体模型(线形粘弹性)下图为虎克体和开尔文体的串联一维方向的应力与应变的行为推广到实体其中SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 1 RPL,DDSDDT,DRPLDE,DRPLDT,2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC) CINCLUDE 'ABA_PARAM.INC' CCHARACTER*80 CMNAMEDIMENSION STRESS(NTENS),STATEV(NSTATV), 1 DDSDDE(NTENS,NTENS),2 DDSDDT(NTENS),DRPLDE(NTENS),3 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),4 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3) DIMENSION DSTRES(6),D(3,3) CC EVALUATE NEW STRESS TENSOR CEV = 0. DEV = 0. DO K1=1,NDIEV = EV + STRAN(K1) !! 直接应力和xy yy xx vεεεε++=DEV = DEV + DSTRAN(K1) !!直接增量应力和xy yy xx v εεεε∇+∇+∇=∇END DO CTERM1 = .5*DTIME + PROPS(5) !!v t ~2+∇ TERM1I = 1./TERM1 !!v t ~21+∇TERM2 = (.5*DTIME*PROPS(1)+PROPS(3))*TERM1I*DEV !!v v t tελλ∇+∇+∇~222TERM3 = (DTIME*PROPS(2)+2.*PROPS(4))*TERM1I !! v t t ~2~2+∇+∇μμC 更新正应力 DO K1=1,NDIDSTRES(K1) = TERM2+TERM3*DSTRAN(K1) 1 +DTIME*TERM1I*(PROPS(1)*EV2 +2.*PROPS(2)*STRAN(K1)-STRESS(K1))本构方程程序执行:=∇σv v t tελλ∇+∇+∇~222+εμμ∇+∇+∇v t t ~2~2+)*2*(~2σεμελ-++∇∇v v t tSTRESS(K1) = STRESS(K1) + DSTRES(K1)σσσ∇+=+n n 1END DO C 更新剪应力TERM2=v t t ~2~2+∇+∇μμTERM2 = (.5*DTIME*PROPS(2) + PROPS(4))*TERM1I I1 = NDI DO K1=1,NSHR I1 = I1+1 本构方程程序执行:=∇xyσv t t ~2~2+∇+∇μμ*xy ε∇+t ∇*v t ~21+∇*)(xy xy σμε-DSTRES(I1) = TERM2*DSTRAN(I1)+1 DTIME*TERM1I*(PROPS(2)*STRAN(I1)-STRESS(I1)) STRESS(I1) = STRESS(I1)+DSTRES(I1) END DO C 雅可比距阵开始 C CREATE NEW JACOBIAN C TERM2=v t ~21+∇*)~2~)2((μλμλ+++∇tTERM2 = (DTIME*(.5*PROPS(1)+PROPS(2))+PROPS(3)+ 1 2.*PROPS(4))*TERM1I TERM3 =v t ~21+∇*)~2(λλ+∇tTERM3 = (.5*DTIME*PROPS(1)+PROPS(3))*TERM1IDO K1=1,NTENS DO K2=1,NTENSDDSDDE(K2,K1) = 0. END DO END DO CDO K1=1,NDIDDSDDE(K1,K1) = TERM2 END DO C填充距阵如下位置233323332term term term term term term term term termDO K1=2,NDI N2 = K1–1 DO K2=1,N2DDSDDE(K2,K1) = TERM3 DDSDDE(K1,K2) = TERM3 END DOEND DO TERM2 =v t ~21+∇*)~2(μμ+∇tTERM2 = (.5*DTIME*PROPS(2)+PROPS(4))*TERM1II1 = NDI !!l1=3按新TERM2 填充距阵如下位置222term term termDO K1=1,NSHR !!!按剪切力运行3次 I1 = I1+1DDSDDE(I1,I1) = TERM2END DO小结:雅可比距阵填充完毕C 关于物质能量的增长C TOTAL CHANGE IN SPECIFIC ENERGY Cεσσ∇∇++=)2(E ETDE = 0. DO K1=1,NTENSTDE = TDE + (STRESS(K1)+.5*DSTRES(K1))*DSTRAN(K1) END DO CC 关于朔性能量的增长C CHANGE IN SPECIFIC ELASTIC STRAIN ENERGY CTERM1 = PROPS(1) + 2.*PROPS(2) !!TERM1=μλ2+ 填充距阵如下位置111term term termDO K1=1,NDI D(K1,K1) = TERM1END DO填充距阵如下位置λλλλλλDO K1=2,NDIN2 = K1-1 DO K2=1,N2D(K1,K2) = PROPS(1) D(K2,K1) = PROPS(1) END DOEND DO直接应力部分分析以下循环,实质为能量变化,力*位移DEE = 0.DO K1=1,NDITERM1 = 0.TERM2 = 0.DO K2=1,NDITERM1 = TERM1 + D(K1,K2)*STRAN(K2) TERM2 = TERM2 + D(K1,K2)*DSTRAN(K2) END DODEE = DEE + (TERM1+.5*TERM2)*DSTRAN(K1) END DO剪切应力部分I1 = NDIDO K1=1,NSHRI1 = I1+1DEE = DEE + PROPS(2)*(STRAN(I1)+.5*DSTRAN(I1))*DSTRAN(I1) END DO最终的DDE为直接应力与剪切应力发生能量改变之和最终能量消散所改变的值SSE,SCDSSE = SSE + DEE !!朔性消散SCD = SCD + TDE – DEE !!徐变消散RETURNEND。

一起学习户定义材料(User-definedmaterial,UMAT)解读

一起学习户定义材料(User-definedmaterial,UMAT)解读

一起学习UMATZHANG chunyu1、什么时候用用户定义材料(User-defined material, UMAT )?很简单,当ABAQUS 没有提供我们需要的材料模型时。

所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS 已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。

2、好学吗?需要哪些基础知识?先看一下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 constitutive model requires extensive development and testing. Initial testing on a single element model with prescribed traction loading is strongly recommended.但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation )而已。

当然,最基本的一些概念和知识还是要具备的,比如应力(stress),应变(strain )及其分量; volumetric part 和deviatoric part ;模量(modulus )、泊松比(Poisson ’s ratio)、拉美常数(Lame constant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。

适用于金属材料的UMAT子程序公式详解

适用于金属材料的UMAT子程序公式详解

*********************************************************************************
P4:计算刚度矩阵
2G 2G 2G C G G G
详见 Chapter 5.3.1 注:此处刚度阵 C 暂时存储在 DDSDDE 数组中。 ********************************************************************************* P4:计算试探应力 试探应力为公式(5.7)中的 Elastic predictor,表达式由公式(6.11)可得:
版权所有,翻版必究
、 (5.19)和(5.20) ) : 1.应力更新的推导过程(参考公式(5.18) 由:
tr tr Tr ( tr ) I
又由于 Newton 迭代后:
调用 USERHARD 程序,求得当前等效塑性应变下的 y 0 ( p p
(k )
) 和应变硬化系数
H 0 ( p p ( k ) ) :
y y 0 ( p p ( k ) )
TVP:表示为
p ( k ) ) c ln( t
TVP1:表示为
1 c ln(
T Troom m ( A B n )[1 c ln( )][1 ( ) ] 0 Tm Troom
为等效塑性应变率( s ) 0 为参考应变率, 其中 为等效流动应力; 为等效塑性应变; ;
1
一般取 1s ; Troom 为室温; Tm 为材料熔点温度。 J-C 模型中共含有 5 个经验参数,各参数的物理意义为:屈服强度(MPa);B 为硬化模量 (MPa);c 为经验性应变率敏感系数;n 为硬化系数;m 为温度软化效应。 本文程序不考虑温度软化效应,即温度始终保持室温,即 T Troom ,此时 J-C 模型变为:

ABAQUS材料用户子程序UMAT学习报告

ABAQUS材料用户子程序UMAT学习报告

NDI:某一点上直接应力组件数。 NSHR:某一点上剪切应力组件数。 NTENS:总应力分量个数,(=NDI+NSHR)。
NSTATV:存储与解有关的状态变量数组个数。 PROPS (NPROPS):材料常数数组。 COORDS:当前积分点坐标。DROT(3,3) :旋转增量矩阵。 CELENT:特征元素长度。
载入 输入文件umat.inp,得到如下图形。
按下图所示操作载入umat.for子程序文件 按下图所示创建作业(Job)
点一击段S时ub间m后it之,后结,果结如果下如图下所图示所。示。
最后查看可视化后处理,得到如下云图。
2、验证利用UMAT进行二次开发的实例
实例:最简单的杆件单轴拉伸,材料本构模型ARDMLO子A程D序;;特此殊外分,布读的取牵结
果引文力件的可U采T用RAUCRLODAFIDL ;子温程度序场。边界的 UTEMP 。
4、用户定义的单元
对于特殊类型的单元,可采用 UEL 子程序进行定义。
5、用户定义的材料特性和本构关系
几乎可以用于力学行为分析的任何分析过程,几乎可 以把用户材料属性赋予 ABAQUS 中的任何单元。
必须在 UMAT 中提供材料本构的雅可比( Jacobian) 矩阵,即应力增量对应变增量的变化率。
2、UMAT书写格式
定义了一些相关参数与变量的 精确度,从 ABAQUS 安装目 录下可找到
UMAT 中的应力矩阵、应变矩阵以及矩阵 DDSDDE、 DDSDDT、 DRPLDE 等,都是直接分量存储在前,剪切分 量存储在后。直接分量有 NDI 个,剪切分量有 NSHR 个。 各分量之间的顺序根据单元自由度的不同有一些差异,所以 编写 UMAT 时要考虑到所使用单元的类别。

Taylor公式

Taylor公式
f ( x) f (0) f (0)x L 1 f (n)(0)xn o( xn ) n!
―― f ( x) 带 Peano 余项的 n 阶 Maclaurin 公式
设 f ( x) 在 N ( x0 , ) 内具有直到 n 1阶导数,
Rn( x)
f ( x)[
f ( x)
sin
x

0,
求 f (0), f (0), f (0) .
EXE
x2
cos x e 2 ,
xk ,求 k ,使
与 为同阶无穷小?
f((3x)) 证f明( x等0 )式 f或(不x0 )等( x式 x0 )
f
( 2
x0 !
)
(
x

x0
)

L

f
于是,
Rn ( x)
(x)

Rn(n1) ( )
(n 1)!
,其中
介于
x

x0 间.
Rn( x) ( x)

Rn( n1) () (n1)!


介于
x

x0
间.
注意到 Rn(n1)( x) f (n1)( x) (因 P(n1)( x)0 ),则由上式得
Rn( x)
Pn( x)aa1( x x)a2( x x)2 an( x x)n ①
来近似表示 f ( x) ,且要求 f ( x) Pn ( x) o(( x x0 )n ) .
假设
Pn( x) f ( x), Pn ( x) f ( x), , Pn(n)( x) f (n)( x) ②
(3) 若 f (n1)( x) 在 (a, b) 内有界,则当 f ( x) Pn( x) 时,

复合材料渐进失效UMAT程序中公式详细解释(精品)

复合材料渐进失效UMAT程序中公式详细解释(精品)

《UMAT 子程序详解》各页公式详解********************************************************************************* P2:STATEV 状态变量矩阵STATEV(5:10) TEMPORARY ARRAYS TO SA VE DOLD_STRESS********************************************************************************* P2:更新初始状态的应变分量On entry to the UMAT subroutine, an estimate of the current total strains for the current iteration is determined:11n n n εεε++=+∆参考文献:Knight, Norman F. User-Defined Material Model for Progressive Failure Analysis . National Aeronautics and Space Administration, Langley Research Center, 2006.*********************************************************************************P3:计算刚度阵[C] The glass/epoxy layer shows transverse isotropy. Therefore, the modulus stiffness values:21123221221112233222212122322231221121323441255126623(1)(1);; ; ()();;;;;E E C C C C a a E E C C C a aC G C G C G ννννννννν--===++======其中,2122123122123122a νννννν=---注:此处材料为transverse isotropic ,如为其他材料,此处则需要修改。

梅逊公式简单讲解PPT学习教案

梅逊公式简单讲解PPT学习教案
Ld Le Lf 所有三个都互不接触回路的增益乘积之和
k —在Δ中,将与第k条前向通路相接触的回路所在项去掉 后余下的部分 通路—从任一节点出发沿着支路箭头方向连续地穿过各相连支
路到达另一节点的路径称为通路
第3页/共7页
第4页/共7页
例2 求C(s)/R(s)
第5页/共7页
谢谢观赏
WPS Office
k —在Δ中,将与第k条前向通路相接触的回路所在项去掉 后余下的部分
第1页/共7页
术语解释
节点—表示系统中的变量或信号的点称为节点。 支路—连接两节点间的有向线段称为支路。支路增益就是两节点间的增益。 输入节点(源点)—仅有输出支路的节点称为输入节点,一般为系统的输入。 输出节点(阱点)—仅有输入支路的节点称为输出节点,一般为系统的输出。 混合节点—既有输入支路又有输出支路的节点称为混合节点。
不接触环路—环路之间没有公共节点。
第2页/共7页
前向通路—从输入节点到输出节点的通路。前向通路中通过任 何节点不多于一次。
Gk —从输入节点到输出节点的第k条前向通路增益
Δ —特征式 且 1 La Lb Lc Ld LeL f
La 所有不同回路的增益之和
Lb Lc 所有两两互不接触回路的增益乘积之和
通路—从任一节点出发沿着支路箭头方向连续地穿过各相连支 路到达另一节点的路径称为通路。
前向通路—从输入节点到输出节点的通路。前向通路中通过任何节 点
不多于一次。
开通路—如果通路与任一节点相遇不多于一次,则称为开通路。
闭通路(回路或环)—如果通路的终点就是通路的起点,而且与其 余
节点相遇不多于一次,则称为闭通路、回路、环路或简称为环。
从输入节点到输出节点的第从输入节点到输出节点的第kk条前向通路增益条前向通路增益特征式特征式且且所有不同回路的增益之和所有不同回路的增益之和所有两两互不接触回路的增益乘积之和所有两两互不接触回路的增益乘积之和所有三个都互不接触回路的增益乘积之和所有三个都互不接触回路的增益乘积之和在在中将中将与第与第kk条条前向通路前向通路相接触的回路相接触的回路所在项去掉所在项去掉后余下的部分后余下的部分通路通路从任一节点出发从任一节点出发沿着支路箭头方向沿着支路箭头方向连续地穿过各相连支连续地穿过各相连支路到达另一节点的路径称为通路路到达另一节点的路径称为通路谢谢观赏wpsofficemakepresentmuchmor
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一起学习UMAT的一些公式注释ZHANG chunyuherrliubs comments in formulas知识积累和储备在进行ABAQUS子程序UMAT的编写前,要弄清楚:ABAQUS调用UMAT子程序流程;要建立的材料模型的本构关系和屈服准则等;UMAT子程序中相关参数、以及矩阵的表达。

主要求解过程:每一个增量步开始,ABAQUS主程序在单元积分点上调用UMAT 子程序,并转入应变增量、时间步长及荷载增量,同时也传入当前已知的状态的应力、应变及其他求解过程相关的变量;UMAT子程序根据本构方程求解应力增量及其他相关的变量,提供Jacobian矩阵给ABAQUS主程序以形成整体刚度矩阵;主程序结合当前荷载增量求解位移增量,继而进行平衡校核;如果不满足指定的误差,ABAQUS将进行迭代直到收敛,然后进行下一增量步的求解。

弹性力学相关知识(基本)仿真论坛(/forum.php ... &highlight=UMAT)ABAQUS二次开发版块这个人帖子结合例子,列出了弹性力学的基本公式。

UMAT变量含义UMAT中可以得到的量增量步开始时刻的,应力(Stress),应变(Strain), 状态变量(Solution-dependent state variables (SDVs))增量步开始时刻的,应变增量(Strain increment),转角增量(Rotation increment),变形梯度(Deformation gradient)时间总值及增量(Total and incremental values of time),温度(Temperature),用户定义场变量材料常数,材料点的位置,特征单元长度当前分析步,增量步必须定义的变量应力,状态变量,材料Jacobian矩阵(本构关系)可以定义的变量应变能,塑性耗能,蠕变耗能新建议的时间增量变量分类UMAT中可以直接调用(Call ……)的子程序或子函数SINV(STRESS,SINV1,SINV2,NDI,NSHR)——用于计算应力不变量。

其中:SINV1=第一应力不变量;SINV2=第二应力不变量。

SPRINC(S,PS,LSTR,NDI,NSHR)——用于计算主应力或应变值。

其中:S=应力或应变张量;PS(I),I=1,2,3, 主应力或应变值;LSTR=标识,1表示S为应力张量,2表示S为应变张量。

SPRIND(S,PS,AN,LSTR,NDI,NSHR)——用于计算主应力或应变的方向。

其中:AN(K1,I),I=1,2,3,表示PS(K1)的法向的方向余弦。

ROTSIG(S,R,SPRIME,LSTR,NDI,NSHR)——用于复原已旋转的张量。

其中:R=转角矩阵;SPRIME=已旋转的应力或应变张量。

XIT——用于停止分析,并关闭所有与分析相关的文件。

Variables DefineSTRESS(NTENS)该增量步开始之前的应力向量,在增量步结束之后,必须进行更新。

如果指定了初始应力,则该向量在分析开始始将保持初始应力。

真实Cauchy 应力。

需要定义的变量,在所有分析情况下均适用。

STATEV(NSTATV)求解过程中的状态变量的存贮向量。

在该增量步开始时,用来传递状态变量,除非进行了更新(采用USDEFL或UEXPAN)。

在增量步结束时,STATEV更新为结束时刻的状态变量值。

STATEV的维数(NSTATV)由*DEPVAR决定。

DDSDDE(NTENS,NTENS) Jacobian矩阵,即本构关系矩阵。

?σ/?ε。

除非声明采用非对称方程求解,否则均为对称矩阵DDSDDE(i, j)。

S SE、SPD、SCD 弹性应变能、塑性耗能、徐(蠕)变耗能。

在该增量步结束时进行更新,并在下一增量步开始时进行传递。

这些能量参数对于求解结果不起作用,除非结果采用能量形式输出。

RPL 该增量步结束时,由于材料的力学作工而产生的体积发热量。

只用于完全耦合的温度-应力分析DDSDDT(NTENS)与温度想对应的应力增量的变化量DRPLDE(NTENS)与应变增量相对应的体积发热量(RPL)的变化量DRPLDT(NTENS)与温度相对应的体积发热量(RPL)的变化量STRAIN(NTENS)该增量步开始之前的总应变向量。

如果考虑了热膨胀效应,那么STRAIN仅为力学应变(即已经在总应变中减去了热膨胀得到的温度应变)。

这些应变在输出结果中以“弹性”应变给出。

信息传递变量DSTRAIN(NTENS)应变增量向量。

如果考虑了热膨胀应变,则仅表示力学应变增量。

TIME(1)TIME(2)当前分析步开始时刻的,时间步的值。

当前分析步开始时刻的,总时间的值。

DTIME 该增量步的时间增量TEMP 当前增量步开始时刻的温度DTEMP 该增量步的温度增量PREDEF 在当前增量步开始时刻的,预定义的场变量(基于读入的节点值)的内插值向量。

DPRED 预定义的场变量的增量向量CMNAME 用户定义的材料名。

由于ABAQUS内部的一些给定材料是以“ABQ_”作为材料名,因此应尽量不采用“ABQ_”作为CMNAME的名称。

NDI 该点的直接应力分量的个数NSHR 该点的工程剪应力分量的个数NTENS 应力或应变向量的维数,等于NDI +NSHR。

NSTATV 求解过程中的状态变量的个数,与材料类型匹配。

PROPS(NPROPS)用户定义的材料常数NPROPS 用户定义的材料常数的个数COORDS 该点的坐标向量。

如果在当前分析步中没有考虑几何非线性,COORDS 就等于当前坐标系下的向量。

否则,COORDS为最开始的坐标向量信息传递变量DROT(3,3)转角增量矩阵。

代表了刚体的基本坐标系中的转角增量(该基本坐标系就是应力、应变向量存储时的坐标系)。

用于用户定义子程序中的向量或矢量状态变量的转角处理,而应力及应变向量在UMAT调用之前已经进行了转角处理。

在小位移分析中,该矩阵是一个单位矩阵;在大位移分析中,如果该材料点的基本坐标系随着材料坐标系转动(如壳单元或采用了局部转角坐标时),该矩阵亦是一个单位矩阵。

PNEWDT 建议的新时间增量与原时间增量(DTIME)之间的比值大小。

该变量允许用户在ABAQUS/Standard中输入自动时间增量的计算法则(如果设置了自动时间增量)。

对于ABAQUS/Standard的准静态分析中的自动时间增量(基于标准蠕变率积分技术),不允许在UMAT中控制。

在每一次调用UMAT前,PNEWDT被设置为一个足够大的值。

如果没有选择自动时间增量方法,大于1.0的PNEWDT值将被忽略,而起作用的仅是当小于1.0的PNEWDT值时。

能够更新的变量CELENT 特征单元长度。

信息传递变量DFGRD0(3,3)该增量步开始时刻的变形梯度向量。

DFGRD1(3,3)该增量步结束时刻的变形梯度向量。

如果在分析步中未考虑几何非线性,则该向量为零。

NOEL 单元的个数NPT 积分点的个数信息传递变量LAYER 层的个数(用于复合材料的壳单元,及层结构固体单元)KSPT 当前层的截面点的个数KSTEP 分析步的个数KINC 增量步的个数UMAT程序编写相对于材料本构关系的推导验证,子程序的编写是相对简单的,在理清了ABAQUS-UMAT变量的含义和材料的本构关系的前提下,再多看几个UAMT例子,就可以试着自己写UMAT了。

我的经验是一定要把流程图画出来,根据材料的本构关系的推导公式来写UMAT程序。

程序的验证需要耐心,用简单的模型验证,多看.dat和.msg文件。

即使UMAT程序没有问题,也可能出错,这时就要认真看本构推导公式,并和程序中的变量一一对应。

UMAT子程序中最重要也是最难的是材料的本构关系的推导!1、什么时候用用户定义材料(User-defined material, UMAT)?很简单,当ABAQUS没有提供我们需要的材料模型时。

所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。

2、好学吗?需要哪些基础知识?先看一下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 constitutive model requires extensive development and testing. Initial testing on a single element model with prescribed traction loading is strongly recommended.但这并不意味着非力学专业,或者力学基础知识不很丰富者(就如我本人☺)就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation )而已。

当然,最基本的一些概念和知识还是要具备的,比如应力(stress),应变(strain )及其分量; volumetric part 和deviatoric part ;模量(modulus )、泊松比(Poisson’s ratio)、拉美常数(Lame constant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。

3、UMAT 的基本任务?我们知道,有限元计算(增量方法)的基本问题是:已知第n 步的结果(应力,应变等) n σ ,n ε; 然后给出一个应变增量1n ε+d , 计算新的应力 1n σ+ 。

UMAT 要完成这一计算,并要计算Jacobian 矩阵DDSDDE(I,J) =∂Δσ/∂Δε。

Δσ是应力增量矩阵(张量或许更合适),Δε是应变增量矩阵。

DDSDDE(I,J) 定义了第J 个应变分量的微小变化对第I 个应力分量带来的变化。

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

4、怎样建立自己的材料模型?本构方程就是描述材料应力应变(增量)关系的数学公式,不是凭空想象出来的,而是根据实验结果作出的合理归纳。

比如对弹性材料,实验发现应力和应变同步线性增长,所以用一个简单的数学公式描述。

为了解释弹塑性材料的实验现象,又提出了一些弹塑性模型,并用数学公式表示出来。

对各向同性材料(Isotropic material ),经常采用的办法是先研究材料单向应力-应变规律(如单向拉伸、压缩试验),并用一数学公式加以描述,然后把讲该规律推广到各应力分量。

相关文档
最新文档