Hybrid Model Solver(HMSolver)是一个基于 python 的有限元模拟软件。Hybrid Model 指的是该软件不仅可以求解经典连续介质力学模型(Classical Continuum Model,CCM),近场动力学模型(Peridynamics,PD),也可以计算耦合模型(Hybrid Model,HM)。该软件可以处理均质材料、多孔材料和复合材料的弹性变形、损伤断裂问题。
HMSolver 的优势主要有以下两点:
- 外部 API 简单易读,底层设计明朗清晰。 对于一般的模拟问题,只需要编写 python 脚本描述清楚几何区域、材料性质、边界条件三部分即可进行模拟计算。对于复杂的材料和几何区域,可以直接加载 gmsh 生成好的网格,以方便后续计算。底层遵循惰性计算(Lazy Evaluation)原则进行设计,所有数据按需计算(call-by-need),从而减少了不必要的计算量。根据 python 的特性将数值计算流程分解为数据准备、高负载计算、后处理三步,同时借助第三方工具实现高负载计算过程的并行化,进一步提高数值模拟的计算效率,减少科研人员的等待时间。
- 开放接口,可扩展性强。 对于复杂问题或需要改进原有模型的情况,可以直接将软件提供的组件作为基类,直接扩展出应对不同功能的子类。一般而言,用户只需要编写自己关心的部分,绝大多数代码可以自动复用,无需二次编写开发,提升科研人员的开发效率,方便科研人员快速、稳健的检验自己的想法。
目前 HMSolver 实现的功能有:
问题 | CCM | PD | 耦合模型 |
---|---|---|---|
弹性变形(均质、复材) | √ | √ | √ |
损伤断裂(均质、复材) | √ | √ | √ |
边界修正(能量法) | - | √ | √ |
边界修正(边界层延拓法) | - | √ | √ |
边界修正(变邻域过渡法) | - | √ | √ |