仿真工作者必须知道的15款开源软件!
本文摘要(由AI生成):
文章主要介绍了开源软件的优势、特点和用途,以及一些常见的开源软件。开源软件具有使用成本低、安全、高质量、良好的定制化能力、生命周期较长等优势。常见的开源软件包括SALOME、OpenFOAM、SU2、FDS、code_Saturne、meshlab、OpenRadioss、FreeCAD、cfMesh、enGrid、Gmsh、TetGen、Calculix、Code_Aster和Gnuplot等。这些软件在工业数字化、仿真驱动创新、算力引领未来等方面发挥着重要作用。
正所谓「硬件是基建,软件生产力」,在软件正版化理念逐渐成为主流的当下,免费好用的「开源」软件也成了不少人的选择。对于个人用户来说,使用开源软件有如下优势:
(1)使用成本低。开源软件一般是免费的,围绕每一个软件所提供的技术支持也基本是免费的,即使开源软件带有许可费用,相对于商业软件来所花费较少。(2)安全、高质量。开源软件大多依靠开源社区来支持,一个开放源代码应用程序通常有数千人在为其进行开发,严重的问题通常被标记和快速固定,而小问题通常很快被解决。(3)良好的定制化能力。使用开源软件,用户可以根据自己业务所需的功能对软件进行修改。(4)生命周期较长。开源软件一般有较长的生命周期,直到它被更好的技术和产品代替,才会慢慢消亡。而商业软件的生命周期基本取决于商业公司。本着面向普通仿真工作者,以及「无需付费,也很好用」这一原则,我们挑选了15款仿真相关的开源软件分享给大家。
SALOME是一款由法国电力集团(EDF)、法国原子能和替代能源委员会(CEA)和Open CASCADE三方合作开发的开源工业仿真平台,包含仿真前处理和后处理所需的多种数值工具。SALOME仿真平台可以提供一套完整的解决方案,涵盖从原始输入数据导入、几何与网格模型建立、到计算结果可视化和后处理分析的一整套流程,在此过程中实现各个辅助性分析模块(如数据同化辅助模拟,不确定性分析,计算流程管理,计算资源定义等)与求解模块的实时数据交换和多物理场求解器耦合运行。
OpenFOAM 是一个计算流体动力学 (CFD) 软件包。它支持多面体网格,如 CD-adapco 公司推出的 CCM+ 生成的多面体网格,因而可以处理复杂的几何外形,其自带的snappyHexMesh可以快速高效的划分六面体+多面体网格,网格质量高,支持大规模并行计算。它提供了丰富的数值模拟方法和求解器,能够帮助用户解决各种复杂的流体力学问题。OpenFOAM 还提供了可扩展的架构和可编程的用户界面,使用者可以根据自己的需要定制和扩展软件功能。
SU2 是一款非结构网格开源求解器,支持并行计算、动网格和网格自适应功能。可进行从低速不可压流动到高超声速的计算,在航空航天领域取得广泛应用。它的设计考虑了计算流体动力学 (CFD) 和空气动力学形状优化,并且可扩展,因此可以处理其它控制方程组,如流体动力学、弹性动力学、电动力学、化学反应流等。
FDS是由美国国家标准技术局开发的火灾动力学模拟工具。该软件是基于计算流体力学(CFD)的一种数学模型,能够模拟火灾燃烧的能量驱动流体流动。FDS采用数值方法求解一组描述热驱动的低速流动的Navier-Stokes方程(粘性流体方程),重点是计算火灾中的烟气流动和热传递过程。
Code_Saturne是由EDF(法国电力集团)自主研发并发布的一款免费的计算流体力学(CFD)开源软件。基于有限体积方法,支持多种类型网格,通过求解纳维-斯托克斯方程,用于处理二维、二维对称、三维、稳态或非稳态、层流或湍流、不可压或微可压流体、等温或非等温等多种计算问题。软件涵盖大气模拟、煤粉、重质燃料及生物质的燃烧、电弧与焦耳效应、颗粒追踪、流体机械转子-定子互动等多种工业应用物理模块,在工业领域得到广泛的应用与认可。
MeshLab是一个开源、可移植和可扩展的三维几何处理系统,主要用于交互处理和非结构化编辑三维三角形网格,提供了一套用于编辑、清理、修复、检查、渲染、纹理和转换网格数据的工具,用于处理和编辑非结构化的大型 3D 三角网格。
OpenRadioss是Radioss求解器的开源版本,依托开源平台Github,允许全球的研究者、软件开发者和用户开放使用。OpenRadioss使用户能够快速对软件做出贡献和更改,以应对快速发展的技术带来的最新挑战。如电池开发、轻质材料和复合材料、人体模型和生物材料、自动驾驶和飞行、以及通过虚拟测试完成汽车乘员安全性分析等技术。
FreeCAD 是一个通用的3D CAD建模器,配备了FEA工具、实验CFD、 CAM/CNC工作台、机器人模拟模块等,基于LGPL许可对外发布。与大部分 CAD 建模器一样,它具备许多 2D 组件,以便绘制平面形状或创建生产图纸。此外,FreeCAD 大量使用科学计算开源库,其中包括功能强大的 CAD 内核 Open Cascade Technology (OCCT)、兼容 Open Inventor 的 3D 图形开发工具包 Coin3D、知名 UI 框架 Qt,以及脚本语言 Python。此外,FreeCAD 本身也可以被其他程序用作库。FreeCAD 使用 LGPL 许可,支持在 Linux、Unix、Windows 和 Mac OSX 系统上运行,在所有平台上具有相同的外观和功能。
cfmesh 网格功能非常强大,覆盖了生成流体网格所有要求,基于 GPL 许可分发。与传统的非结构化网格生成器不同的是,cfMesh 使用由内而外的方法来生成网格。它的优点在于不需要输入高质量的几何形状,且可以容忍较小的间隙、裂缝和突起。此外,cfMesh 自动化程度很高,可以适应复杂的几何形状,且可以在并行处理器上运行。
enGrid 是一款专门针对 CFD(计算流体动力学) 的网格生成软件,使用 GPL 对外发布。它使用 Netgen 库生成四面体网格以及棱柱体边界网格,并具有基于 Qt 的 GUI,目标是称为开源 CFD 社区的有用补充。目前,enGrid 具备 Blender、Gmsh 和 STL 文件的接口,并陆续新增了支持 OpenFOAM、SU2 本地导出的功能。
Gmsh是一个内置前后期处理机制的三维有限元网格生成器。其设计的目标是要提供一个快速轻便的具有可控参数功能和先进的可视化能力的网格生成工具。Gmsh主要围绕四个单元:几何,网格,求解和后处理。这些可控参数的输入可以在交互式的图形界面方式,或在ASCII文本文件中使用gmsh自己的脚本语言得以实现。TetGen 是一个 Delaunay(三角剖分) 四面体网格生成工具,提供各种功能来生成适用于数值方法(例如有限元或有限体积方法)的高质量和自适应四面体网格。它为三维点集生成 Delaunay 四面体、Voronoi 图和凸包(convex hull),为具有分段线性边界的三维域生成约束 Delaunay 四面体和高质量四面体网格。 TetGen 用 C++ 编写,它本质上是固定精度浮点数的任意精度浮点运算的快速实现,因此可以编译成从命令行调用的独立程序或与其他程序链接的库,支持 Unix、Linux、macOS、Windows 等主流操作系统。
下图分别展示了 TetGen 生成的三维多面体(左)、边界一致的 Delaunay 四面体网格(中)及其对偶 - Voronoi 分区图(右)。
CalculiX 是一款功能强大的有限元求解器,可以进行有限元建模、计算和后处理。前处理器和后处理器是使用 openGL API 的交互式 3D 工具,支持 Nastran、Abaqus、Ansys、ISAAC 和 OpenFOAM 等软件的求解器。求解器支持线性、非线性、静态、动态、热、流体解决方案,由于求解器使用 Abaqus 输入格式,所以也可以使用商业的前处理器。
Code Aster是一个基于有限元方法的力学求解器,可求解广泛的力学问题包括:3D热分析、线性和非线性静力学及动力学、机械、压力容器和土木结构的力学分析等。除了固体力学有限元软件的标准功能之外,Code Aster还能在各种领域进行一些特定的分析,如:疲劳、损伤、断裂、接触、岩土、多孔介质、多物理场耦合等。
Gnuplot是一个命令行的交互式绘图工具,主要使用命令行来绘制二维和三维图形以及数据处理,并支持多种格式输出。用户通过输入命令,可以逐步设置或修改绘图环境,并以图形描述数据或函数,使我们可以借由图形做更进一步的分析。它的功能是把数据资料和数学函数转换为容易观察的平面或立体的图形。它有两种工作方式,交互式方式和批处理方式,它可以让使用者很容易地读入外部的数据结果,在屏幕上显示图形,并且可以选择和修改图形的画法,明显地表现出数据的特性。(内容来源于网络)
十四五期间,工业数字化将是工业转型升级的主路线。“神工坊”秉持“仿真驱动创新,算力引领未来”的理念,争做“先进算力到仿真算能的转换器”和“离散机理和垂直仿真场景的连接器”,助力我国工程仿真技术实现跨越发展,支撑重大装备研制创新和工业设计研发数字化转型。
编辑 | 汪穗铃
审核 | 任虎