ABAQUS子程序編譯


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM