abaqus 非线性用户单元的开发

30
ABAQUS 非非非非非非非非非非 非非非 非 非 非非非非非非非非非 非非 99 非 11 非 8 非

Upload: emile

Post on 19-Mar-2016

243 views

Category:

Documents


3 download

DESCRIPTION

ABAQUS 非线性用户单元的开发. 郭永进 庄 茁 清华大学工程力学系 北京 99年11月8日. ABAQUS 的用户子程序. 用户子程序. 用户子程序为分析提供了一个非常强大、灵活的工具。 用户子程序: 可以提高几个 ABAQUS 选项的功能,仅用数据行的方式使用这些选项可能太过严格; 用 FORTRAN 语言写成; 在某些情况下可以利用 ABAQUS 的功能程序。. ABAQUS 中的用户子程序: CREEP- 定义时间相关的粘塑性行为(蠕变和膨胀)的用户子程序 DFLOW- 在压实分析中定义非均匀孔隙 流体速度的用户子程序 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ABAQUS 非线性用户单元的开发

ABAQUS非线性用户单元的开发郭永进 庄 茁

清华大学工程力学系北京 99 年 11 月 8 日

Page 2: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

ABAQUS的用户子程序

Page 3: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

用户子程序 用户子程序为分析提供了一个非常强大、灵活的工具。 用户子程序:

可以提高几个 ABAQUS 选项的功能,仅用数据行的方式使用这些选项可能太过严格; 用 FORTRAN 语言写成; 在某些情况下可以利用 ABAQUS 的功能程序。

Page 4: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

ABAQUS中的用户子程序: CREEP -定义时间相关的粘塑性行为(蠕变和膨胀)的用户子程序 DFLOW -在压实分析中定义非均匀孔隙 流体速度的用户子程序 DFLUX -在热传导或质量扩散分析中定义非均匀分布流的用户子程序 DISP -定义边界条件的用户子程序

Page 5: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

DLOAD -定义非均匀分布载荷的用户子程序 FILM -在热传导分析中定义非均匀膜系数和相关的下沉温度的用户子程序 FLOW -在压实分析中定义非均匀渗流系数和相关的下沉孔隙压力的用户子程序 FRIC -定义接触面摩擦行为的用户子程序 GAPCON -在温度-位移耦合或者纯热传导分析中定义接触面或节点之间的热传导系数的用户子程序

Page 6: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

GAPELECTR -在热-电耦合分析中定义表面间导电系数的用户子程序 HARDINI -定义初始等效塑性应变和初始背应力张量的用户子程序 HETVAL -在热传导分析中定义内部热产生的用户子程序 MPC -定义多点约束的用户子程序 ORIENT -为运动耦合约束定义局部方向或者定义局部材料取向的用户子程序

Page 7: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

RSURFU -定义刚性表面的用户子程序 SDVINI -定义依赖于解的状态变量场初始值的用户子程序 SIGINI -定义初应力场的用户子程序 UCORR -定义随机响应载荷的交叉 -相关属性的用户子程序 UEL -定义单元的用户子程序

Page 8: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

非线性用户单元的开发 动机 定义用户单元 UEL 接口 例:具有非线性截面行为的平面梁单元 例:新开发的两种用户单元

Page 9: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

概要ABAQUS/Standard 提供接口,允许用户实现线性和非线性有限单元。

非线性有限单元在用户子程序 UEL 中实现。接口允许定义任意复杂的单元。

如果编写适当,用户单元可以在 ABAQUS/Standard 的大部分程序中应用。

可以在一个 UEL 子程序中实现多个用户单元,这些单元可以同时使用。这里只讨论非线性用户单元的实现,并采用实例说明。

Page 10: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

动机ABAQUS/Standard 是一个功能强大的分析工具,拥有一个大单元库,有 500 多种单元-可以进行绝大部分复杂结构问题的分析。然而,在有些情况下需要开发用户单元来补充

ABAQUS 的单元库: 所需的单元几何信息与 ABAQUS 已有的单元不同 模拟与结构行为耦合的非结构物理过程 施加依赖于解的载荷 模拟主动控制机理

Page 11: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

在分析程序如 ABAQUS 中开发用户单元而不是编写一个完全的分析程序的优点是很明显的: ABAQUS 提供大量的结构单元、分析程序和建模工具。 ABAQUS 提供前处理和后处理。

– 许多第三方软件提供带有 ABAQUS接口的前后处理器。 维护和移植子程序比维护和移植一个完全的有限元程序容易的多。

Page 12: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

定义用户单元用户单元的主要特征在编写 UEL 子程序前,必须先定义单元的以下主要特征:

单元的节点数 节点的坐标数 每一个节点处的自由度数

Page 13: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

其它重要的单元性质另外,必须定义下面的单元性质:

需要在 UEL外定义的单元性质数目 每一个单元需要存储的依赖于解的状态变量数目( SDVs )

可能会作用于单元上的(分布)载荷类型数目这些数目不必立即定义:它们可以很容易地在完成基本的 UEL 子程序后加入。

Page 14: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

定义用户单元行为在一般的分析步中单元对模型的主要贡献是提供作用于节点上的“力” FN -依赖于节点的自由度 uN

的值。 如果自由度是位移,那么相关的“力”为节点力。类似地,旋转对应于转矩,温度对应于热流。 在非线性用户单元中“力”常常依赖于自由度的增量

uN 和内部状态变量 H。– 状态变量必须在用户子程序中进行更新。

Page 15: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

在一般分析步中求解(非线性)方程组需要你定义单元的刚度矩阵: 刚度矩阵应包含 FN对 uN 所有的直接和间接的依赖性,例如 在一般分析步中刚度矩阵定义的越精确,收敛性就越好。 刚度矩阵确定线性扰动分析步的解,所以其定义必须精确。

– 刚度矩阵可以为对称或非对称。

M

NNM

dudFK

M

N

uH

HF

Page 16: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

用户单元的复杂程度可以变化很大。 在由常规单元构成的分析中可以采用简单的用户单元来达到“控制”和“反馈”的功能。 复杂的非线性结构单元的编制常常需要很大的工作量。

如果单元由非线性材料构成,你最好用单独的子程序描述材料行为。 如果材料模型是在子程序 UMAT 中实现的,那么可以在 UEL 中包含对 UMAT 的调用。 前面对 UMAT 中积分的讨论同样适用于 UEL中的材料模型。

Page 17: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

UEL 接口ABAQUS 选项用户单元是用 *USER ELEMENT 选项定义的。在输入文件中这个选项必须出现在引用用户单元的 *ELEMENT 选项的前面。输入文件中用于 UEL 的语法如下:

*USER ELEMENT, TYPE=Un, NODES=, COORDINATES=, PROPERTIES=, I PROPERTIES=, VARIABLES=, UNSYMMData lines(s)*ELEMENT,TYPE=Un, ELSET=UELData line(s)*UEL PROPERTY,ELSET=UELData line(s)*USER SUBROUTINE, (INPUT=file_name)

*USER SUBROUTINE 选项在 ABAQUS 6.1 版本中将不再用。

Page 18: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

UEL 接口用户子程序 UEL 的接口如下: SUBROUTINE UEL(RHS,AMATRX,SVARS,ENERGY,NDOFEL,NRHS,NSVARS, 1 PROPS,NPROPS,COORDS,MCRD,NNODE,U,DU,V,A,JTYPE,TIME,DTIME, 2 KSTEP,KINC,JELEM,PARAMS,NDLOAD,JDLTYP,ADLMAG,PREDEF, 3 NPREDF,LFLAGS,MLVARX,DDLMAG,MDLOAD,PNEWDT,JPROPS,NJPROP, 4 PERIOD)C INCLUDE 'ABA_PARAM.INC'C DIMENSION RHS(MLVARX,*),AMATRX(NDOFEL,NDOFEL), 1 SVARS(NSVARS),ENERGY(8),PROPS(*),COORDS(MCRD,NNODE), 2 U(NDOFEL),DU(MLVARX,*),V(NDOFEL),A(NDOFEL),TIME(2), 3 PARAMS(3),JDLTYP(MDLOAD,*),ADLMAG(MDLOAD,*), 4 DDLMAG(MDLOAD,*),PREDEF(2,NPREDF,NNODE),LFLAGS(*),JPROPS(*)

“INCLUDE”声明语句为浮点变量设置合适的精度(大部分机器上为REAL*8 )。

Page 19: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

UEL 变量ABAQUS 为用户单元 UEL 提供下面的变量:

坐标、位移、增量位移,对于动态,还有速度和加速度 增量开始时刻的状态变量 SDVs 总时间和增量时间、温度以及用户定义的场变量 用户单元性质 载荷类型及当前总载荷值和载荷增量值 单元类型和用户定义的单元号 分析类型标志,对于动态,积分算子值 当前所在的分析步数和增量步数

Page 20: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

必须定义下面的变量: 右手端矢量(节点流或力) 刚度矩阵 依赖于解的状态变量

可以定义下面的变量: 单元的能量(应变能、塑性耗散、动能等) 建议的新时间增量

所有参数的详细描述请参见 ABAQUS/Standard用户手册的第 6.2.18 节。

Page 21: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

编写和测试 UEL

编写 ABAQUS 用户子程序的基本规则: 遵从 FORTRAN 77 或 C 的语法。 确保所有的变量都定义和初始化过。 为状态变量分配足够的存储空间。

ABAQUS 5.8-10 版本要求 FORTRAN 编译器的版本为 5.0 ;从 ABAQUS 5.8-14 开始,要求 FORTRAN 编译器的版本为 6.0 。

Page 22: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

复杂的 UELs 可能会存在很多潜在的问题,调试一个不收敛的包含UEL 的大模型会带来不必要的困难。用只有一个单元的输入文件验证UEL :

首先,用一般分析步进行测试-将所有的解变量都赋值,用来验证总流(力)。 其次,用线性扰动步进行测试-将所有的载荷都赋值,用来验证单元的刚度矩阵。 最后,用一般分析步进行测试-将所有的载荷都赋值,用来验证刚度矩阵和流矢量的匹配。逐渐增大测试问题的复杂程度。如果可能,与标准

ABAQUS 单元的结果进行比较。

Page 23: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

例 1:具有非线性截面行为的平面梁单元目标分析一个平面混凝土框架结构。

这个框架所受载荷很大,混凝土内已有明显的非线性,但位移仍然很小,可以不考虑几何非线性。 建立一个模型:直接用轴向力和弯矩描述非线性截面行为。

– 这与选项 *BEAM SECTION, SECTION=NONLINEAR GENERAL类似,但是允许轴向和弯曲项之间的耦合。

忽略横向剪切变形。

Page 24: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

编程要求单元采用数值积分;因此,需要在 UEL 中定义下面的量:

单元 [B]矩阵,用于联系轴向应变、曲率与单元位移 {ue}:

本构律矩阵 [D] ,用于联系轴向力F 、弯矩M 与轴向应变、曲率 :

euB

DMF

Page 25: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

单元刚度矩阵: 单元力矢量: 采用数值积分:

其中 n 为积分点数, li 为与积分点 i 相关联的长度。

dlBDBKl T

e 0

dlMF

BFl T

e

0

n

iii

llAAdl

10

Page 26: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

评论这个 UEL 所采用的描述和简单的 B23 单元用于几何线性分析时所采用的描述基本相同。

这个程序可以和 *TRANSFORM 一起使用。 这个程序可以比较简单地推广到三维分析。

–将这个程序发展应用于几何非线性分析要复杂的多。 即使是线性分析,每一个增量步至少调用这个程序两次(对于每一个单元):一次用于组集,一次用于恢复。然后,每一次迭代至少调用一次:组集和恢复同时进行。

Page 27: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

EPZ单元 界面单元,用于裂纹自主扩展

– 起裂、加速、减速、止裂都是计算的结果

Page 28: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

MSG 和 TNT 应变梯度塑性单元 引入高阶应变-应变的梯度

– 需要形函数对坐标的二阶导数» 在经典的单元中只有形函数对坐标的一阶导数

– 非局部加权积分

kijijkjikijk ,,,

ji xxN

2

ixN

Page 29: ABAQUS 非线性用户单元的开发

ABAQUS 6.1 版本发布会暨 99 中国地区用户会议

清华大学工程力学系

ABAQUS/explicit的用户子程序 1 、 VDLOAD :非均匀分布的荷载 2 、 VFRIC :定义接触表面的摩擦性质 3 、 VUMAT :定义材料本构 没有用户单元接口

Page 30: ABAQUS 非线性用户单元的开发

谢谢 !

THE END