ABAQUAS子程序(subroutines)之Dload

ABAQUS / Standard用户手册(Abaqus User Subroutines Reference Guide)中详细介绍了ABAQUS / Standard中的所有可用的用户子程序,子程序编译环境的安装可参考ABAQUAS关联Fortran(Umat子程序)。常用用户子程序有:

  • DLOAD:定义非均布的机械载荷(压力和体力)。

  • UEL:当需要使用ABAQUS / Standard中没有的单元方程创建新单元时,使用此子例程。

  • UMAT:使用这个子程序来定义任何复杂的本构模型,这些模型不能用现有的ABAQUS材料模型建模。(本构模型的建立和积分算法的选择)

  • CREEP:这个子程序用来定义材料中与时间相关的粘塑性变形。 变形分为偏向行为(蠕变)和体积行为(膨胀)。

除了以上还有FILM,FRIC,HETVAL,DISP等子程序可通过用户自定义。

本文记录Dload子程序定义以及使用过程:

代码基本框架如下,通过修改Dload函数的重定义实现修改荷载功能:

各个参数的意义:

  • F:分布负载的大小

  • KSTEP:分析步

  • TIME(1):步进时间的当前值或负载比例因子的当前值

  • TIME(2):当前总时间值

  • NOEL:单元编号

  • NPT:根据负载类型,在元素或元素表面加载积分点数。

  • LAYER:层数

  • KSPT:当前图层中的Section point

  • COORDS:积分点坐标(数组)

  • JLTYP:DLOAD调用的载荷类型的标识

  • SNAME:表面加载定义的表面名称(JLTYP = 0)。对于身体力或基于单元的表面载荷,表面名称以空白形式传递

例子:定义x方向的幂级数荷载:

SUBROUTINE DLOAD(F, KSTEP, KINC, TIME ,NOEL, NPT,LAYER, KSPT, COORDS, JLTYP, SNAME)
C
C A simple example for Dload.
C
INCLUDE 'aba_param.inc'
C
DATA TEN,ONE,CONST /10,1,-23.03/
DIMENSION COORDS(3),TIME(2)
C COORDS(1) is the x coord
F = EXP(TEN*COORDS(1))
RETURN
END

这里要注意,第五行 INCLUDE ‘aba_param.inc’ ,可能是版本原因, 后面引入的文件名是小写的,如果引入全大写的会导致编译不通过。放入薄板算例中验证:

ABAQUAS子程序(subroutines)之Dload》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.hashtobe.com/522771.html