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

神工坊2.0平台依托国产超算太湖之光,利用SALOME平台二次开发,解决了传统仿真设计流程中软件授权成本高、硬件部署昂贵、工程师门槛高等问题。平台提供CAD建模、网格划分、结果可视化等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于国产的“神威·太湖之光”,国家超级计算无锡中心发布了“无锡超算云平台”,将打造世界一流的超算技术与产业发展深度融合的高性能计算应用生态圈。现已升级为“神工坊”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

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

在核电厂安全评估中,Code_Aster处理热-流-固耦合问题的能力是其核心优势之一。热-流-固耦合是指结构在受到温度变化、流体流动和机械应力共同作用时的响应,这一过程对于评估核电设备如反应堆的压力容器、热交换器和蒸汽发生器等的安全性至关重要。Code_Aster利用其强大的有限元分析功能,可以模拟这些复杂条件下的物理现象,为核电厂提供精确的安全评估。 参考资源链接:[Code_Aster:核工业热力学仿真软件的历程与特点](https://wenku.csdn.net/doc/771isoama1?spm=1055.2569.3001.10343) 在二次开发方面,Code_Aster提供了开源的代码库,允许用户根据自身的需求进行定制和功能扩展。二次开发的能力不仅限于改进计算模型和算法,还包括对用户界面的优化,以提升用户体验。用户可以通过修改源代码来增加特定的材料模型、改善分析步骤,或者整合新的求解器和算法,以适应特定的工程挑战。 集成的前处理和后处理工具Salome_Meca,为用户提供了直观的操作界面。通过AsterStudy这个图形化工具,用户可以方便地建立仿真模型,执行求解,并对结果进行深入分析。AsterStudy的设计让非专业的工程师也能够快速上手,进行复杂仿真任务。它的集成环境支持用户从几何建模到结果可视化的一站式处理,极大地提升了仿真工作的效率和准确性。 Salome_Meca的前处理功能包括几何建模、网格划分、边界条件和加载定义等,为模型的准确构建提供了丰富的工具集。后处理工具则能提供详尽的分析结果,包括位移、应力、温度分布等,这些结果对于评估核电设备的安全性是必不可少的。 总之,Code_Aster不仅是一个功能强大的仿真工具,其开放性和二次开发能力也允许行业专家进行深度定制,而Salome_Meca的前处理和后处理功能则极大地方便了仿真工作的进行。这些特点共同确保了Code_Aster在核电厂安全评估中的关键作用。为了更深入了解Code_Aster的应用和开发,建议参考《Code_Aster:核工业热力学仿真软件的历程与特点》。这本书详细介绍了Code_Aster的发展历程、核心特点及在核工业的应用案例,是学习和深化Code_Aster知识不可或缺的资源。 参考资源链接:[Code_Aster:核工业热力学仿真软件的历程与特点](https://wenku.csdn.net/doc/771isoama1?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值