首页/文章/ 详情

工程仿真软件中的网格4:节点重新编号

13天前浏览199

有限元网格划分后,还可以对节点进行重新编号。这种重新编号,不改动几何坐标,只是改变节点数组的存储顺序。从而改变有限元大型稀疏矩阵的节点编号,可以优化稀疏矩阵非零元分布、带宽、轮廓、和缓存命中率,从而降低矩阵带宽,减少内存与求解时间。节点重新编号不会改变仿真计算结果,但是可以提升有限元计算效率。


本文从实际开发与应用的角度,讨论常用的两种节点重编号算法:Reverse Cuthill McKee(RCM)和Hilbert空间填充曲线算法。两种方法各有优点,适用于不同类型的矩阵计算,两种方法的特征与优点如下表所示。

算法名

Reverse Cuthill McKee

Hilbert

输入信息

拓扑连通性,不需要坐标

XYZ 几何坐标,不使用单元连通

优化目标

最小矩阵带宽 /profile

空间局部性、CPU/GPU 缓存

适用求解器

直接稀疏求解器 (SPARSELU,MUMPS)

迭代求解器 (CG,GMRES),GPU FE

多分离部件

表现稳健

部件相距远时效果退化

计算开销

BFS 图遍历,中等

坐标变换 + 大数组排序,通常更快

矩阵带宽

优秀

一般,经常更大

空间局部性

无保证

优秀


Reverse Cuthill McKee算法

RCM是一种经典的图重排序算法,用于有限元节点重编号后,可以减小刚度矩阵带宽(bandwidth) / 轮廓 (profile),即让非零元素尽量靠近主对角线,降低求解内存开销,优化直接稀疏求解器性能。算法只使用纯拓扑的网格连通关系,不使用几何空间坐标,纯图论算法,因此几何邻近的节点在重排以后,编号不一定邻近。

RCM具体算法流程如下:

1. 收集参与重编号的节点,构建节点 顶点邻接图(graph)。

2. 寻找伪外围节点 (pseudo peripheral node)。图上距离最远的一对作为起点,减少最终带宽。作为广度优先搜索(BFS)遍历起点。

3. 执行 Cuthill McKee BFS 分层遍历,得到编号序列。

4. Reverse 反转序列,得到 RCM 编号。

在实际开发RCM算法时,有一些细节,如

• 只对实体网格节点做图,跳过孤立节点。图是无向图,图边代表两个顶点共同属于至少一个单元。对图做连通分量分解,当模型有多个互不相连部件时,每个连通分量独立处理。

• 伪外围节点的寻找使用多次 BFS 迭代,不是严格的全图直径,而是使用工程近似方法,可以提升搜索遍历效率。

• RCM也适合用于四面体、六面体混合网格。对连通性好的连续体网格效果最好。对高度不连通、多分离部件模型,效果退化。

Hilbert空间填充曲线算法

使用Hilbert空间填充曲线对节点排序,可以使几何空间上邻近的节点在内存编号上变得接近,从而达到优化稀疏矩阵的目的,尤其是优化 CPU的L1/L2缓存命中率和内存带宽,对迭代求解器和大规模非结构网格收益明显。Hilbert方法内存开销小,不需要构建庞大的顶点邻接图,只存节点的指针,额外内存只有递归栈。

Hilbert具体算法流程如下:

1. 获取模型全部网格节点,提取每个节点的坐标 (x,y,z)。

2. 计算整个网格模型的全局包围盒 (bounding box),对于多部件模型,也可以直接放在同一个 Hilbert空间下。

3. 三维 Hilbert 曲线把单位立方体 [0,1]^3分成 2^3=8 个子立方体,曲线依次穿过这 8 个子立方体。同时,通过八叉树递归算法来实现节点的排序,无需使用额外的Hilbert 整数键值,而是直接在递归过程中用分区重排数组。

4. 生成置换数组,执行全局顶点与连通表重映射,后续流程和RCM 一致。

值得注意的是,这个算法并不生成显式的 64/128 位 Hilbert 整数索引,而是采用原地八叉树递归划分和格雷码变换,原地对顶点指针数组排序,避免大整数溢出问题。Hilbert法不优化矩阵带宽;生成的矩阵带宽经常比 RCMK 更大;直接求解器性能通常不如 RCM。

总结

本文讨论了两种常见的对网格节点重新排序的方法,网格节点重排序不改变有限元数学解,不改变单元 ID、面 ID,也不改变节点坐标,只是通过改变存储顺序提升求解效率,仿真结果完全等同。

这两种方法在选用时,可以根据后续的求解器来选择,直接求解器使用RCM方法,迭代求解器使用Hilbert方法。也可以根据是否多体模型来选择,模型包含大量空间分离独立零件,优先 RCM,如果坚持用 Hilbert,建议按物理实体分片处理。

网格重编号的算法的具体实现并不唯一,只要能够高效且正确地重新编号,并提升求解器效率,就是优异的算法。

来源:WELSIM
WELSIMUM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-09-05
最近编辑:13天前
WELSIM
一枚搞仿真的老员工
获赞 27粉丝 88文章 272课程 0
点赞
收藏
作者推荐

超弹模型曲线拟合中的参数范围

在有限元分析中,有大量需要进行曲线拟合的工作。尤其是在材料领域,当工程师们只有一些材料的离散的测试数据,在给定数值模型后,需要通过对材料实验数据的曲线拟合,才能确定模型中的参数。常见的曲线参数拟合有,超弹材料,塑性材料,粘性材料,和磁芯损耗材料等等。和其他类型的曲线拟合不同的是,这些有限元材料模型的曲线拟合不仅需要误差小,同时要求拟合出的参数物理性正确,而且在后续的非线性有限元计算中,这些参数还需要易于收敛。因此对参数拟合的算法和细节,提出了比较高的要求。很少有文章讨论超弹模型参数的取值范围,初始值设定,以及参数值的合理范围。而这些都是开发超弹模型曲线拟合,验证拟合参数合理性的关键。本文从开发的角度,讨论如何更好地实现超弹材料模型的曲线拟合。尤其是参数边界和初始值的设定,以及合理的参数应该符合怎样特征。由于超弹模型众多,每种超弹模型还有会根据阶数的不同,有多种形式。为了避免混淆,本文按章节分别描述每种超弹模型的计算细节。1. neo-Hookean将neo-Hookean作为第一个讨论的模型,是因为neo-Hookean是最经典、最简单的超弹模型之一。很多其他模型,可以在某种特殊参数下, 简化为neo-Hookean模型。其应变能密度函数 W的表达式为其中μ是剪切模量。 在曲线拟合计算时,要求剪切模量必须大于零,即μ>0。初始值设置为μ0=E/3,杨氏模量E可以从应力-应变曲线在原点附近(应变 < 5%)的斜率获得。参数拟合后,可以查验是否符合真实物理,可以参考以下常见超弹材料与μ的近似对应关系。材料类型剪切模量 μ (MPa)极软橡胶0.3 ~ 0.5中等硬度橡胶1.0 ~ 1.5硬橡胶 3.0 ~ 5.0生物软组织0.01 ~ 0.1如果拟合出的 参数μ与单轴拉伸数据差异很大,说明材料可能表现出明显的第二应变能不变量效应,此时应改用 Mooney-Rivlin 或其他模型。2. Mooney-RivlinMooney-Rivlin也是在工程分析中最常用的超弹模型之一。是neo-Hookean模型的直接扩展。特点是形式简单且灵活,如果说 neo-Hookean 是超弹界的“入门款”,那么Mooney-Rivlin就是处理中低度变形(100%-200%应变)的“标准款”。 由于其数学形式简单且线性相关于材料常数,在有限元分析(FEA)计算中容易收敛。 根据阶数的不同,Mooney-Rivlin有几种不同的形式,含有不同数量的参数,其中最高阶的9参数模型最为复杂,本节就以九参数Mooney-Rivlin模型为例,讨论参数的范围与初始值设置。其应变能密度函数W也包含了从一次项到三次项的所有组合:物理上要求剪切模量μ>0。因此有μ=2(C10+C01)>0,实际计算时最稳妥的约束:C10>0 且C01>=0。在许多橡胶材料中,C10是主导项,而 C01较小。C11 通常也为正值。三阶参数C30>=0。C03, C21, C12可以捕捉极大变形(应变 > 400%)时的急剧硬化。一般比一阶参数小 3-4 个数量级。关于初始条件,C10=0.9*(μ0/2),C01 = 0.1*(μ0/2),初始剪切模量 μ0=E/3。C11,C20,C02,C30, C21的初始值往往选择一个很小的值,取C10的0.1%。C12和C03的初始值可以设为零。对于大多数合成橡胶(如 NBR, EPDM, 氯丁橡胶),参数大致遵循以下数量级规律:阶数分类参数符号典型取值范围一阶 (线性项)C10, C010.1~2.0二阶 (过渡项)C20, C11, C02-0.2~0.2三阶 (硬化项)C30, C21, C12, C03-0.05~0.1Mooney-Rivin也有一定局限性。当橡胶拉伸到极限(分子链拉直)时,应力会急剧上升(即上翘现象)。Mooney-Rivlin 无法模拟这种高应变下的硬化。如果需要模拟极大的变形(应变 > 300%),建议使用 Ogden 或 Gent 模型。同时,如果实验数据不够全面,建议退而求其次使用参数更少、更鲁棒的模型,如Yoeh模型或5 参数 Mooney-Rivlin模型。3. YeohYeoh 超弹模型以其简洁性和稳定性著称,舍弃了受实验误差干扰较大的第二不变量 I2(即 C01 等项),仅保留第一不变量 I1,因此在拟合大变形数据时比 Mooney-Rivlin 模型更加稳健。应变能密度函数 W如下常用的Yeoh模型有1-3阶,对应1-3参数。拟合计算时,需要C10>0。如果 C10<= 0,材料将失去抗剪切能力,导致模拟计算立即崩溃。 C20 通常为负,且绝对值不会太大。拟合计算时,可以控制其绝对值大于在C10的1%。C30 为正值,用于捕捉末端硬化 。初始值设置也相对简单,C10的初始值为E/6,杨氏模量E是测试数据在小变型时的斜率。C20=-0.1*C10, C30=0.01*C10。常见材料的Yeoh模型的参数如下:材料类型/硬度C10 (MPa)C20 (MPa)C30 (MPa)特征描述超软硅胶/凝胶0.01~0.1-0.001~-0.010.0001~0.01初始模量极低,硬化发生很晚。天然橡胶 (40A-50A)0.2~0.5-0.02~-0.10.01~0.05延展性好,曲线中段有明显的平缓区。工业级橡胶 (60A-70A)0.6~1.2-0.1~-0.50.1~0.5刚度中等,常用于轮胎侧壁或密封圈。高硬度弹性体 (80A+)1.5~5.0-0.5~-2.00.5~2.0硬化发生极早,曲线陡峭。4. 多项式多项式超弹模型是也一种基于应变能密度函数 W 对不变量 I1 和 I2 进行幂级数展开的模型。 它是超弹性理论中应用最广泛的框架之一,许多模型(如 Mooney-Rivlin, Yeoh, Neo-Hookean)本质上都是它的特殊形式。 其通用的应变能密度函数 W表示为: N是模型的阶数,常用的多项式模型有1-3阶,对应2,5和9参数模型。和Mooney-Rivlin模型一样,拟合计算时,需要保证C10 > 0, 同时保证C10 > |C01|。C30通常也要求为正数。且阶数越高,数值量级通常越小。对于超弹材料,合理的参数范围如下表所示。参数类别参数项典型范围 (MPa)物理行为说明基础模量C100.1~0.6主导中小变形刚度,通常为正值。剪切修正C010.01~0.1修正剪切行为,通常为正值。中段调节C20-0.05~0.05控制曲线中段的斜率变化,常为负值。大变形硬化C300.001~0.01控制极高应变下的上扬硬化,必须为正。耦合项C11, C02-0.01~0.01交叉影响 I1 和 I2通常接近于零。初始值的设定上,令C10=E/6。C20=-0.1*C10。C30=0.01*C10或更小,C30值虽小,但在高次方放大下对曲线末端影响很大。 5. Arruda-BoyceArruda-Boyce 模型(通常被称为“八链模型”)在超弹性材料仿真中非常独特。是基于统计力学(分子链网络理论)构建的。应变能密度函数 W表示为: 模型最大的特点就是对测试数据要求低,单轴数据足以起步:与需要多轴数据才能锁定的多项式模型不同,Arruda-Boyce 模型的参数具有明确物理定义,通常仅靠高质量的单轴拉伸数据就能获得相对准确的μ和λm。 初始剪切模量μ的取值范围很直接,必须大于 0,值限定在0.1~5MPa,常见橡胶材料参考值是0.5~1.5MPa之间。λm必须大于1,值通常限定在[1.1, 20]。如果λm太接近 1,模型会变得极其僵硬,导致数值计算极其不稳定。对于大多数工业橡胶,λm设定在 3.0 到 7.0 之间通常能覆盖绝大多数工况。 初始值的确定也很直接,令μ=E/3。λm=5是一个稳健的起点。通常情况下,Arruda-Boyce 参数对于橡胶材料有如下对应关系:材料 μ (MPa)λm软橡胶 (Shore 30A – 40A)0.3~0.65.0~8.0中等硬度 (Shore 50A – 60A)1.0~2.53.0~5.0硬橡胶 (Shore 70A – 80A)3.0~8.01.5~2.56. Blatz-KoBlatz-Ko模型是一种形式简单的用于模拟泡沫和多孔材料的模型。最常用的形式仅包含一个参数:剪切模量μ。 和其他超弹模型一样,剪切模量必须要大于零。泊松比ν是固定的: 该模型的一个理论特性是其有效泊松比被锁定在 0.25 左右。这意味着假设材料在受压时体积会显著缩小,而不是像普通橡胶那样向四周扩张。如果材料是实心橡胶(泊松比接近 0.5,不可压缩),则不要使用 Blatz-Ko 模型。Blatz-Ko 模型只要确保剪切模量μ是正值,即μ>0且该材料确实是可压缩的泡沫类材料,拟合通常非常直接。 由于泊松比ν通常被固定为0.25。根据线弹性转换关系:μ = E/2(1+ν) = E/2.5 = 0.4E。初始值可以设定为0.4E。材料类型μ取值范围(MPa)说明超轻质聚氨酯泡沫0.05~0.5 密度极低,极易压缩变形。中等密度发泡橡胶0.5~2.0常见的减震垫、包装防护材料。高硬度闭孔泡沫2.0~10.0 结构支撑用泡沫,刚度较高。实心可压缩橡胶10.0+某些含气泡的特殊合成橡胶。7. GentGent 模型是一种基于物理意义的超弹性模型,它与 Arruda-Boyce 模型非常相似现象。 该模型最大的优势在于形式简单,仅通过两个常数就能很好地捕捉聚合物链达到极限拉伸长度时的非线性行为。Gent 模型的数学形式是对数函数,拟合计算的开销比 Arruda-Boyce 模型要小。Gent 模型只有两个核心参数:μ(初始剪切模量) 和Jm(极限不变量)。其应变能密度函数定义为: 参数μ必须严格大于 0。 Jm必须严格大于 I1-3 的最大测量值。 如果 Jm 太小,导致 (I1-3)/Jm <= 1,对数函数ln 会失去意义,计算会报错。剪切模量μ的初始值确定比较简单,μ=E/3。Jm 在数学上定义了第一不变量I1-3的上限,所以初始值必须略大于实验中观测到的最大变形所对应的不变量值。找到实验数据中最大的伸长率λ_max,计算最大变形对应的I1,注意这里I1的计算,根据实验类型的不同,公式稍有不同。Jm初始值定为1.2 * (I1_max – 3)。不同硬度材料的经验参数参考如下:材料硬度/类型剪切模量μ(MPa)极限常数Jm说明超软凝胶 / 软组织0.01~0.150~150极易拉伸,极晚进入硬化阶段。天然橡胶 (40A)0.3~0.630~80延展性极佳,硬化点较高。工业橡胶 (60A)1.0~2.010~25刚度中等,拉伸 3-4 倍后迅速硬化。高硬度弹性体 (80A)3.0~7.02~8极短距离内即发生硬化,脆性增加。8. OgdenOgden超弹模型是目前最强大、最灵活的超弹性模型之一。Ogden 模型直接基于主拉伸比(Principal Stretches)λi来构建。 Ogden 模型的应变能密度函数,采用级数叠加形式,按阶数n展开,n代表模型阶数。 1 阶 Ogden:2 个参数,适合小变形、简单橡胶材料,计算效率最高。 2 阶 Ogden:4 个参数,兼顾精度与效率,是常规工业仿真的主流选择。 3 阶 Ogden:6 个参数,适合大变形、高非线性复杂弹性体,拟合精度最高。 在应变达到 700% 甚至更高的情况下,Ogden 模型依然能保持良好的预测能力。 Ogden模型参数较多,高阶版本需要单轴、纯剪切、等双轴等多组试验数据联合拟合,否则容易出现非物理解、过拟合。参数需要满足热力学稳定性约束,拟合时必须设置合理边界。如令μ1>|μ2|>|μ3|,1<α1<10,-10<α2<10, -15<α3<15。曲线拟合的初始值常做如下设置:α1=2, α2=2, α3=6, μ1=0.6*μ0, μ2=0.1*μ0, μ3=0.05*μ0, 其中初始剪切模量μ0=E/3。杨氏模量E通过低应变下的测试数据斜率得到。常见的Odgen超弹模型拟合出的经验数据如下:材料类型参数符号典型取值范围特征说明软橡胶 / 硅胶μ 0.01~0.5 MPa模量较小,曲线平缓。 α-10~10通常包含正负指数以拟合拉伸和压缩对称性。工业级硬橡胶α1.0~10.0 MPa刚度高,μ组合后的初始斜率大。 α1.5~20较大的正指数用于模拟大变形下的剧烈硬化。生物软组织μ0.001~0.1 MPa极软,对小变形高度敏感。 α10~50指数通常很大,以模拟纤维结缔组织的“锁死”效应。总结虽然曲线拟合有着比较成熟的数值计算方法,但是在有限元计算的材料参数拟合上,需要考虑诸多的物理因素,同时要保证拟合出的参数在后续有限元计算中易于收敛。很多时候,由于测试数据的缺乏,使得超弹材料的曲线拟合变得复杂,对开发者和使用者都有比较高的要求。超弹材料模型拟合所需的测试数据主要有,单轴拉伸,等双轴拉伸 ,和纯剪切变形数据。笔者在《超弹材料模型及其曲线拟合》一文已经有了详细描述。目前,WELSIM已经具备了准确拟合超弹模型曲线的功能,同时,独立运行的免费工程软件MatEditor和CurveFitter也具有以上曲线拟合功能。用户可以直接下载并使用。来源:WELSIM

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈