开源有限元软件code_aster/SALOME的安装和使用简明教程
Code_Aster 简介 Code_Aster 是由法国电力公司(EDF)研发的开源有限元分析软件,主要用于结构与热力学仿真。作为一款达到工业级标准的求解器,它具备极高的计算精度和可靠性,广泛应用于核能、土木及机械工程领域。其功能涵盖了静力学、动力学、非线性分析、疲劳断裂及流固耦合等复杂物理场景。Code_Aster 基于Python脚本进行操作,拥有丰富的单元类型和材料本构模型,是开源CAE领域中替代商业软件的强力选择。
SALOME 简介 SALOME 是一个开源的数值仿真集成平台,为有限元分析提供了完整的前后处理环境。它支持从CAD几何建模、参数化设计、网格划分到结果可视化的全流程操作。SALOME 具有优秀的兼容性,能够无缝对接Code_Aster、OpenFOAM等多种求解器,并通过统一的图形界面管理计算作业。其模块化的架构和强大的Python脚本接口,允许用户实现仿真流程的自动化与定制化,是进行Code_Aster仿真分析的标准图形界面工具。
引子:
最近扔掉Windows回归了Debian的怀抱,本打算安装一个abaqus来模拟各种结构玩。(本人专业是计算机和有限元八竿子打不着,后续有关专业的内容可能有误,请批判性阅读)但忽然想到,既然用来开源系统,那么不如尝试一下开源的有限元分析软件。
于是就在网上搜各种有限元分析软件,其中两个软件映入眼帘,CalculiX和code_aster。正所谓文无第一,武无第二。遇见两个同类型的软件,总是要比较一番的,于是我在网上搜索,搜出了这么几个帖子和文章。
https://forum.code-aster.org/public/d/25752-calculix-vs-code-aster
https://www.simscale.com/forum/t/fea-boundary-conditions-calculix-vs-codeaster/10449
帖子中提到CalculiX配置简单,安装方便,适合初学者,但在复杂场景的处理中稍弱(但帖子日期都是几年前了)开源软件几年变化就大有不同,所以不能以老眼光看待问题,但出于种种考虑我还是选择了code_aster。
有关CalculiX的使用见官网,此处也有一个介绍CalculiX的视频展示。相比较code_aster来说CalculiX更偏向于社区主导,印象中采用的是GPL协议?
https://www.bilibili.com/video/BV1JJsBznEzi
第一章 code_aster/SALOME安装
d由于我们的主要内容是介绍code_aster,所以有关CalculiX的部分就一笔带过。
code_aster只是其中的一个求解器,如果光用code_aster的话无疑十分难受,所以我们直接安装SALOME大礼包,前端后端网格处理等等,一股脑全打包了。
https://code-aster.org/spip.php?article303
安装包可以在上面这个链接中找到。

我们直接安装最新版,这是一个容器的格式。官网给出的教程说windows只能用wsl/wsl2运行一个Linux环境来跑。但看在文档给出的Debian8的案例来看,这个文档时间多少有些久远了。读者如果是使用windows操作系统的话,可以研究一下这个容器能不能在win上跑。
作者是用的Debian13.4的系统版本,所以直接安装容器就行。
- 什么是 Singularity? 是的,它就像 Docker。它是一个容器系统,在科学计算和高性能计算(HPC)中很流行,因为它能处理权限问题(不像 Docker 那样需要 root,这对集群来说不安全,当然现在也有不用root的版本)。
作者使用的Debian使用apt默认没有这玩意。据说这玩意发展途中还改名了。
以前的命令叫 singularity,现在新的标准命令叫 apptainer。但为了兼容,通常 singularity 命令也会自动链接到 apptainer。
但你要是sudo apt install singularity就搞笑了,因为这直接会安装一个同名的叫singularity的游戏(我试着玩了一下没玩明白)。
似乎Debian的软件仓库里默认没有这玩意。
我们只能去它的官网安装。
https://apptainer.org/docs/admin/main/installation.html

但是你直接wget他的实例可能是旧文件或者空,老老实实从github的发布页上来拉。
https://github.com/apptainer/apptainer/releases/
其中debug/dbg都是调试的意思,你可以看到调试信息,suid是临时通行证的意思,你可以问一下AI简单来说省事没那么多权限问题。
我是debian13 也就是 trixie 版,所以就下这个了。
把这个包拉下来dpkg就行,当然,安装前最好先念咒祈祷一下,以便不会遇到什么依赖问题。
APT神咒:终端Root,赛博之灵。 升达云端,大陆放行。 为吾安装,依赖莫停。 有功之日,机械飞升。
如果有依赖问题,请左转nix,nix值得你拥有。(所以我左转去了nix)
以下是nix安装的说明:
Nix 是一个非常强大的工具,特别适合你这种“系统想保持稳定,但特定软件要最新”的需求。它就像是在你的系统里装了一个独立的“应用商店”,里面的软件都是最新版,且完全不影响 Debian 本身。
以下是 Nix 在 Debian 上的具体操作步骤:
第一步:安装 Nix 包管理器
在 Debian 终端中,直接运行官方安装脚本:
sh <(curl -L https://nixos.org/nix/install) --daemon
- 说明:
--daemon模式是多用户模式,适合 Debian 这种多用户系统。安装过程会需要你确认几次,按提示输入y即可。- 耗时:安装很快,它主要是在你的系统里建立
/nix目录并配置环境变量。安装完成后,关闭当前终端并重新打开(或者执行
source /etc/profile),让环境变量生效。验证是否成功:
nix --version
第二步:找到你要的软件
Nix 拥有全世界最大的软件仓库之一。你需要先确认你要的软件在 Nix 里叫什么名字。
- 打开网页:https://search.nixos.org/
- 在搜索框输入你的软件名。
- 找到软件后,看 "Package name" 这一栏(比如
neovim,go,blender)。- 关键点:看 "Version" 一栏。Nix 的
unstable通道通常包含 GitHub 上最新发布的版本。默认安装的就是unstable通道,这正是你想要的。第三步:安装软件
假设你要安装的软件叫
hello(请替换成你实际要装的软件名)。方法 A:直接安装到系统(推荐)
这就像
apt install一样,把软件装好,你可以直接在终端运行。# 语法:nix-env -iA nixpkgs.软件名
nix-env -iA nixpkgs.hello
安装完成后,你可以直接运行:
hello
以后想更新这个软件到最新版,只需:
nix-env -u 软件名
方法 B:临时运行(最干净,不污染环境)
如果你不想安装,只是想临时用一下最新版,或者想测试一下版本对不对:
# 语法:nix-shell -p 软件名
nix-shell -p hello
执行后,你会进入一个特殊的 Shell 环境,在这个环境里
hello命令可用。输入exit退出后,系统里就没有这个软件了。第四步:日常使用和管理
- 查看已安装软件:
nix-env -q- 卸载软件:
nix-env -e 软件名- 彻底清理空间:Nix 不会自动删除旧版本,如果你磁盘空间紧张,定期运行:
nix-collect-garbage -d

配置好了,可以使了(忍不住吐槽一下Linux系的屎山,这种一层套一层的方案简直是在屎上拉屎,怪不得开发都转去用mac了。愿世间发行版能再少一点再少一点。)
现在我们按照教程给的方法测试。

虽然和abaqus的界面有点不像,用起来颇为不知所措,但至少它跑起来了不是吗?

可以看到生成了一个可执行的程序,我想或许把它移动到/usr/bin中也是可以用的。

好吧其实不不可以。

总之,至此,我们的软件算是安装完成了,接下来就是介绍一下如何使用了。
当然先让我摸索一会,未完待续。
第二章 SALOME的使用:
待写ing
急着看的可以直接阅读手册和yutube链接。
https://code-aster.org/docsmeca/default/en/index.php?man=SU
https://docs.salome-platform.org/latest/main/gui.html
视频
https://www.youtube.com/@SALOMEPlatformOfficial/videos
https://www.youtube.com/@codeaster4013
此外还有一些视频up主更新的教程,其实比官方写的还好,但太多了,就不列了,你们自己搜就行。
当然在Linux下使用sw显然是比较麻烦的,所以这里会试着使用freecad(这个安装倒是简单sudo apt install freecad就行)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)