本节给出混合硬化塑性本构的控制方程,用户子程序要根据这些控制方程来编写。混合硬化塑性本构的控制方程涉及两部分,分别是材料在屈服之前的弹性部分和屈服后的塑性部分。式在Jaumann率下的率形式为将式在共轴旋转框架下进行时间积分,得到增量形式的弹性本构方程:用户子程序中编写代码时依据式进行。如果弹性预测应力超过了屈服应力σY,材料就会发生塑性流动。......
2023-11-03
混合硬化塑性材料的用户子程序UMAT的代码如下:
上面的这个用户子程序UMAT除了背应力张量中的静水压力项(第86行的变量shydro)不在求解中起作用外,其计算结果与ABAQUS中的线性运动硬化金属塑性材料模型的结果完全相同。这个微小的差异是因为,用户子程序UMAT中使用Prager演化定律来产生偏背应力张量,而ABAQUS中的线性运动硬化金属塑性材料模型则使用Ziegler演化定律,其中包含了流体静水压力对背应力张量的额外贡献。
对于大变形问题(特别是大应变问题),必须对应力和应变进行旋转,如上面代码中的第59~61行,通过ABAQUS的Utility函数rotsig()来实现。使用方法如下:(www.chuimin.cn)
此外,需要指出的是,上面的子程序只适用于线性硬化模型,因为这里采用的经典的Prager-Ziegler理论只适用于这种情况。对于更加复杂的非线性运动硬化模型,积分程序更加复杂,公式也比上面推导的要复杂得多。但是,只要能够得到合适的积分公式,那么在UMAT中的实现就很简单,按照具体的公式去编写即可。
有关基于ABAQUS的有限元子程序开发及应用的文章
本节给出混合硬化塑性本构的控制方程,用户子程序要根据这些控制方程来编写。混合硬化塑性本构的控制方程涉及两部分,分别是材料在屈服之前的弹性部分和屈服后的塑性部分。式在Jaumann率下的率形式为将式在共轴旋转框架下进行时间积分,得到增量形式的弹性本构方程:用户子程序中编写代码时依据式进行。如果弹性预测应力超过了屈服应力σY,材料就会发生塑性流动。......
2023-11-03
本节将给出一个完整的用C++编写的用户子程序的例子,这是一个简单的线弹性本构模型的用户材料子程序UMAT,其他用Fortran语言编写的用户子程序若要转化为C++编写的用户子程序,也可以仿照这个例子修改用户子程序的接口。C++语言的面向对象的属性在编写大型复杂结构的子程序时具有独特的优势,编写的代码结构更加清晰、可读性更高。......
2023-11-03
③对于三维实体单元,应力分量的存储顺序:σ11,σ22,σ33,σ12,σ13,σ23。在用户子程序UMAT中,剪切应变是以工程应变的形式存储的,即存储的是γ12:无论是二维问题还是三维问题,变形梯度张量Fij总是存储了三维的形式。如果需要用总体坐标系下的应力进行计算和其他处理,则可以通过子程序ROTSIG将应力张量转动回去。④如果用户子程序UMAT被用在减缩积分单元或者壳单元(如S4)和梁单元中,就必须指定沙漏刚度和横向剪切刚度。......
2023-11-03
当一个含有用户子程序的模型被提交给ABAQUS分析时,正确的编译和链接命令应该被自动执行。对于不同的运行平台,ABAQUS正确的编译和链接命令默认存储在环境文件中,这个文件位于abaqus_dir/site目录下,这里的abaqus_dir是ABAQUS的安装目录。如果想将子程序提供给他人使用,但不希望他人看到子程序的源代码,在这种情况下,可将子程序的源码编译成obj文件提供给他人。这个目标文件可以运行子程序,但不会显示源代码。......
2023-11-03
ABAQUS有一个非常大的单元库,含有多种类型单元,可以满足各种复杂的力学分析。相比于写一个完整的有限元求解程序,在一些现有程序的基础上编写用户单元可以大大降低开发成本、缩短开发时间,并且可以充分利用ABAQUS提供的强大的前后处理能力。此外,ABAQUS内置的求解器的效率非常高,求解非线性问题具有很好的收敛性,这也使得用户单元子程序具有非常广的应用前景,是一个很好的助力科研和工程的工具。......
2023-11-03
而由Dharmasena等[90]提出的非典型应变率硬化的材料模型则需要通过编写用户子程序VUHARD来实现。采用用户子程序VUHARD实现上述非典型应变率硬化的材料模型代码如下:为了在模型中使用用户材料塑性硬化子程序VUHARD,需要在inp文件中定义如下语句:上述语句中,第6行指定了需要使用用户子程序VUHARD,第7行的5个数对应于程序中的props变量,其含义分别为屈服应力σY、参考应变率、指数m、切线模量Et和杨氏模量E。......
2023-11-03
Fortran语言提供了5种内在的数据类型,也可以根据需要来自定义数据类型。此外,在声明整型变量时,还可以指定变量使用的字节数。在Fortran语言中,用两个连续的实数来存储复数的这两部分。......
2023-11-03
蠕变是固体材料在保持应力不变的条件下,应变随时间延长而增加的现象。由于蠕变,材料在某瞬时的应力状态一般不仅与该瞬时的变形有关,而且与该瞬时以前的变形过程有关[24]。虽然Abaqus/Standard提供了丰富的蠕变本构模型,但Abaqus/Explicit还没有关于蠕变的本构模型。然而,对于一些特定的问题,采用Abaqus/Standard很难求解收敛,此时不得不借助Abaqus/Explicit进行求解,如果其中涉及的材料具有较为明显的蠕变特性,则需要借助VUMAT在Abaqus/Explicit中实现蠕变本构模型[26]。......
2023-11-03
相关推荐