關(guān)于ABAQUS和User Subroutine的若干問題-轉(zhuǎn)載
2017-06-15 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
最近老板要求所有學(xué)生在運行的PC,workstation確保安裝了正版軟件,這下好了,一股腦揪出一撥非授權(quán)軟件,把老板嚇壞了。于是老板風(fēng)風(fēng)火火地要求徹查,最后大家的Research不得不中斷,各自忙著刪啊,買正版啊,向?qū)W校提交正版請求啊,忙成一團。ABAQUS的正版是有的,但是與之匹配的Intel Fortran和Visual Studio大家就不管了,所以這次整改主要集中在后兩個軟件的更新上,為此老板還花錢買了5個Intel Fortran的License(2000多新幣啊),不過這是題外話,通過這次整改,對ABAQUS和與之相關(guān)的subroutine問題有了更為深刻的認識。
1. 大家知道ABAUQS如果需要用User Subroutine必須有Intel Fortran,而Intel Fortran又必須在Visual Studio的環(huán)境下運行。三者之間存在的兩兩兼容問題,必須引起注意。
ABAQUS 與Intel Fortran及Visual Studio的兼容關(guān)系
Abaqus 版本 | 兼容的Intel Fortran | 兼容的Visual Studio |
6.8 | v9.1, v10.0, v10.1及以上 | 2005 |
6.9 | v9.1, v10.0, v10.1及以上 | 2005, 2008 |
6.10 | v10.1, v11.0, v11.1及以上 | 2008, 2010 |
6.11 | v10.1, v11.0, v11.1及以上 | 2008, 2010 |
6.12 | v10.1, v11.0, v11.1及以上 | 2008, 2010 |
Fortran和Visual Studio的兼容關(guān)系
Intel Fortran版本 | 兼容的Visual Studio |
v10.0 | 2003, 2005 |
v10.1(10.1.019之后) | 2003, 2005, 2008 |
v11.0, v11.1 | 2003, 2005, 2008 |
v12.0, v12.1 (XE2011) | 2005, 2008, 2010 |
v13.0 (XE2013) | 2008, 2010, 2012 |
目前我用的比較多的配搭:
Abaqus 6.9+VS2005+Intel Fortran 9.1/10.0/10.1
Abaqus 6.10/6.11/6.12+VS2008+Intel Fortran 10.1
2. 因為一個Intel Fortran license不便宜,如果一臺機子上用一個license的話,投資很大,特別是對于并行計算的計算機組,事實上用subroutine計算是并不需要每次都編譯,每臺機器上也不需要都安裝Intel Fortran,做法是在一臺公共的機子上安裝授權(quán)的Intel Fortran,然后需要跑subroutine的用戶登錄該機編譯后將共享庫文件拷貝到任意目錄,并修改abaqus_v6.env文件。本地不裝Intel Fortran進行帶子程序的ABAQUS計算需按如下方法進行:
如果你要用的子程序代碼文件為usersub.for, 計算模型文件為abc.inp
1). 在未裝Intel Fortran的機器上面運行 abaqus make library=usersub
2). 若是Standard模塊,則會生成standardU.dll;若是Explicit模塊,則會生成ExplicitU.dll和ExplicitU-D.dll
3). 將上述庫文件存儲到任意目錄,比如:D:abc1abc2abc3abc4
4). 打開abaqus環(huán)境變量設(shè)置文件abaqus_v6.env, 末尾增加如下語句
usub_lib_dir=”D:\abc1\abc2\abc3\abc4″
(注意將“”改成“\”; 若abaqus安裝目錄下無法修改abaqus_v6.env文件,則將修改后的環(huán)境變量文件存儲到inp文件所在目錄)
5). 運行計算 abaqus job=abc int 即可
3. ABAQUS和兼容的Intel Fortran以及Visual Stuido安裝完畢后,可以運行Abaqus info=system來檢驗各組件是否已經(jīng)被識別,有時候系統(tǒng)環(huán)境變量設(shè)置不對,每次都要將設(shè)置Visual Studio和intel fortran環(huán)境變量的批處理文件人為導(dǎo)入。一般來說是這兩個文件: vsvars32.bat和ifortvars.bat,如果是64位系統(tǒng)的則是: vsvarsamd64.bat和ifortvars.bat,這兩個文件分別存儲在Visual Studio和Intel Fortran的安裝文件夾下。
為了避免人工導(dǎo)入,可以創(chuàng)建一個批處理文件來替代人工的dos操作,舉個筆者的例子:
@echo off
call “C:Program Files
(x86)IntelCompilerFortran10.1.021em64tbinifortvars.bat”
call “C:Program Files (x86)Microsoft Visual Studio
9.0VCbinamd64vcvarsamd64.bat”
abaqus info=system
這樣每次檢驗可以省事不少,然后就可以直接開算啦!
一點心得,僅供參考。
(From:http://www.hiyip.com/?p=321)
相關(guān)標簽搜索:關(guān)于ABAQUS和User Subroutine的若干問題-轉(zhuǎn)載 abaqus分析培訓(xùn) abaqus技術(shù)教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎(chǔ)知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn)