适用环境:Windows(cmd / PowerShell 均可用)。Linux 差异见文末附注。
ABAQUS 每个大版本都独立安装、互不覆盖,各自带一套可执行程序和命令脚本。在命令行输入 abaqus 时,实际发生的事是:
PATH 环境变量顺序找到 C:\SIMULIA\Commands\abaqus.bat 并执行;abaqus.bat 是一个"转发器",内容里写死了指向某一个版本的专用脚本(如 abq2019.bat);abaqus.bat默认指向最新安装的版本;abqXXXX.bat,可以直接单独调用。命令行输入 abaqus
│
▼
C:\SIMULIA\Commands\abaqus.bat ← 转发器,写死指向某个版本
│
▼
abq2019.bat / abq2021.bat ... ← 每个版本一个,可直接单独调用
│
▼
对应版本的 Abaqus 可执行程序
因此多版本共存的本质是:**abaqus 只是"默认版本"的入口;想用指定版本,直接调该版本的 abqXXXX.bat**。
abq6141 abq6142 / abq6143 | ||
abq2016 | ||
abq2017 abq2017hf3 | ||
abq2018 abq2019 / abq2020 | ||
abq2021 abq2022 / ... |
实际名字以你机器上
C:\SIMULIA\Commands目录里存在的文件为准。
:: 看 abaqus 命令实际解析到哪个脚本
where abaqus
:: 列出本机所有版本命令脚本
dir /b C:\SIMULIA\Commands\abq*.bat
:: 当前默认版本是谁
abaqus information=version
:: 查看环境变量
echo %PATH%
echo %ABAQUS_BAT_PATH%
abaqus information=version会打印当前默认版本的完整信息(版本号、构建号、可执行路径等),是判断"现在用的是哪个版本"最直接的命令。
不改任何配置,在 cmd 里直接输入该版本的命令名,例如:
:: 打开 2019 的 CAE
abq2019 cae
:: 用 2021 提交作业(交互模式、4 核、双精度)
abq2021 job=jobname interactive cpus=4 double
:: 用 6.14-2 运行 Python 脚本
abq6142 python myscript.py
优点:零配置、互不干扰,一个命令行窗口里可以混用多个版本。前提:C:\SIMULIA\Commands 在 PATH 中(正常安装后都有)。
abaqus.bat(永久切换默认版本)如果你希望以后输入 abaqus 默认就用某个版本:
C:\SIMULIA\Commands\abaqus.bat;abqXXXX.bat 改成你想要的版本;例如把 abq2019.bat 改成 abq2021.bat 后,abaqus cae 打开的将是 2021。
注意:
abq_cae_open.bat 和 abq_odb_open.bat 默认引用 abaqus.bat,也就是说双击 .cae / .odb 文件默认打开的版本也会跟着变,可一并调整。ABAQUS_BAT_PATH 切换(会话级)ABAQUS_BAT_PATH 是 ABAQUS 识别"命令启动器位置"的环境变量,多版本场景下可把它指向某个版本的专用脚本:
:: 当前会话临时切换到 2021
set ABAQUS_BAT_PATH=C:\SIMULIA\Commands\abq2021.bat
abaqus information=version :: 应显示 2021
:: 切回 2019
set ABAQUS_BAT_PATH=C:\SIMULIA\Commands\abq2019.bat
abaqus information=version :: 应显示 2019
需要永久生效(所有新开窗口):
:: 管理员命令行中执行
setx ABAQUS_BAT_PATH "C:\SIMULIA\Commands\abq2021.bat"
说明:
有的安装/工具(如 abqpy)把 ABAQUS_BAT_PATH指到abaqus.bat或整个Commands目录,这是"找到启动器"的用法;**多版本切换时要指向具体的abqXXXX.bat**。不同版本对 ABAQUS_BAT_PATH的解析行为不完全一致,改完后务必用abaqus information=version验证实际生效的版本。
不管 PATH 怎么配,只要路径写对,就一定是目标版本:
"C:\SIMULIA\EstProducts\2019\win_b64\code\bin\abq2019.bat" cae
"C:\SIMULIA\EstProducts\2021\win_b64\code\bin\abq2021.bat" job=jobname interactive
"C:\SIMULIA\6.14-2\code\bin\abq6142.bat" python myscript.py
典型路径:
C:\SIMULIA\6.14-2\code\bin\ | |
C:\SIMULIA\EstProducts\2019\win_b64\code\bin\ | |
C:\SIMULIA\2021\win_b64\code\bin\ C:\SIMULIA\EstProducts\... |
以本机实际安装目录为准。这种写法特别适合在批处理脚本、定时任务、自动化流程里固定版本,避免依赖会话环境。
把每个版本封装成一个独立命令,平时想用哪个敲哪个:
方案 A:写包装批处理,放到你自己加入 PATH 的目录(如 D:\scripts):
@echo off
rem 文件保存为 abaqus2019.bat
call C:\SIMULIA\Commands\abq2019.bat %*
@echo off
rem 文件保存为 abaqus2021.bat(不依赖 PATH 的写法)
"C:\SIMULIA\EstProducts\2021\win_b64\code\bin\abq2021.bat" %*
以后直接:
abaqus2019 cae
abaqus2021 job=jobname interactive
方案 B:复 制开始菜单快捷方式
开始菜单 → SIMULIA → 每个版本下都有 ABAQUS Command(该版本的专用命令行,已配好该版本的库和编译环境)。复 制一份放到桌面/任务栏,改名为版本号即可区分。
abaqus information=version | |
abaqus cae | |
abaqus cae database=xxx.cae | |
abaqus viewer database=xxx.odb | |
abaqus job=jobname | |
abaqus job=newName input=oldName | |
abaqus job=jobname cpus=4 | |
abaqus job=jobname datacheck | |
abaqus job=jobname double | |
abaqus job=jobname interactive | |
abaqus job=newJob oldjob=prevJob | |
abaqus python script.py | |
abaqus cae noGUI=script.py | |
abaqus verify | |
abaqus findkeyword | |
abaqus fetch job=example_name |
任何一条命令前的 abaqus 都可以替换成 abqXXXX(指定版本)或完整路径。
.cae / .odb 文件有版本限制
.cae 无法在 2018 里打开。.inp(只有网格、没有几何)。环境文件是分版本还是共享的
abaqus_v6.env(位于该版本安装目录的 site 文件夹,如 C:\SIMULIA\EstProducts\2019\win_b64\site\abaqus_v6.env),改一个不影响另一个。%HOME%\abaqus_v6.env 是所有版本共享的,里面写的参数(内存、CPU、子程序路径等)会影响所有版本,多版本共存时慎用,容易互相干扰。子程序(UMAT/VUMAT)必须用对应版本的环境
abaqus verify -user_std 之类验证子程序环境时,也要在目标版本下执行。许可证
ABAQUSLM_LICENSE_FILE / SIMULIA_LICENSE_FILE 是否指向了正确的许可证服务器/端口,版本不一致时会 checkout 失败。输入文件(.inp)与关键字
abaqus keyword 相关文档随各版本手册走。第三方软件(如 ANSYS Workbench)调用 ABAQUS 时
PATH 找 abaqus 可执行程序,若配置了特定版本,需保证该版本的路径排在 PATH 最前面。'abaqus' 不是内部或外部命令 | PATH C:\SIMULIA\Commands;系统环境变量 → Path → 新增该目录,重开 cmd。 |
abaqus information=version 确认;大概率 abaqus.bat 指向了最新版,按方法二/三/四切换。 | |
'abqXXXX' 不是内部或外部命令 | C:\SIMULIA\Commands 在 PATH 中;也可直接 dir C:\SIMULIA\Commands\abq*.bat 看真实文件名。 |
abaqus 默认值。 | |
.cae 打开版本不对 | abq_cae_open.bat 与 abaqus.bat 的指向(方法二)。 |
setx 只对之后的新窗口生效。 |
Linux 下原理相同:每个版本有 abqXXXX 命令脚本(如 /SIMULIA/EstProducts/2019/linux_a64/code/bin/abq2019,或软链接在 /usr/SIMULIA/Commands/),PATH 顺序决定默认版本;想固定版本就完整路径调用或建软链接别名:
export PATH=/SIMULIA/EstProducts/2021/linux_a64/code/bin:$PATH
abq2021 job=jobname interactive
setx /m PATH "C:\SIMULIA\Commands;%PATH%") https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1790775722641_giv7u4.jpg