当我们需要自己实现自定义模型算法时,我们可能需要编程实现,但是这条路路长且艰;额外地,使用商业软件是个不错的方式,商业软件开发者赋能,使得我们可以快速构建物理场景进行物理模拟。
考虑到实际情况,我需要使用LS-DYNA或者Radioss进行ALE模拟,由于之前我有编程背景,很喜欢搭配编程工具做事,比如命令行,使用Git存储模拟脚本*.k
文件,也是好玩。
本文就很简单地,介绍初试把ALE求解器放在Windows Terminal环境下。
OpenRadioss开源确实不错,但是相关配套工具还是欠缺的,而且宣传与LS-DYNA的兼容性还不算成熟。可执行程序可以在GitHub上下到,支持Windows和Linux,下载好可执行程序后,阅读OpenRadioss的README。
我在Terminal中设置了以下配置文件,我比较喜欢PowerShell:
命令行: %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command OpenRadioss.ps1
这里的配置文件启动PowerShell和OpenRadioss.ps1并且不退出,以下是OpenRadioss.ps1的内容,该脚本放到系统环境变量里:
$env:OPENRADIOSS_PATH = "C:\Program Files\OpenRADIOSS\"
$env:RAD_CFG_PATH = $env:OPENRADIOSS_PATH + "hm_cfg_files\"
$env:RAD_H3D_PATH = $env:OPENRADIOSS_PATH + "extlib\h3d\lib\win64"
$env:KMP_STACKSIZE = "400m"
$env:PATH += ";" + $env:OPENRADIOSS_PATH + "extlib\hm_reader\win64;" + $env:OPENRADIOSS_PATH + "extlib\intelOneAPI_runtime\win64;" + $env:OPENRADIOSS_PATH + "exec"
$env:OMP_NUM_THREADS = 3
我这里OMP核心设为3,笔记本电脑CPU核心相对少。最后的效果是Terminal里启动配置文件时,会启用OpenRadioss.ps1,导入环境变量,然后就可以在命令行里使用:
> starter_win64_sp.exe -i *000.rad
> engine_win64_sp.exe -i *001.rad
PS. 目前powershell使用anim_to_csv_win64.exe重定向生成的UTF-16编码的VTK文件不能被ParaView读取,使用cmd.exe或其它shell生成UTF-8编码的VTK,ParaView应该只读UTF-8的文本VTK。
LS-DYNA是商业付费软件,我使用的最新的LS-PrePost,所以和OpenRadioss一样,我设置了以下内容:
命令行: %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command LS-DYNA.ps1
LS-DYNA.ps1:
$env:PATH += ";D:\Program Files\LSDYNA\program;D:\Program Files\LSTC\LS-PrePost 4.10"
Set-Alias -Name lspp -Value "lsprepost4.10_x64.exe" -Scope Global
Set-Alias -Name lsdyna -Value "D:\Program Files\LSDYNA\program\ls-dyna_smp_s_R11_1_0_winx64_ifort160.exe" -Scope Global
因为LS-DYNA的名称ls-dyna_smp_s_R11_1_0_winx64_ifort160.exe
太长了,不好记,我设置了一个全局别称lsdyna
。这样我就可以在设置好*.k
文件后,cd
到路径下:
> cd xyzfolder/
> lsdyna i=airbag.k ncpu=2
> lspp d3plot
LS-DYNA在终端中使用,搭配LS-PrePost
同样的,为了方便自己在 Windows Terminal 中使用 Conda,我设置了以下命令行:
%windir%\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -NoExit -Command "& 'D:\ProgramData\miniforge3\Scripts\activate.ps1' 'D:\ProgramData\miniforge3'"
希望国内赶紧写自己的ALE软件,并且是开源的之类的,提供开源和商业版本,和OpenRadioss一样,使用AGPL协议就可以,我很想白嫖,并且提供一定的资金支持。老是被外国工业软件卡脖子,实际上,国内完全具备了开发工业软件的能力和市场需求,感觉就是不团结,希望不要各自为战,而是合作前进。
中国人不为难中国人,希望到时候国内工业软件能普惠国民!
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删