上一篇文章我们已经成功安装了Salome_Meca,这篇就来为大家讲解如何使用它。

1 SALOME工作流程概览

作为一个仿真工具集成平台,SALOME集成了各类模块组件帮助我们完成从几何建立、网格划分、参数配置、求解计算到结果处理的整个流程。

之前也提到了  Salome_Meca = SALOME + Code_Aster

Code_Aster正是以AsterStudy模块的形式作为计算环节的求解器来使用。

2 Salome_Meca界面

2.1 基础操作

  • New – 新建一个Study
  • Open – 打开已保存过的 Study(.hdf文件)
  • Save - 存储目前操作的Study(.hdf文件)
  • Dump Study – 导出记录到目前为止所有操作的Python脚本
  • Load Script – 导入Python脚本以重现当前状态
  • Import – 导入几何/网格文件
  • Export – 导出几何/网格文件
  • Preferences –界面偏好设置

2.2 模块组件

基本功能模块包括:

  • 网格预处理模块
  • 材料模型模块
  • 前处理模块
  • 求解器模块
  • 后处理模块
  • 输出模块
  • 疲劳与断裂分析模块
  • Job监控平台

(1)AsterStudy

  • 为Code_Aster命令文件编写提供可视化界面
  • 管理Code_Aster计算
  • Code_Aster计算结果的便捷后处理显示功能

(2)Geometry/Shaper

创建或导入3D设计

  • 交互式CAD建模或使用脚本一键生成
  • 导入/修复/清除外部导入的模型

(3)Mesh(即SMESH)

丰富的网格生成算法

  • 标准开源网格生成函数
  • 集成商业算法组件MeshGems系列(DISTENE)

为计算准备几何模型

  • 为求解器的设置定义几何区域
  • 网格局部加密功能

(4)ParaViS

基于ParaView开源软件,定制开发后嵌入SALOME平台,作为2D&3D网格和计算结果的可视化展示,视频制作,统计数据和图表显示等的后处理工具。

(5)Fields

MED格式定义的物理场展示和处理模块

(6)YACS

计算流程定义/管理模块

(7)JobManager

  • 指定分布式计算资源
  • 创建/启动工作,跟踪计算进程

(8)Homard

网格加密/变粗自适应模块

(9)HexaBlock

几何划分为六面体块,生成结构化六面体网格

(10)OpenTURNS

定义并进行不确定分析/统计学研究

(11)ADAO

数据同化模块

(12)Eficas

求解器配置文件编辑器

2.3 帮助文档

3 使用流程

3.1 创建几何——GEOM几何模块

支持交互式CAD建模或使用脚本一键生成,具备以下功能:

  • 创建/修改几何
  • 导入/导出几何
  • 清除/修复几何

支持多种输入/输出格式: STEP; XAO; IGES; BREP; STL; VTK(export)……

3.2 网格划分——MESH网格模块

(1)2D网格生成算法涵盖:

  • 2D Tetrahedral mesh algorithms

       >> NETGEN 2D,NETGEN 1D2D,MEFISTO

       >> MeshGems-CADSurf/BLSurf (commercial)

  • 2D Quadrangular meshing algorithms

       >> Mapping

(2)3D网格生成算法涵盖:

  • 3D Tetrahedral mesh algorithms

       >> NETGEN 3D,NETGEN 1D2D3D

       >> MeshGems-Tetra /GHS3D (commercial)

  • 3D Hexahedral mesh algorithms

       >> I,J,K

       >> MeshGems-Hexa/Hexotic (commercial)

  • 3D Body Fitting algorithm

(3)支持网格质量控制指标计算

  • Free borders
  • Length 1D, 2D
  • Free edges
  • Area
  • Taper
  • Aspect ratio 2D/3D
  • Minimal angle
  • Warping
  • Skew angle

(4)支持导入导出多种网格

  • med(耦合数据交换专用)
  • unv
  • stl
  • sauv
  • gmf
  • cgns

(5)支持网格修复和优化功能

  • Add/Delete/Move elements
  • Union of 2 or more triangles
  • Cutting of quadrangles
  • Orientation change
  • Transformations:

       >> Translation, rotation, symmetry

       >> Sewing, merges nodes, smoothing

       >> Extrusion along a path

       >> Revolution

3.3 Code_Aster设置

Code_Aster的使用方法是面向文件的

3.3.1 基本设置流程

(1)模型定义

  • 单元类型设置
  • 材料属性设置
  • 边界条件与载荷设置

(2)计算设置

  • 求解分析设置

(3)结果处理

  • 物理场设置
  • 结果提取设置

3.3.2 命令规则

Code_Aster的语法兼容Python语法

(1)Operator:生成对象

(2)Procedure:不生成对象

对象可作为后续命令的参数

3.3.3 命令文件(.comm文件)

# 从网格文件读取
mesh=LIRE_MAILLAGE(FORMAT='MED')


# 设置模型类型
model=AFFE_MODELE(MAILLAGE=mesh,
                  AFFE=_F(TOUT='OUI',
                  PHENOMENE='MECANIQUE',
                  MODELISATION='AXIS',),)


# 定义材料属性
steel=DEFI_MATERIAU(ELAS=_F(E=2.1E11,
                            NU=0.3,),)


# 分配材料至网格
mater=AFFE_MATERIAU(MAILLAGE=mesh,
                    AFFE=_F(TOUT='OUI',
                            MATER=steel,),)


# 定义边界条件
bc=AFFE_CHAR_MECA(MODELE=model,
                  FACE_IMPO=_F(GROUP_MA='LAB',
                               DY=0,),)


# 定义函数(例如用于施加随空间变化的载荷)
f_y=DEFI_FONCTION(NOM_PARA='Y', VALE=(0.,200000.,4.,0.,),)


# 定义载荷
load=AFFE_CHAR_MECA_F(MODELE=model,  
                      PRES_REP=_F(GROUP_MA='LDA',
                                  PRES=f_y,),)


# 线弹性静力分析
result=MECA_STATIQUE(MODELE=model,
                     CHAM_MATER=mater,
                     EXCIT=(_F(CHARGE=load,),
                            _F(CHARGE=bc,),),)


# 计算单元结点应力场
result=CALC_CHAMP(reuse=result, RESULTAT=result,
                  CONTRAINTE='SIGM_ELNO')


# 输出结果文件
IMPR_RESU(FORMAT='MED', RESU=_F(RESULTAT=result))

>> 特殊命令:

(1)DEBUT

开始执行,忽略之前的命令

(2)POURSUITE

复用上一个计算步结果

(3)FIN

  • 计算结束,忽略之后的命令
  • 关闭计算过程中的信息:网格文件,中间数据,计算结果等

>> 网格信息:

包含结点Nodes、单元Cells、单元组GROUP_MA、结点组GROUP_NO:

3.4 AsterStudy模块

3.4.1 功能简介

AsterStudy为Code_Aster命令文件编写提供了友好的可视化界面,能够管理Code_Aster相关文件直接从SMESH模块关联网格,并提供命令文件与网格显示的交互,能够管理Code_Aster计算并为计算结果提供便捷后处理显示功能

3.4.2 命令编写

也可通过右键菜单的Text Mode进入文本模式:

3.4.3 网格交互

3.4.4 计算管理

3.4.5 结果可视化

4 SALOME的行业定制化应用

除了以上介绍的Salome_Meca,SALOME框架集成Code_Aster、Code_Saturne、TELEMAC-MASCARET等各类求解器已衍生出了针对不同行业的定制化平台,如SALOME_CFD(流体力学仿真)、SALOME_HYDRO(水动力学仿真)、PANTHERE V2(辐射防护数值模拟),还可以结合OpenTURNS实现乏燃料存储管理、通过YACS模块实现中子物理-热工水力耦合计算以及结合Code_CARMEL3D成为电磁无损探伤算法验证工具等等,具有极大的可扩展性。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐