Lsdyna二次开发usermatd变量的名称可能会根据LS-DYNA的平台和版本而有所不同。当在关键字卡片中为某个部件定义关键字 *MAT_USER_DEFINED_MATERIAL_MODELS 时,LS-DYNA 会调用子例程 usrmat,并提供相应的输入数据以进行本构更新。程序会调用 urmathn 处理二维和三维固体单元,urmats 处理二维平面应力和三维壳单元,urmatb 处理梁单元,urmatd 处理离散梁单元,以及 urmatt 处理桁架梁单元。以下是umat的接口:
subroutine umat(cm, eps, sig, epsp, hsv, dt1, capa, etype, tt, temper, failel, crv, nnpcrv, cma, qmat, elsiz, idele, reject)
cm为材料输入参数,例如E=cm(1),即将第一个输入参数作为杨氏模量。
eps为应变增量,其中eps1-3为正应变,eps4-6为剪切应变。这里需要注意剪切应变和偏应变有2倍数的关系。
sig为应变分量,sig1-3为正应力,sig4-6为偏应力。
hsv为用户自定义的历史变量,在课程中我提到过可以用于保存本构所需要但接口不提供的变量,也可用于prepost可视化。
dt1为当前时间增量的大小。
capa用于壳单元,是横向剪切矫正系数,壳单元才会用到。
etype定义了单元类型,子程序需要根据该参数判断使用哪部分代码来计算应变。
tt为当前时间。
temper为当前温度。
内容简介:failel, crv, nnpcrv, cma, qmat, elsiz, idele, reject的解释以及偏应变剪切应变的问题