Holee模型(也称为Holzapfel-Gasser-Ogden模型,简称HGO模型)是生物力学,特别是软组织力学分析中最重要和最常用的本构模型之一。它主要用于描述像动脉壁这样的各向异性、非线性、超弹性材料的力学行为。
本教程将分为以下几个部分:
一、Holee模型理论基础
二、在有限元软件中实现的步骤(以Abaqus为例)
三、 一个简单的应用实例:动脉血管的扩张
四、 常见问题与调试建议
一、 Holee模型理论基础
Holee模型的核心思想是将材料的应变能函数(Strain Energy Potential)分为两部分:
- 基质部分(Isotropic Matrix): 描述材料基体(主要是非胶原蛋白和弹性蛋白)的均匀、非线性、近乎不可压缩的超弹性行为。通常采用Neo-Hookean模型。
- 纤维部分(Anisotropic Fibers): 描述嵌入在基质中的胶原纤维家族(通常为1-2个家族)的强化行为。纤维只在受拉时(I4 > 1 或 I1 > I4 > 1)才产生应力,受压时(I4 < 1)不承担载荷。
标准的HGO应变能函数(对于两个对称分布的纤维家族)如下:
· U: 总应变能密度· μ: Neo-Hookean基体的剪切模量。· k₁: 与纤维刚度相关的参数(应力量纲,如MPa)。· k₂: 无量纲参数,控制纤维应力的非线性增长程度。· I₁: 第一Cauchy-Green应变不变量(I1 = λ1² + λ2² + λ3²)。· I₄, I₆: 第四和第六Cauchy-Green应变不变量。它们实际上是纤维方向(a0₁, a0₂)的平方拉伸比,即 I4 = λ²_fiber1 = C : (a0₁ ⨂ a0₁), I6 = λ²_fiber2 = C : (a0₂ ⨂ a0₂)。对于两个对称的纤维家族,通常 I4 = I6。· κ: 纤维分散参数(0 ≤ κ ≤ 1/3),这是Holee模型的一个关键参数。· κ = 0: 表示所有纤维都是完美对齐的(完全各向异性)。· κ = 1/3: 表示纤维完全随机分布(退化为各向同性)。· 大多数生物软组织(如动脉)的κ值在0.1到0.3之间,表示纤维具有优先方向但存在一定分散度。
二、 在有限元软件中实现的步骤(以Abaqus为例)
Abaqus内置了Holee模型,使其应用变得相对简单。
步骤一:创建几何模型 建立你要分析的软组织几何模型,例如动脉血管的一段。可以简化为2D平面应力/应变模型或3D实体模型。
步骤二:定义材料属性(Material Property) 这是最关键的一步。
- 在Material模块中,创建新材料。
- 选择Mechanical -> Elasticity -> Hyperelastic。
- 在超弹性选项中,选择Strain Energy Potential的类型为 Holzapfel。
- 在弹出的参数窗口中输入参数:· Mu (μ): 基体剪切模量(单位:MPa)。· k1 (k₁): 纤维刚度参数。· k2 (k₂): 纤维非线性参数。· K: 纤维分散参数(κ)。· Fiber Angle (β): 纤维方向角。这是相对于局部材料方向的角度。对于动脉,通常有两层,中层纤维是对称螺旋的(例如+β和-β,如±29°),外膜可能具有不同的角度。· Number of Fiber Families: 通常选择2(表示两个对称的纤维家族)。输入示例(仅为演示,非真实参数):· Mu: 0.1 MPa· k1: 0.5 MPa· k2: 50.0· K: 0.1· Fiber Angle: 29.0 (对于第一个家族,第二个家族Abaqus会自动设置为对称的-29°)
- 定义其他必要属性:· Density: 密度(用于动力分析)。· Other Mechanical -> Plasticity: 如果需要,可以添加塑性。
步骤三:定义局部材料方向(Crucial Step!) Holee模型是各向异性的,纤维方向是相对于局部材料方向(Material Orientation) 定义的。你必须正确指派局部方向,确保纤维方向与你的几何模型对齐(例如,在动脉中,纤维方向是周向的螺旋线)。
- 进入Assign -> Material Orientation。
- 选择你的部件或区域。
- 定义局部坐标系(CSYS)的1方向和2方向(3方向由1和2的叉积自动确定)。
- 对于圆柱形的血管,通常将局部1方向定义为周向(Hoop Direction),局部2方向定义为轴向。这样,你定义的Fiber Angle(β)就是从周向开始测量的角度。
步骤四:装配、设置分析步和边界条件
- 分析步(Step): 创建一个Static, General分析步。由于材料高度非线性和近乎不可压缩,需要打开Nlgeom(几何非线性)。
- 边界条件(BC): 施加符合你物理场景的约束和载荷。例如,固定血管的一端,在内部施加压力(Pressure)。
步骤五:划分网格 使用合适的单元类型:
· 对于3D模型,推荐使用杂交单元(Hybrid Elements),例如 C3D8H 或 C3D10H,因为生物软组织是近乎不可压缩的,杂交公式能更好地处理不可压缩性约束。· 对于2D模型,可使用 CPE4H, CPE8H 等。
步骤六:提交作业并计算 由于模型的强非线性,计算可能收敛困难。需要合理设置增量步。
步骤七:后处理 查看结果,例如:
· 应力(S) 和 应变(E) 分布。· 主应力/主应变。· 使用Field Output请求输出与纤维相关的变量,如SFABRIC(纤维方向的应力)。
三、 一个简单的应用实例:动脉血管的扩张
目标: 模拟一段动脉血管在内部血压作用下的扩张过程。
- 几何: 创建一个3D的空心圆柱体(代表一段动脉),长度5mm,内径2mm,外径2.4mm。
- 材料:· Name: Artery_HGO· Type: Mechanical -> Elasticity -> Hyperelastic -> Holzapfel· Parameters: Mu = 0.1, k1 = 0.5, k2 = 50.0, K = 0.1, Fiber Angle = 29.0, Number of Families = 2
- 截面和指派: 创建固体均质截面,并指派给圆柱体。
- 局部材料方向:· 创建一个圆柱坐标系。· Assign Material Orientation: 选择整个部件,CSYS选择创建的圆柱坐标系。· 指定Additional Rotation Angle为0,确保局部1方向(材料方向)是周向。
- 装配: 将实例放入装配体。
- 分析步:· Create Step: Static, General; Nlgeom: ON.· Incrementation: 设置初始增量步为0.01,最小1e-5,最大0.1。
- 相互作用: 无(自接触复杂,本例暂不考虑)。
- 载荷与边界条件:· BC: 固定血管一端的所有自由度(ENCASRE)。· Load: 在血管内表面施加逐渐增大的压力(Pressure),例如从0到20 kPa(150 mmHg)。
- 网格:· 为部件播种,使用结构化网格技术划分。· 单元类型: C3D8H。
- 作业: 创建作业,提交并运行。
- 后处理:· 查看Mises应力云图,观察应力集中区域。· 查看位移云图,观察血管的扩张变形。· 使用Path工具,绘制沿血管壁厚方向的应力分布。
四、 常见问题与调试建议
- 收敛性问题(最常见):· 原因: 材料极度非线性,纤维部分exp(k2 * ...)在应变较大时数值爆炸式增长,导致刚度矩阵剧烈变化。· 解决方法:· 减小初始增量步大小。· 使用自动稳定(Automatic Stabilization) 或粘性正则化(Viscous Regularization) 来帮助收敛(在Step模块中设置)。· 尝试不同的求解器控制(Solver controls),如将Line search设为ON。
- 参数获取困难:· Holee模型的参数(μ, k1, k2, κ)需要通过实验数据(如单轴、双轴拉伸试验) 进行拟合来确定。这是一个反问题(Inverse Problem)。可以使用像FEBio(内置优化器)或自己编写优化脚本(如用Python scipy)来拟合Abaqus模拟结果与实验数据。
- 局部材料方向设置错误:· 这是导致结果完全错误的一个常见原因。务必仔细检查你定义的局部坐标系方向是否与期望的纤维方向匹配。可以使用Visualization模块中的View -> ODB Display Options -> Material Orientations来可视化渲染后的材料方向。
- 单元选择不当导致的锁死(Locking):· 务必为3D分析选择杂交元(H元素),以避免体积锁死。2D分析也建议使用相应的杂交元。
- 纤维不受力:· 检查你的载荷工况是否确实使纤维方向受拉(I4 > 1)。如果载荷太小或方向不对,纤维可能处于松弛状态,整个响应会由基质的Neo-Hookean部分主导。


雷达卡




京公网安备 11010802022788号







