1、为何需要使用用户材料子程序(User-Defined Material, UMAT)? 很简单,当 ABAQUS 没有提供我们需要的材料模型时。所以,在决定自己定义一种新的材料模型之前,最好对 ABAQUS 已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。 UMAT 子程序具有强大的功能,使用UMAT 子程序: (1)可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。 (2) 几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQUS 中的任何单元。 (3) 必须在UMAT 中提供材料本构模型的雅可比(Jacobian)矩阵,即应力增量对应变增量的变化率。 (4) 可以和用户子程序“USDFLD”联合使用,通过“USDFLD”重新定义单元每一物质点上传递到 UMAT 中场变量的数值。 2、需要哪些基础知识? 先看一下 ABAQUS 手册(ABAQUS Analysis User's Manual)里的一段话: Warning: The use of this option generally requires considerable expertise(一定的专业知识). The user is cautioned that the implementation(实现) of any realistic constitutive(基本) model requires extensive(广泛的) development and testing. Initial testing on a single element model with prescribed traction loading(指定拉伸载荷) is strongly recommended. 但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation)而已。当然,最基本的一些概念和知识还是要具备的,比如: 应力(stress),应变(strain)及其分量; volumetric part 和 deviatoric part;模量(modulus)、泊松比(Poisson’s ratio)、拉梅常数(Lame constant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。 3、UMAT 的基本任务? 我们知道,有限元计算(增量方法)的基本问题是: 已知第 n 步的结果(应力,应变等)nσ ,nε ,然后给出一个应变增量1+ndε,计算新的应力1+nσ。UMAT 要完成这一计算,并要计算 Jacobian 矩阵DDSDDE(I,J) =εσΔ∂Δ∂/。σΔ是应力增量矩阵(张量或许更合适),εΔ 是应变增量矩阵。DDSDDE(I,J) 定义了第 J 个应变分量的微小变化对第I...