ABAQUS子程序编译
Posted structurer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABAQUS子程序编译相关的知识,希望对你有一定的参考价值。
Abaqus 子程序编译
命令行编译
call abaqus make library=usersub.for
pause
调用dll
- 在已安装Intel Fortran的机器上面运行
abaqus make library=usersub
,对子程序进行编译 - 若是Standard模块,则会生成standardU.dll;若是Explicit模块,则会生成ExplicitU.dll和ExplicitU-D.dll
将上述库文件存储到任意目录,比如:D:\abc1\abc2\abc3\abc4
打开abaqus环境变量设置文件...\SIMULIA\Abaqus\6.13-1\SMA\site\abaqus_v6.env, 末尾增加如下语句
usub_lib_dir=‘D:\abc1\abc2\abc3\abc4‘
(注意将“”改成“\”; 若abaqus安装目录下无法修改abaqus_v6.env文件,则将修改后的环境变量文件存储到inp文件所在目录)
自由格式的fortran编译
- abaqus默认调用固定格式的fortran文件,但为了在cae中运行,一般将.f改为.for。
- 若需要调用自由格式的fortran文件,需要更改
D:\SIMULIA\Abaqus\6.13-1\SMA\site
目录下的abaqus_v6.env
文件中的编译选项 - 按固定格式编译则环境变量文件不变,按自由格式则需要添加
‘/free‘
compile_fortran=['ifort',
'/c','/DABQ_WIN86_64', '/extend-source',
'/iface:cref', '/recursive', '/Qauto-scalar',
'/QxSSE3', '/QaxAVX',
'/heap-arrays:1',
# '/Od', '/Ob0' # <-- Optimization
# '/Zi', # <-- Debugging
'/include:%I','/free']
执行计算任务
可以直接指定for
文件执行计算,也可以指定编译好的obj
文件进行计算
abaqus job=myumatjob user=umat-std.for
abaqus job=myumatjob user=umat-std.obj
以上是关于ABAQUS子程序编译的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(代码片段