今天给大家分享一篇近期的研究工作:
《Design and implementation of a textile meso-scale geometry modeling module within an open-source FEM platform (OPFEM)》
这也是木木最近发表的一篇文章~
自去年九月份来到了宁夏大学胡衡教授团队,木木在黄威老师的指导下,围绕纤维增强复合材料细观建模问题开展了一系列研究工作。
本篇文章主要聚焦于:
通过将几何建模、算法设计与软件架构相结合,构建了一个可扩展的织物细观建模模块,为后续的有限元分析提供基础支撑。
特别感谢
在整个研究过程中,黄威老师在思路把握和技术细节上都给予了很多指导和帮助,在此表示诚挚的感谢。
接下来让木木为大家介绍一下这篇文章吧~
纤维增强复合材料的重要性就不用过多介绍了,要准确分析这类材料的力学行为,离不开对其细观结构的精确建模,把纱线怎么交织、怎么排列、形状是什么样的,都精准地还原出来。
目前学界已有 TexGen、WiseTex 等成熟的细观建模工具,但它们大多诞生于2000年代初,软件架构设计方面的关注相对有限。随着建模需求越来越复杂,软件的可扩展性和可维护性就成了一个真实的瓶颈。
本文的出发点正是在这里:不只是做建模算法,更要把软件架构做好。
本工作在开源有限元平台 OPFEM (我们团队的工作,不久后将正式开源在GitHub社区)的基础上,开发了一个专用的织物细观几何建模模块。整个模块采用三层架构设计:
这种设计的好处在于:各层职责明确,模块之间低耦合,后续增加新的织物类型或建模算法时,不需要大幅改动已有代码。
上面所述的架构设计内容,可能猛一听感觉专业性太强,不过不要紧,木木现在正在学习软件架构设计,目的就是如何设计出一款用户交互界面友好、可维护性强的CAE软件,后面也会把这些学习过程中的一些理解和经验,慢慢分享给大家,一起交流。
第一步:拓扑层
用户首先定义编织模式(WovenPattern),本质上是一个二维网格,每个格点记录了纱线从上到下的叠层顺序。例如,某格点的叠层序列是 [6, 1, 2, 3, 4, 5],就说明纱线6在最上层,其余依次向下。
基于这张"拓扑表",系统为每根纱线生成其拓扑路径,再将拓扑信息映射到三维空间中的控制节点,用于后续路径的生成。
第二步:路径层
有了控制节点,路径层用自然三次样条插值拟合出纱线的中心线曲线。
第三步:截面层
沿路径方向,在每个主控节点处定义截面(支持椭圆、圆形、菱形、矩形及自定义形状),并通过插值将截面属性连续传播到路径上的采样点。每个截面都建立了局部正交坐标系,确保截面始终与路径切线垂直,避免三维空间中的扭转变形。
第四步:几何层——生成三维实体,并智能缓存
最终,几何层将截面按照路径进行放置,通过放样操作生成三维纱线实体。
整个织物结构则通过平移复 制进行周期性扩展,高效生成完整模型。
在真实织物中,经纬纱交织区域往往存在明显的厚度压缩,导致建模时纱线实体之间出现几何穿透。这在物理上是不合理的,也会使后续有限元计算出错。
本文提出了一种基于几何交线提取+切割曲面构建+布尔分割的处理方法:先计算两个相互穿透的纱线实体之间的交线,再以该交线为边界构造切割面,最后通过布尔运算将穿透区域切开、重新拼合,恢复物理上合理的接触关系。
从最简单的两根纤维束的相交问题开始,扩展至单胞体内纤维束的相交,最后再到多层织物的嵌套。
由于篇幅原因,具体相关的描述就不在这里展开了,可直接阅读论文中的相关章节。
几何模型建完之后,模块内置了结构化网格生成功能。具体做法是:在纱线截面上生成四边形+三角形混合的平面网格,再沿路径方向逐层拉伸,得到六面体+三棱柱混合的三维有限元网格。
网格的层数和截面方向的离散点数可根据目标单元尺寸自动确定,保证单元形状质量。
这篇工作是在开源有限元平台 OPFEM 上,以"软件架构优先"为理念,构建了一个分层解耦、可扩展的织物细观几何建模模块,覆盖了从编织拓扑定义到三维网格生成的完整流程。
欢迎感兴趣的同学留言交流,也欢迎关注后续的更新!
如果这项工作对你有所帮助,欢迎在后续研究中引用,也算是对木木和团队工作的一个支持:
这里也简单介绍一下本文发表的期刊Composites Part C: Open Access。
该期刊是 Elsevier 旗下复合材料领域的重要期刊之一,同时也是 Composites Part A、Part B 以及 Composite Structures 的姊妹刊,主要关注复合材料结构、多功能复合材料以及可持续复合材料等方向的研究工作 。
从影响力来看,该期刊近年来发展较快,目前影响因子为 7.0,并且呈现出持续上升趋势,在复合材料与力学相关领域中具有较强的学术影响力 。根据2026年的中科院分区(新锐分区),该期刊属于大类二区。
木木目前在宁夏大学胡衡教授课题组学习与开展研究工作,课题组目前主要围绕以下几个方向展开:
整体来看,既有工程应用导向的问题,也有偏前沿的交叉研究方向,对想做科研、写代码、搞算法的小伙伴来说还是很有意思的。