码迷,mamicode.com
首页 > 其他好文 > 详细

ABAQUS子程序编译

时间:2019-04-04 09:34:53      阅读:391      评论:0      收藏:0      [点我收藏+]

标签:stand   auto   打开   pytho   调用dll   运行   shel   ref   shell   

Abaqus 子程序编译

命令行编译

call abaqus make library=usersub.for
pause

调用dll

  1. 在已安装Intel Fortran的机器上面运行 abaqus make library=usersub,对子程序进行编译
  2. 若是Standard模块,则会生成standardU.dll;若是Explicit模块,则会生成ExplicitU.dll和ExplicitU-D.dll
  3. 将上述库文件存储到任意目录,比如:D:\abc1\abc2\abc3\abc4

  4. 打开abaqus环境变量设置文件...\SIMULIA\Abaqus\6.13-1\SMA\site\abaqus_v6.env, 末尾增加如下语句

  5. usub_lib_dir=‘D:\abc1\abc2\abc3\abc4‘

  6. (注意将“”改成“\”; 若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子程序编译

标签:stand   auto   打开   pytho   调用dll   运行   shel   ref   shell   

原文地址:https://www.cnblogs.com/structurer/p/10652854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!