首页 理论教育基于ABAQUS的有限元子程序开发及应用

基于ABAQUS的有限元子程序开发及应用

【摘要】:ABAQUS有一个非常大的单元库,含有多种类型单元,可以满足各种复杂的力学分析。相比于写一个完整的有限元求解程序,在一些现有程序的基础上编写用户单元可以大大降低开发成本、缩短开发时间,并且可以充分利用ABAQUS提供的强大的前后处理能力。此外,ABAQUS内置的求解器的效率非常高,求解非线性问题具有很好的收敛性,这也使得用户单元子程序具有非常广的应用前景,是一个很好的助力科研和工程的工具。

ABAQUS有一个非常大的单元库,含有多种类型单元,可以满足各种复杂的力学分析。然而,有时对于一些特定的问题(例如:一些耦合了力学行为的物理过程,载荷和求解的结果有关;在求解的过程中激活控制机制;等等),ABAQUS现有的单元库还无法满足分析需求,需要我们编写用户子程序来实现。

相比于写一个完整的有限元求解程序,在一些现有程序的基础上(如ABAQUS)编写用户单元可以大大降低开发成本、缩短开发时间,并且可以充分利用ABAQUS提供的强大的前后处理能力。此外,ABAQUS内置的求解器的效率非常高,求解非线性问题具有很好的收敛性,这也使得用户单元子程序具有非常广的应用前景,是一个很好的助力科研和工程的工具。

多个用户单元可以在单个模型中一起使用,其使用方法与多个UMAT在同一个模型中一起使用是类似的,只需给每个单元一个特定的名称,然后定义其在inp文件中对应的UEL的变量property。

在ABAQUS中定义用户单元的方式主要有以下两种:

1)线性单元(www.chuimin.cn)

在Abaqus/Standard中,可以通过直接使用关键字*MATRIX来定义单元的刚度矩阵和质量矩阵,从而可以定义一个线性的用户单元(无须写编用户子程序)。

2)任意单元

在Abaqus/Standard中,可通过用户子程序UEL或UELMAT来定义任意单元;在Abaqus/Explicit中,可通过用户子程序VUEL来实现非线性单元。