abaqus材料子程序

合集下载

ABAQUS用户材料子程序开发调研

ABAQUS用户材料子程序开发调研

ABAQUS用户材料子程序开发调研ABAQUS二次开发基础ABAQUS提供了标准有限元分析程序,而且具有良好的开放性,可利用它提供的用户子程序接口生成非标准的分析程序来满足用户的需要,在实际工程中得到广泛的应用。

同时,它允许用户通过子程序以代码的形式来扩展主程序的功能,并给用户提供了强大而又灵活的用户子程序接口和应用程序接口(Utility Routine),ABAQUS 共有42 个用户子程序接口,15 个应用程序接口,用户可以定义包括边界条件、荷载条件、接触条件、材料特性以及利用用户子程序和其它应用软件进行数值交换等等。

ABAQUS 程序具有良好的开放性,可利用它提供的用户子程序接口生成非标准的分析程序来满足用户的需要,在实际工程中得到广泛应用。

用户子程序大致可以分为7 类,下面为具体的分类及用户常用子程序。

1.用户定义的初始条件利用此类子程序可以在分析时定义初始条件,例如:初始应力场的定义,可以采用SIGINI 用户子程序来定义;在渗流场分析时定义初始孔隙水压力分析可采用UPOREP 用户子程序;多孔介质初始孔隙度分布的定义可采用VOIDRI 用户子程序。

2.用户定义的边界条件利用此类子程序可以在结构分析或耦合分析时定义特殊类型的边界条件,如定义节点位移,定义分布机械载荷,定义流体流速和流量等。

例如:定义非均布的渗流流速和流量可采用DFLOW 和DFLUX 用户子程序,以及定义非均布的渗流系数可采用FLOW 用户子程序;定义特殊类型的位移边界可采用DISP 用户子程序;定义特殊类型分布的面力载荷可采用DLOAD 子程序;定义特殊分布的牵引力可采用UTRACLOAD 子程序;定义温度场边界的UTEMP 子程序。

3.用户定义的材料特性和本构关系利用此类子程序可以定义各种本构模型,如各向异性或正交各向异性的弹性应力-应变关系,各种非线性弹塑性本构关系、也可以定义蠕变应变率演化方程、定义非线性应力-应变关系,定义加工硬化或应变硬化曲线等。

abaqus复合材料失效子程序

abaqus复合材料失效子程序

abaqus复合材料失效子程序摘要:一、引言1.复合材料的概念和应用背景2.abaqus 软件在复合材料失效分析中的重要性二、abaqus 复合材料失效子程序介绍1.子程序的定义和功能2.子程序的输入和输出参数3.子程序在abaqus 中的调用方法三、abaqus 复合材料失效子程序的使用方法1.材料属性的设置2.边界条件和加载条件的设定3.求解器和求解设置4.后处理工具在失效分析中的应用四、abaqus 复合材料失效子程序在实际工程中的应用1.应用案例一:复合材料梁的失效分析2.应用案例二:复合材料壳体的失效分析3.应用案例三:复合材料连接件的失效分析五、结论1.abaqus 复合材料失效子程序的优势和局限性2.未来发展趋势和前景正文:一、引言随着科技的发展,复合材料在航空航天、汽车制造、建筑结构等领域的应用越来越广泛。

复合材料具有轻质、高强、耐腐蚀等优点,但同时也存在着材料失效问题。

为了确保复合材料结构的安全性能,失效分析显得尤为重要。

abaqus 是一款强大的有限元分析软件,可以对复合材料进行失效分析。

本文将详细介绍abaqus 复合材料失效子程序的使用方法和应用案例。

二、abaqus 复合材料失效子程序介绍abaqus 复合材料失效子程序是基于abaqus 软件开发的,用于分析复合材料在各种工况下的失效行为。

该子程序集成了多种失效准则,可以分析包括纤维断裂、基体开裂、分层等在内的复合材料失效模式。

用户可以通过该子程序得到复合材料失效时的应力、应变、能量等数据,为结构设计提供依据。

三、abaqus 复合材料失效子程序的使用方法1.材料属性的设置:首先需要定义复合材料的各向异性属性,包括纤维和基体的弹性模量、泊松比、密度等。

2.边界条件和加载条件的设定:根据实际工况设置边界位移、固定约束、加载条件等。

3.求解器和求解设置:选择合适的求解器和求解设置,确保求解过程稳定且收敛。

4.后处理工具在失效分析中的应用:通过abaqus 的后处理工具,可以直观地观察到复合材料失效过程的应力、应变分布,以及失效模式。

《2024年ABAQUS用户材料子程序开发及应用》范文

《2024年ABAQUS用户材料子程序开发及应用》范文

《ABAQUS用户材料子程序开发及应用》篇一一、引言ABAQUS是一款广泛应用的工程仿真软件,可用于分析复杂的工程问题,包括结构力学、热传导、流体流动等多个领域。

其中,用户材料子程序(User Material Subroutine)是ABAQUS软件中用于描述材料行为的重要部分。

通过编写用户材料子程序,用户可以自定义材料的本构关系和物理属性,以满足特定仿真需求。

本文将介绍ABAQUS用户材料子程序的开发方法及其应用。

二、ABAQUS用户材料子程序开发1. 需求分析在开发ABAQUS用户材料子程序之前,首先需要对所研究的问题进行深入的需求分析。

这包括确定所使用的材料类型、材料的本构关系、物理属性等关键信息。

同时,还需要考虑所使用材料在不同条件下的性能变化以及可能出现的复杂行为。

2. 编程语言及工具ABAQUS提供了多种编程语言用于编写用户材料子程序,如Fortran、C++等。

用户可以根据自己的编程习惯和需求选择合适的编程语言。

此外,还需要使用相应的编译器和开发环境进行编译和调试。

3. 编写用户材料子程序在编写用户材料子程序时,需要遵循ABAQUS的编程规范和接口要求。

具体而言,需要定义材料的本构关系、物理属性等关键信息,并编写相应的计算过程和算法。

此外,还需要注意程序的稳定性和效率问题。

4. 调试与测试在完成用户材料子程序的编写后,需要进行调试和测试。

这包括检查程序的语法错误、逻辑错误等问题,并进行单元测试和整体测试。

同时,还需要对仿真结果进行验证和分析,确保所编写的用户材料子程序能够满足实际需求。

三、ABAQUS用户材料子程序的应用1. 金属材料仿真ABAQUS用户材料子程序可广泛应用于金属材料的仿真分析。

例如,在金属塑性成形过程中,可以通过编写用户材料子程序来描述金属的塑性行为、弹性行为等关键信息。

这有助于提高仿真精度和效率,为金属成形工艺的优化提供有力支持。

2. 复合材料仿真复合材料因其具有优异的性能而被广泛应用于航空、航天、汽车等领域。

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

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

具有友好的用户 界面和易用的操 作流程,方便用 户进行学习和使 用
UMAT子程序简介
UMAT子程序是 ABAQUS材料用户 自定义模块,允许 用户根据实际需求 编写材料本构模型。
UMAT子程序采用C 语言编写,用户需要 具备一定的编程基础。
UMAT子程序可以实 现多种材料本构模型 ,如弹性、塑性、蠕 变等。
UMAT子程序实现细节
编程语言和接口
A B A Q U S 材 料 用 户 子 程 序 U M AT 使 用Fortran语言编写
U M AT 子 程 序 中 可 以 定 义 材 料 属 性 、 本构关系等
添加标题
添加标题
添加标题
添加标题
U M AT 子 程 序 通 过 A B A Q U S 提 供 的 接口与主程序进行交互
不足:使用门槛较高,需要用户具备一定的编程基础
未来展望:期待更多的用户参与开发,不断完善子程序功能
总结:UMAT子程序为用户提供了强大的材料模型描述能力,但使用过程中需要注意其局 限性
在ABAQUS中的未来发展方向
开发更高效的材料模型 集成人工智能和机器学习技术 增强与CAD软件的集成 扩展对多物理场模拟的支持
适用于金属材料
适用于复合材料
适用于橡胶材料
适用于陶瓷材料
参数的合理选择
参数选择需符合实际物理模型 参数选择需考虑材料特性 参数选择需经过实验验证 参数选择需注意收敛性和稳定性
收敛性和稳定性问题
收 敛 性 : U M AT 子 程 序 在 迭 代 过 程 中应满足收敛条件,否则可能导致 计算失败或结果不准确。
边界条件和初始条件
边界条件:描述模型在边界上的行为,如位移、速度等 初始条件:描述模型在初始时刻的状态,如温度、压力等

abaqus 子程序 简单案例

abaqus 子程序 简单案例

abaqus 子程序简单案例1. 案例一:ABAQUS子程序在计算机辅助工程中的应用在计算机辅助工程中,ABAQUS子程序是一种被广泛应用的工具,用于求解各种复杂的物理问题。

它可以在ABAQUS有限元软件中调用,通过编写用户自定义的子程序来实现特定的功能。

下面将介绍一些常见的ABAQUS子程序案例。

2. 案例二:ABAQUS子程序在材料力学中的应用ABAQUS子程序在材料力学中的应用非常广泛。

例如,可以通过自定义的子程序来模拟材料的非线性行为、塑性变形、断裂行为等。

通过在子程序中编写相应的材料本构模型和损伤模型,可以准确地预测材料的力学性能。

3. 案例三:ABAQUS子程序在流体力学中的应用ABAQUS子程序在流体力学中也有重要的应用。

例如,可以通过自定义的子程序来模拟流体的非牛顿性、多相流动、湍流等现象。

通过在子程序中编写相应的流体本构模型和湍流模型,可以准确地模拟流体的流动行为。

4. 案例四:ABAQUS子程序在结构力学中的应用ABAQUS子程序在结构力学中也非常有用。

例如,可以通过自定义的子程序来模拟结构的非线性行为、接触和摩擦、动力响应等。

通过在子程序中编写相应的结构本构模型和接触模型,可以准确地预测结构的力学性能。

5. 案例五:ABAQUS子程序在热传导中的应用ABAQUS子程序在热传导中的应用也非常广泛。

例如,可以通过自定义的子程序来模拟材料的热传导行为、热辐射、相变等。

通过在子程序中编写相应的热传导模型和相变模型,可以准确地预测材料的热学性能。

6. 案例六:ABAQUS子程序在电磁场中的应用ABAQUS子程序在电磁场中的应用也有一定的研究价值。

例如,可以通过自定义的子程序来模拟电磁场的非线性行为、磁饱和、电磁感应等。

通过在子程序中编写相应的电磁场模型和电磁感应模型,可以准确地模拟电磁场的行为。

7. 案例七:ABAQUS子程序在声学中的应用ABAQUS子程序在声学领域中也有一定的应用。

Abaqus材料用户子程序UMAT基础知识及手册例子完整解释

Abaqus材料用户子程序UMAT基础知识及手册例子完整解释

1、为何需要使用用户材料子程序(User-Defined Material, UMAT )?很简单,当ABAQUS 没有提供我们需要的材料模型时。

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

UMAT 子程序具有强大的功能,使用UMAT 子程序:(1)可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。

(2) 几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQU S 中的任何单元。

(3) 必须在UMAT 中提供材料本构模型的雅可比(Jacobian )矩阵,即应力增量对应变增量的变化率。

(4) 可以和用户子程序“USDFLD ”联合使用,通过“USDFLD ”重新定义单元每一物质点上传递到UMAT 中场变量的数值。

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 eleme nt model with prescribed traction loading (指定拉伸载荷) is strongly recommended. 但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation )而已。

abaqus复合材料失效子程序

abaqus复合材料失效子程序

abaqus复合材料失效子程序摘要:1.复合材料失效子程序概述2.复合材料失效机制3.abaqus中复合材料失效子程序的编写4.应用案例及分析5.总结与展望正文:一、复合材料失效子程序概述复合材料因其优异的力学性能、轻质和高耐疲劳性等特点在各个领域得到了广泛应用。

然而,复合材料的失效分析一直是工程界面临的挑战。

为了更好地预测复合材料的失效行为,本文将介绍如何编写abaqus复合材料失效子程序。

二、复合材料失效机制复合材料的失效机制主要包括以下几点:1.纤维断裂:当复合材料中的纤维承受超过其拉伸强度或剪切强度时,纤维将发生断裂。

2.基体开裂:基体材料在受到外部载荷作用时,可能发生开裂,导致复合材料失效。

3.界面失效:当复合材料中的纤维与基体间的界面结合力不足以承受外部载荷时,界面发生失效。

4.宏观破裂:复合材料在受到外部载荷作用时,可能发生宏观破裂,导致整体失效。

三、abaqus中复合材料失效子程序的编写在abaqus中,可以通过编写复合材料失效子程序来实现对复合材料失效行为的模拟。

具体步骤如下:1.定义材料属性:根据复合材料的组成及性能,定义纤维、基体和界面的材料属性。

2.创建模型:建立复合材料的有限元模型,包括几何形状、边界条件和载荷。

3.编写失效子程序:根据复合材料的失效机制,编写相应的失效子程序。

例如,可以采用用户自定义的应力或应变作为失效判据。

4.求解:应用abaqus求解器,对复合材料模型进行求解。

5.后处理:分析失效模式、失效位置及失效原因。

四、应用案例及分析以下为一个复合材料梁的失效分析案例:1.建立模型:创建一个复合材料梁模型,考虑边界条件及外部载荷。

2.定义材料属性:设置纤维、基体和界面的材料属性。

3.编写失效子程序:根据实验数据,设置失效判据为纤维拉伸强度。

4.求解:对模型进行求解,得到失效模式及失效位置。

5.分析:分析失效原因,发现纤维强度不足是导致失效的主要原因。

五、总结与展望通过编写abaqus复合材料失效子程序,可以有效地预测复合材料的失效行为。

《2024年ABAQUS用户材料子程序开发及应用》范文

《2024年ABAQUS用户材料子程序开发及应用》范文

《ABAQUS用户材料子程序开发及应用》篇一一、引言随着计算机技术的迅猛发展,有限元分析软件在工程领域的应用越来越广泛。

ABAQUS作为一款功能强大的有限元分析软件,其在材料模拟、结构分析、热传导等方面具有广泛的应用。

其中,用户材料子程序的开发是ABAQUS功能的重要组成部分,它允许用户根据实际需求自定义材料模型,提高模拟的准确性和可靠性。

本文将介绍ABAQUS用户材料子程序的开发流程、应用领域及实际案例。

二、ABAQUS用户材料子程序开发流程1. 需求分析:明确材料模型的需求和特点,确定子程序的类型(如弹塑性、蠕变等)。

2. 理论建模:根据需求,建立相应的数学模型和物理模型。

3. 编程实现:使用ABAQUS提供的编程接口(如Fortran、C++等),编写用户材料子程序。

4. 调试与验证:对编写的子程序进行调试和验证,确保其正确性和可靠性。

5. 集成与测试:将子程序集成到ABAQUS中,进行整体测试,确保模拟结果的准确性。

三、ABAQUS用户材料子程序应用领域1. 金属材料:用户材料子程序可用于模拟金属的弹塑性、蠕变、疲劳等行为。

2. 聚合物材料:用于模拟聚合物材料的粘弹性、蠕变、塑性等行为。

3. 复合材料:用于模拟复合材料的力学性能和损伤演化等行为。

4. 高温超导材料:用于模拟高温超导材料的电性能和磁性能等行为。

四、实际案例分析以金属材料的弹塑性行为为例,介绍ABAQUS用户材料子程序的开发及应用。

1. 需求分析:金属材料在受到外力作用时,会表现出弹性和塑性行为。

为了更准确地模拟这一行为,需要开发一个弹塑性用户材料子程序。

2. 理论建模:根据金属的弹塑性理论,建立相应的数学模型和物理模型。

包括弹性阶段、屈服阶段和塑性流动阶段的描述。

3. 编程实现:使用Fortran或C++编写用户材料子程序,实现模型的数学描述。

4. 调试与验证:对编写的子程序进行调试和验证,确保其正确性和可靠性。

可以通过对比实验数据和模拟结果来验证子程序的准确性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

各向同性材料损伤本构模型SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,+ RPL,DDSDDT,DRPLDE,DRPLDT,+ STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME, + NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT, + CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)INCLUDE 'ABA_PARAM.INC'CHARACTER*80 CMNAMEDIMENSION STRESS(NTENS),STATEV(NSTATV),+ DDSDDE(NTENS,NTENS),DDSDDT(NTENS),+ DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS),+ TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),+ COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)DIMENSION STRANT(6),TSTRANT(4),PT(1)DIMENSION OLD_STRESS(6)DIMENSION DOLD_STRESS(6),D_STRESS(6)DIMENSION C(6,6),CD(6,6),DSTRESS(6),BSTRESS(6),ROOT(3),+ DFMNDE(6),DDMDE(6),DCDDM(6,6),ATEMP1(6), ATEMP2(6)PARAMETER (ZERO=0.D0,ONE=1.D0,TWO=2.D0,FOUR=4.D0,HALF = 0.5D0) C startC IF (NPROPS.LT.2) THENC WRITE(7,*) '** ERROR: UMAT REQUIRES *NPROPS=2'C STOPC END IFE11 =PROPS(1)V12 =PROPS(2)G12 =PROPS(1)/TWO/(ONE+PROPS(2))C Critical values of stressesXT=PROPS(3)XC=PROPS(4)XS=PROPS(5)GX=PROPS(6) !Fracture energy in matrixETA=0.001C Current strainDO I = 1, NTENSSTRANT(I) = STRAN(I) + DSTRAN(I)END DOC StiffnessDO I = 1, 6DO J = 1, 6C(I,J)=ZEROEND DOEND DOATEMP = (1+V12)*(1-TWO*V12)C(1,1) = E11*(1-V12)/ATEMPC(2,2) = E11*(1-V12)/ATEMPC(3,3) = E11*(1-V12)/ATEMPC(1,2) = E11*V12/ATEMPC(1,3) = E11*V12/ATEMPC(2,3) = E11*V12/ATEMPC(4,4) = G12C(5,5) = G12C(6,6) = G12DO I = 2, 6DO J = 1, I-1C(I,J) = C(J,I)END DOEND DOC Critical values of strainsXET=XT/(C(1,1)-2*V12*C(1,2))XEC=XC/(C(1,1)-2*V12*C(1,2))XES=XS/C(4,4)DMOLD = STATEV(1)C Strain initiation criterionA11 = STRANT(1)**TWO+STRANT(2)**TWO+STRANT(3)**TWOA12 = A11 / XET / XECA21 = STRANT(1)+STRANT(2)+STRANT(3)A22 = (XEC - XET) / XEC / XET * A21A31 = STRANT(4)**TWO+STRANT(5)**TWO+STRANT(6)**TWOA32 = A31 / XES**TWOA1= A12 + A22 + A32C B11 = STRANT(2)**TWOC B12 = B11 / XET / XECC B21 = STRANT(2)C B22 = (XEC - XET) / XEC / XET * B21C B31 = STRANT(5)**TWOC B32 = B31 / XES**TWOC B1= B12 + B22 + B32C C11 = STRANT(3)**TWOC C12 = C11 / XET / XECC C21 = STRANT(3)C C22 = (XEC - XET) / XEC / XET * C21C C31 = STRANT(6)**TWOC C32 = C31 / XES**TWOC C1= C12 + C22 + C32STATEV(2)=A1C STATEV(3)=B1C STATEV(4)=C1FMN = ZEROIF (A1.GT.ZERO) THENFMN =SQRT(A1)C IF (B1.GT.ONE) THENC FMN =FMN+SQRT(B1)C IF(C1.GT.ONE) THENC FMN =FMN+SQRT(C1)C END IFC END IFEND IFSTATEV(5)=FMNC write(*,*) FMNDM = ZERODDMDFMN = ZERODO I = 1, 6DFMNDE(I) = ZERODDMDE(I) = ZEROEND DOIF (FMN .GT. ONE) THENC CALCULATE DM, DDMDFMNC WRITE(6,*)FMNT1 = (C(1,1)-2*V12*C(1,2)) * XET**2 * CELENT / GXT2 = (ONE - FMN) * T1DM = ONE - EXP(T2)/FMNC WRITE(6,*)'T1 ',T1,' T2', T2, ' DM', DMC write(*,*) DMC CALCULATE THE DERIVATIVE OF DAMAGE VARIABLE WITH RESPECT TO FAILURE C RITERIONDDMDFMN = (ONE / FMN + T1) * (ONE - DM)C CALCULATE DFMNDEIF (DM .GT. DMOLD) THENDFMNDE(1) = HALF/FMN*(TWO*STRANT(1)+XEC-XET)/XET/XECDFMNDE(2) = HALF/FMN*(TWO*STRANT(2)+XEC-XET)/XET/XECDFMNDE(3) = HALF/FMN*(TWO*STRANT(3)+XEC-XET)/XET/XECDFMNDE(4) = ONE/FMN*TWO*STRANT(4)/XES**TWODFMNDE(5) = ONE/FMN*TWO*STRANT(5)/XES**TWODFMNDE(6) = ONE/FMN*TWO*STRANT(6)/XES**TWODO I = 1, 6DDMDE(I) = DFMNDE(I) * DDMDFMNEND DOEND IFEND IFDM = MAX (DM, DMOLD)C write(6,*) DMC SAVE THE OLD STRESS TO OLD_STRESSDO I = 1, NTENSOLD_STRESS(I) = STRESS(I)END DOC Effective stiffnessDO I = 1, 6DO J = 1, 6CD(I,J)=C(I,J)END DOEND DOIF (DM.NE.ZERO) THENCD(1,1) = (ONE - DM)*C(1,1)CD(1,2) = (ONE - DM)*C(1,2)CD(2,1) = CD(1,2)CD(2,2) = (ONE - DM)*C(2,2)CD(1,3) = (ONE - DM)*C(1,3)CD(3,1) = CD(1,3)CD(2,3) = (ONE- DM)*C(2,3)CD(3,2) = CD(2,3)CD(4,4) = (ONE - DM)*C(4,4)CD(5,5) = (ONE - DM)*C(5,5)CD(6,6) = (ONE - DM)*C(5,5)END IFC Elastic derivativeDO I = 1, 6DO J = 1, 6DCDDM(I,J) = ZEROEND DOEND DOCC CALCULATE DC/DDMCDCDDM(1,1) = -C(1,1)DCDDM(1,2) = -C(1,2)DCDDM(2,1) = -C(2,1)DCDDM(2,2) = -C(2,2)DCDDM(2,3) = -C(2,3)DCDDM(3,2) = -C(3,2)DCDDM(3,3) = -C(3,3)DCDDM(3,1) = -C(3,1)DCDDM(1,3) = -C(1,3)DCDDM(4,4) = -C(4,4)DCDDM(5,5) = -C(5,5)DCDDM(6,6) = -C(6,6)C UPDATE THE JACOBIANDO I = 1, NTENSATEMP1(I) = ZERODO J = 1, NTENSATEMP1(I) = ATEMP1(I) + DCDDM(I,J) * STRANT(J)END DOEND DODDSDDE=0DO I = 1, NTENSDO J = 1, NTENSDDSDDE(I,J)=CD(I,J)+(ATEMP1(I)*DDMDE(J))*DTIME/(DTIME+ETA) END DOEND DOC Update stressesDO I = 1, NTENSSTRESS(I)=ZERODO J = 1, NTENSC IF(DM.LT.0.5) THENSTRESS(I)=STRESS(I)+ CD(I,J) * STRANT(J)C ELSEC STRESS(I)=STRESS(I)+ CD(I,J) * STRANT(J) * (1-DM)C ENDIFEND DOEND DOC EnergyDO I = 1, NDISSE = SSE + HALF * (STRESS(I) + OLD_STRESS(I)) * DSTRAN(I) END DODO I = NDI+1, NTENSSSE = SSE + (STRESS(I) + OLD_STRESS(I)) * DSTRAN(I) END DOSTATEV(1)=DMRETURNEND。

相关文档
最新文档