Salome平台介绍及二次开发案例

基于国产的“神威·太湖之光”,国家超级计算无锡中心发布了“无锡超算云平台”,将打造世界一流的超算技术与产业发展深度融合的高性能计算应用生态圈。现已升级为“神工坊”2.0平台,即将于2022年4月公测。在此基础上,向有需求的用户提供进一步的高性能仿真App定制化服务。

过去使用的传统仿真设计流程存在以下的问题:

1)仿真过程需要用到外国的商业前后处理软件、流固耦合求解器软件、数据管理软件,需要支付高昂的License费用。

2)仿真过程需要用到高性能计算硬件平台,自行部署同样需要高昂的成本。

3)仿真过程要求工程师掌握大量的理论知识,并具有工程经验的积累,具有较高的门槛,提高了人力成本。

针对以上问题,国家超级计算无锡中心先进制造部基于一系列开源代码进行了二次开发和自主研发。对于仿真APP流程开发上,主要是对SALOME平台进行了构建。接下来本文将首先简要介绍SALOME平台的概况,随后展示一个简单的二次开发案例

Salome平台介绍

SALOME是一款由法国电力集团(EDF)、法国原子能和替代能源委员会(CEA)和Open CASCADE三方合作开发的开源工业仿真平台SALOME平台为工程师、研究人员提供了一整套用于数值模拟整体流程的解决方案,包含:CAD、网格划分、多物理场耦合、计算监督、实时数据交互、结果可视化、不确定分析等高级模块。这些模块都有易于使用的GUI界面和直接调用的Python接口。开发用户可以根据实际模拟仿真的需要,组装现有的特定模块以及添加自定义模块用于构建仿真APP【1】。

目前SALOME平台已经更新到了9系列(截至2022/2/27,SALOME version 9.8.0已经发布)。下面简要介绍一下9系列的重要模块。

01 SHAPER

在SALOME9.3版本之后开始支持的新模块SHAPER是一个支持参数化的CAD建模器,允许用户以交互的方式绘制具有各种约束的草图,允许简单的3D零件装配。SHAPER 专为模拟 CAD 模型而开发:

 ◆ 形状设计致力于创建保形网格;

 ◆ 可以定义形状组,如果修改了几何形状,则会自动更新组;

 ◆ 可以进行多维几何的连接;非流形几何是可行的,例如由两个以上的面共享的边;

 ◆ 几何图形可以通过python脚本,即文本用户界面(TUI)进行设计。

02 SMESH

SMESH是 SALOME 的网格模块,它提供了广泛的网格划分算法,非常适用于有限元和有限体积方法。用户可以用组/标签将网格以不同的几何加以区分,这意味着可以区分网格的各种属性甚至网格的类型(六面体或四面体)。这些组/标签还可以识别边界以应用相应的边界条件。当然,这肯定有助于网格可视化和后处理操作。

关于网格划分算法,SMESH模块包含了:

◆ 自身网格工具,用于四边形、六面体、边界层网格等;

◆ 集成了开源网格划分工具:NETGEN和Gmsh;

◆ 拥有商用许可的商业网格划分工具MG-CADSurf、MG-Tetra、MG-Hybrid、MG-Hexa。

03 PARAVIS

后处理模块PARAVIS实际是强大的开源前后处理软件PARAVIEW。其分布式模式支持大规模的可视化任务。PARAVIS通过编写Python脚本,可在必要时创建批处理可视化或需要重复对可变参数运行的可视化任务。它可用于远程可视化集群,以交互方式分析大量结果。

Salome二次开发案例

基于SALOME的仿真APP开发依托于GUI模块或称为SUIT(SALOME User Interface Toolkit(SALOME用户界面工具包))。该模块通过SIP库及SWIG库,前者实际是PYQT开发商RiverBank开发的用于PYQT的Python/C++混合编程解决方案【2】。通过SIP生成的Python接口,使得开发者可以很方便地调用各个模块,实现根据实际模拟仿真的需要,组装现有的特定模块以及添加自定义模块用于构建仿真APP。

下面是一个简单的二次开发案例——桁架桥设计器【3】。使用到的SALOME原有模块:SHAPER、GEOM、SMESH、PARAVIS。使用的求解器是著名开源结构有限元软件Code-Aster。

该APP已经集成至“神工坊”2.0平台。图形界面通过GPU集群渲染,保证用户端流畅的图形操作;后台计算提交至超算高性能计算节点。

1. 注册并登陆神工坊2.0平台,选择“仿真计算”。

2. 双击TBridgeDesigner图标在弹出框中设置相应参数,点击“提交”。

 3. APP界面操作

打开APP是一个定制化的参数化建模界面,后台是GEOM和SHPAER模块的参数化建模脚本以及SMESH模块的自动划分网格脚本。在“总体设计”选项卡中输入几何参数,点击“确定”即可在左侧VTK viewer显示网格划分后的结果。“单元属性”、“材料属性”选项卡可设置不同几何部分的单元属性和材料属性。设置完成后点击“应用”更新

此外,为了方便用户交互查看、设置不同位置的单元参数,调用VTK-3D viewer显示接口,高亮显示不同位置的网格。

 点击“提交计算”,后台将通过调度器将作业提交至超算高性能计算节点。

 点击页面左侧标签页“Paraview后处理”直接切换至后处理界面后处理窗口通过后台PARAVIEW脚本操作与前端界面结合,实现了精简、可定制化的后处理显示。后处理窗口可根据需求定制多个,方便同时处理多种类型的结果以及结果之间的对比。

参考文献

[1] https://www.salome-platform.org/

[2] SALOME GUI Architecture

[3] http://cn.comsol.com/model/truss-bridge-designer-30831

了解更多干货,欢迎关注神工坊!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值