跳转至

材料数据

在 FrontISTR 中,“材料”是对赋予单元的材料属性数据进行命名并统一管理的单位。具体而言,它将弹性常数、密度、热导率等物性值,以及弹塑性、黏弹性、蠕变等本构关系参数归并在一个名称下。通过 !SECTION 将材料分配给单元组,并把单元类型(实体、壳、界面等)与材料名称关联起来。材料本身的内容则在网格数据侧的 !MATERIAL 或分析控制数据侧的 !MATERIAL 块中定义。

材料数据的限制由分析类型、单元类型以及输入文件中的指定方式这三个因素决定。下文首先整理可用材料模型与单元、分析类型之间的对应关系(功能概览),随后说明材料模型的选择方法(材料模型的选择),最后依次说明各个模型的规格(从线性弹性开始)。各关键字的格式和默认值请参阅关键字参考。

功能概览

材料数据大致可分为结构分析中使用的力学材料模型,以及热传导分析和热应力分析中使用的热物性。结构分析中可根据用途选择线性弹性、超弹性、弹塑性、黏弹性、蠕变或用户定义材料。它们分别是独立的本构关系;弹塑性、黏弹性和蠕变会在同一材料中同时定义线性弹性作为弹性部分(超弹性使用自身的应变能函数,因此不引用线性弹性刚度)。热传导分析中则为单元赋予密度、比热和热导率。

分类 主要用途 输入中的主要关键字 主要参考
线性弹性 小变形线性分析、模态分析、线性动力分析、非线性材料的弹性部分 !ELASTIC, !MATERIAL ITEM=1 !ELASTIC, !MATERIAL(网格数据)
超弹性 橡胶类材料等的大变形弹性响应 !HYPERELASTIC !HYPERELASTIC
弹塑性 屈服后的永久应变、金属塑性、岩土材料 !PLASTIC !PLASTIC
黏弹性 伴随松弛或延迟的时间相关响应 !VISCOELASTIC, !TRS !VISCOELASTIC, !TRS
蠕变 在应力作用下随时间发展的变形 !CREEP !CREEP
热物性 热传导分析、热应力分析 !MATERIAL ITEM=13, !EXPANSION_COEFF !EXPANSION_COEFF
用户定义材料 用户实现的本构关系 !USER_MATERIAL, !ELASTIC TYPE=USER, !HYPERELASTIC TYPE=USER, !PLASTIC YIELD=USER !USER_MATERIAL

在结构分析中,如果网格数据和分析控制数据中都定义了同名材料,则优先采用分析控制数据侧的定义。不过,网格数据侧的材料定义本身仍然是必需的;当分析控制数据侧定义了同名材料时,网格数据侧的值不会被引用,因此可以使用占位值。另一方面,热传导分析不支持在分析控制数据中指定材料,而是直接使用网格数据中指定的值。

各分析类型的支持情况可整理如下。线性静力分析、模态分析和线性动力分析使用线性弹性。使用三维连续体实体单元的非线性静力分析和非线性动力分析,可以在线性弹性的基础上使用超弹性、弹塑性、黏弹性、蠕变和用户定义材料。热传导分析使用密度、比热和热导率,而不是结构材料模型。有关分析类型的整体情况,请参阅分析类型

不同单元类型也存在支持限制。三维连续体实体单元可使用结构分析用的非线性材料模型。平面应力单元、平面应变单元和轴对称单元以线性弹性为基本材料模型,这些二维类单元不支持弹塑性、超弹性、黏弹性和蠕变。壳单元支持线性弹性,可指定单层或层合、各向同性或各向异性。壳单元不支持弹塑性、超弹性、黏弹性和蠕变。界面单元用于在热传导分析中处理间隙传热和辐射,其间隙参数不是通过材料数据,而是在 !SECTION 的数据行中指定。关于与单元组的关联方式及层合输入示例,也请参阅单元库

下面列出各单元类型对材料模型的支持情况。

单元类型 线性弹性(各向同性) 线性弹性(正交各向异性・层合) 超弹性 弹塑性 黏弹性 蠕变 热物性
三维实体
平面应力・平面应变・轴对称
壳(单层・层合)
梁・桁架
界面

(符号:○ 可用/— 不支持)。界面单元的间隙传热和辐射热物性通过 !SECTION 指定。

材料定义有两条途径。在网格数据中,通过 !SECTION 关联单元组和材料名称,并使用 !MATERIAL!ITEM 定义物性。在分析控制数据中,在 !MATERIAL 块内放置 !ELASTIC!HYPERELASTIC!PLASTIC 等来定义材料模型。如果在分析控制数据侧定义了 !MATERIAL,则采用该定义,而不是网格数据中同名材料的定义。有关网格数据侧 !SECTION!MATERIAL 的详细说明,请参阅 !SECTION(网格数据)!MATERIAL(网格数据)。分析控制数据侧的材料块请参阅 !MATERIAL(分析控制数据)

材料模型的选择

选择材料模型时,首先判断线性弹性是否足够。如果变形较小、应力不超过屈服点,并且无需考虑随时间变化的松弛或蠕变,则使用线性弹性。处理大变形下的弹性响应时选择超弹性,处理屈服后的塑性应变时选择弹塑性,处理具有松弛时间的材料时选择黏弹性,处理长期保持载荷时逐渐发展的变形时选择蠕变。

问题特征 候选材料模型 判断依据
小变形且应力与应变呈线性关系 线性弹性 可用杨氏模量和泊松比表示时
即使发生大变形,卸载后仍恢复原状 超弹性 橡胶类材料,或需要非线性弹性势时
超过屈服点后留下永久应变 弹塑性 需要选择屈服函数和硬化规律时
保持载荷期间发生应力松弛或延迟 黏弹性 可用松弛系数和松弛时间表示时
长期载荷下应变累积 蠕变 可用 Norton 定律近似时
现有模型无法表示 用户定义材料 在外部子程序中实现本构关系时

处理温度依赖时,需要确认各材料模型的支持情况。线性弹性、蠕变和热膨胀系数支持温度相关表格。黏弹性不对 Prony 系数本身进行温度插值,而是使用 !TRS 的温度移位。弹塑性在采用 Mises 屈服的多折线硬化时可使用温度相关表格。Mohr-Coulomb 和 Drucker-Prager 不支持温度依赖。

处理各向异性或层合材料时,还需注意单元类型。实体单元支持正交各向异性线性弹性。壳单元在线性弹性范围内支持各向同性单层、各向异性单层、各向同性层合以及各向异性层合。壳单元不能使用非线性材料模型。

对于接近不可压缩的材料,不要将泊松比设为 0.5。FrontISTR 不支持完全不可压缩材料的指定。在不可压缩性影响显著的大变形问题中,单元公式的选择也很重要,因此还应确认单元库中的公式选项。

线性弹性

线性弹性是 FrontISTR 结构分析中最基本的材料模型。线性静力分析、模态分析和线性动力分析使用线性弹性。使用弹塑性、黏弹性或蠕变时,也在同一材料中定义线性弹性作为弹性部分。→ 详情请参阅 !ELASTIC

对于各向同性线性弹性,指定杨氏模量和泊松比。需要考虑温度依赖时,可将杨氏模量和泊松比作为温度函数以表格形式给出。使用正交各向异性时,需要指定三个方向的杨氏模量、三个泊松比和三个剪切模量,共九个独立常数。正交各向异性需要材料坐标系,因此应在相应的 !SECTION 中指定局部坐标系。

若在网格数据侧指定线性弹性,则组合使用 !SECTION!MATERIAL。下面的示例将材料 M1 分配给实体单元组 ALL,并使用 ITEM=1 定义杨氏模量和泊松比、ITEM=2 定义质量密度、ITEM=3 定义线膨胀系数。

!SECTION, TYPE=SOLID, EGRP=ALL, MATERIAL=M1

!MATERIAL, NAME=M1, ITEM=3
!ITEM=1, SUBITEM=2
  4000., 0.3
!ITEM=2
  8.0102E-10
!ITEM=3
  1.0E-5

对于壳单元,可在线性弹性范围内指定单层和层合结构。单层各向同性材料使用 SUBITEM=4,单层各向异性材料使用 SUBITEM=9。层合结构中,将各层的材料常数和层权重按层数排列在同一 !ITEM 中。层权重按总和归一化,并用作厚度方向积分的权重。整个壳的实际厚度通过 !SECTION, TYPE=SHELL 中的厚度指定。

下面给出各向同性材料单层壳的示例。

!MATERIAL, NAME=M1, ITEM=1
!ITEM=1, SUBITEM=4
0, 200000, 0.3, 2.0

下面给出各向同性材料两层层合壳的示例。

!MATERIAL, NAME=M1, ITEM=1
!ITEM=1, SUBITEM=7
0, 200000, 0.3, 2.0, 200000, 0.3, 2.0

下面给出各向异性材料单层壳的示例。各向异性角度以度为单位指定。

!MATERIAL, NAME=M1, ITEM=1
!ITEM=1, SUBITEM=9
1, 28600., 0.15, 32.3, 28600., 12434., 12434., 12434., 0.0

下面给出各向异性材料两层层合壳的示例。

!MATERIAL, NAME=M1, ITEM=1
!ITEM=1, SUBITEM=17
1, 28600., 0.15, 32.3, 28600., 12434., 12434., 12434., 0.0,
   28600., 0.15, 32.3, 28600., 12434., 12434., 12434., 0.0

超弹性

超弹性是从应变能函数定义应力的非线性弹性材料。用于处理即使发生大变形、卸载后仍能恢复原状的橡胶类材料等。在输入中,在 !MATERIAL 块内指定 !HYPERELASTIC。→ 详情请参阅 !HYPERELASTIC

FrontISTR 支持以下超弹性模型。不支持 OGDEN 模型。

模型 输入类型 主要系数 特点
Neo-Hookean NEOHOOKE \(C_{10}\), \(D\) 相当于 Mooney-Rivlin 中 \(C_{01}=0\) 的简单各向同性超弹性模型
Mooney-Rivlin MOONEY-RIVLIN \(C_{10}\), \(C_{01}\), \(D\) 使用两个约化不变量的各向同性超弹性模型
Arruda-Boyce ARRUDA-BOYCE \(\mu\), \(\lambda_m\), \(D\) 基于分子链网络的橡胶类材料模型
各向异性 Mooney-Rivlin MOONEY-RIVLIN-ANISO 输入中读取10个系数,但当前本构关系使用前5个 表示纤维方向等各向异性超弹性响应的模型
用户定义超弹性 USER 用户常数 在外部子程序中实现超弹性本构关系的模型

超弹性使用与体积变化相关的系数 \(D\) 表示可压缩性。由于不支持完全不可压缩材料,因此不要使用相当于泊松比 \(\nu=0.5\) 的指定。处理近似不可压缩材料时,除了超弹性模型的系数外,还需要同时选择所使用的单元公式。

超弹性默认在总拉格朗日法框架下处理。有关应变能函数、应力和切线刚度的定义,请参阅超弹性(理论)

弹塑性

弹塑性是用屈服函数区分弹性域和塑性域,并用硬化规律描述屈服后响应的材料模型。在输入中,在同一 !MATERIAL 块内组合使用 !ELASTIC!PLASTIC。→ 详情请参阅 !PLASTIC

在 FrontISTR 中,通过组合屈服函数与硬化规律来指定弹塑性模型。支持范围如下。

屈服函数 输入类型 支持的硬化规律 主要用途
Mises MISES BILINEAR, MULTILINEAR, SWIFT, RAMBERG-OSGOOD, KINEMATIC, COMBINED 金属材料等的各向同性屈服
Mohr-Coulomb MOHR-COULOMB BILINEAR, MULTILINEAR 由摩擦角和黏聚力表征的土体、岩体材料
Drucker-Prager DRUCKER-PRAGER BILINEAR, MULTILINEAR 对 Mohr-Coulomb 进行平滑近似的压力相关屈服
用户定义屈服 USER 用户定义 在外部子程序中实现切线刚度和返回映射时

Mises 屈服的多折线硬化支持温度相关表格。Mises 屈服的双线性硬化、Swift 硬化、Ramberg-Osgood 硬化、随动硬化和组合硬化按常数表达式计算。Mohr-Coulomb 和 Drucker-Prager 不支持温度依赖。使用多折线硬化时,输入必须满足塑性应变非负,且第一个塑性应变为0。

壳单元、平面应力单元、平面应变单元和轴对称单元不支持弹塑性。使用弹塑性材料时,应采用三维连续体实体单元。

弹塑性默认在更新拉格朗日法框架下处理。若在 !PLASTIC 中指定 INFINITESIMAL,则按小变形本构关系处理。应力更新采用基于返回映射的积分,算法详情请参阅弹塑性(理论)

黏弹性

黏弹性是在弹性响应上加入时间相关松弛的材料模型。FrontISTR 将广义 Maxwell 模型以 Prony 级数形式输入。在同一 !MATERIAL 块内定义 !ELASTIC!VISCOELASTIC。→ 详情请参阅 !VISCOELASTIC

在 Prony 级数中,用多行指定松弛系数与松弛时间的组合。松弛时间不能指定为0。考虑温度依赖时,在 !VISCOELASTIC 之后放置 !TRS 并指定温度移位因子。→ 详情请参阅 !TRS

温度移位支持 WLF 型和 Arrhenius 型,两者均将移位因子 \(A\) 表示为分析温度 \(\theta\) 与参考温度 \(\theta_0\) 的函数。输入中均给出两个材料常数(C1C2)和参考温度,但其含义随所选移位模型而不同(WLF 型中为 Williams-Landel-Ferry 方程的两个系数,Arrhenius 型中为与活化能相关的两个系数)。具体函数形式及移位因子的推导请参阅理论手册黏弹性

蠕变

蠕变是处理在恒定载荷或恒定应力下,应变随时间发展的现象的材料模型。FrontISTR 的 !CREEP 支持 Norton 定律。在同一 !MATERIAL 块内定义 !ELASTIC!CREEP。→ 详情请参阅 !CREEP

Norton 定律用等效应力、时间以及材料常数 \(A\)\(n\)\(m\) 的幂函数形式表示蠕变应变率(具体函数形式请参阅理论手册蠕变)。材料常数支持温度相关表格,因此可按温度给出不同数值。

不支持 !CREEPTYPE=USER。若要实现包含蠕变的自定义本构关系,请使用用户定义材料。

热传导分析的材料属性

在热传导分析中,不定义结构分析用的弹性、塑性材料,而是定义密度、比热和热导率。对于连接单元、平面单元、实体单元和壳单元,在网格数据侧的 !MATERIAL 中使用 ITEM=13。热物性可以温度相关表格的形式给出。

下面的示例为材料 M1 定义温度相关的密度、比热和热导率。先通过 SECTION 将材料 M1 分配给实体单元组 ALL,然后在 !MATERIALITEM=1 中以温度与数值成对的形式给出密度,在 ITEM=2 中给出比热,在 ITEM=3 中给出热导率。

!SECTION, TYPE=SOLID, EGRP=ALL, MATERIAL=M1

!MATERIAL, NAME=M1, ITEM=3
!ITEM=1, SUBITEM=1
7850., 300.
7790., 500.
7700., 800.
!ITEM=2
0.465, 300.
0.528, 500.
0.622, 800.
!ITEM=3
43., 300.
38.6, 500.
27.7, 800.

界面单元不使用材料数据,而是在 !SECTION, TYPE=INTERFACE 的数据行中指定间隙宽度、间隙传热系数和辐射系数。

!SECTION, TYPE=INTERFACE, EGRP=GAP
1.0, 20.15, 8.99835E-9, 8.99835E-9

壳单元的热传导分析与实体单元相同,通过材料 !MATERIAL 指定热物性。壳厚度和厚度方向积分点数在 !SECTION 一侧指定。

在热应力分析中,为了由温度场计算热应变,需要定义线膨胀系数。支持各向同性和正交各向异性热膨胀系数,也可指定温度依赖。→ 详情请参阅 !EXPANSION_COEFF。若要在分析控制数据侧给出结构分析、动力分析中使用的质量密度,请参阅 !DENSITY。热传导分析中的密度则通过此处所示的网格数据侧 !MATERIAL ITEM=1 指定。

用户定义材料

用户定义材料是用于通过外部子程序实现 FrontISTR 内置材料模型无法表示的本构关系的入口。在输入中,使用 !USER_MATERIAL 给出状态变量数量和用户常数。→ 详情请参阅 !USER_MATERIAL

!USER_MATERIAL 默认按更新拉格朗日型本构关系处理,指定 KIRCHHOFF 时按总拉格朗日型处理。状态变量数量通过 NSTATUS 指定。数据行中最多可传递100个用户常数。这些常数和状态变量在用户子程序中作为本构关系的内部变量使用。

对于 !USER_MATERIAL,本构关系主体在 uMatlMatrixuUpdate 中实现。uMatlMatrix 返回材料切线刚度,uUpdate 更新应力和状态变量。使用小变形用户弹性时,使用 !ELASTIC, TYPE=USER;使用用户超弹性模型时,使用 !HYPERELASTIC, TYPE=USER,并在 uElasticMatrixuElasticUpdate 中实现弹性响应。使用用户定义屈服函数时,使用 !PLASTIC, YIELD=USER,并实现弹塑性切线刚度和返回映射。

相关项目