資源描述:
《abaqus中fortran子程序調(diào)用方法—自己總結(jié)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、第一種方法:在Job模塊里,創(chuàng)建工作,在EditJob對(duì)話框中選擇General選項(xiàng)卡,在Usersubroutinefile中點(diǎn)擊Select按鈕,從彈出對(duì)話框中選擇你要調(diào)用的子程序文件(后綴為.for或.f)。第二種方法:/o/J5@6U/^-o$1.建立工作目錄/]"2.將Abaqus安裝目錄6.4-pr11site下的aba_param_dp.inc或aba_param_sp.inc拷貝到工作目錄,并改名為aba_param.inc;#~/
2、0I0E6{,@4X3q:W3.將編譯的fortran程序拷貝到工作目錄;4.將.obj文件
3、拷貝到工作目錄;5.建立好輸入文件.inp;6.運(yùn)行abaqusjob=inp_nameuser=fortranname即可。,D8i7d/r??c6@"
4、以下是網(wǎng)上摘錄的資料,供參考:.
5、$t/}$W7Y6m4h6D6j用戶進(jìn)行二次開(kāi)發(fā)時(shí),要在命令行窗口執(zhí)行下面的命令:4O.R+^,@(???abaqusjob=job_nameuser=sub_nameABAQUS會(huì)把用戶的源程序編譯成obj文件,然后臨時(shí)生成一個(gè)靜態(tài)庫(kù)standardU.lib和動(dòng)態(tài)庫(kù)standardU.dll,還有其它一些臨時(shí)文件,而它的主程序(如standard.exe
6、和explicit.exe等)則沒(méi)有任何改變,由此看來(lái)ABAQUS是通過(guò)加載上述2個(gè)庫(kù)文件來(lái)實(shí)現(xiàn)對(duì)用戶程序的連接,而一旦運(yùn)行結(jié)束則刪除所有的臨時(shí)文件。這種運(yùn)行機(jī)制與ANSYS、LS-DYNA、marc等都不同。:j6g'R-o({0[*N2J3X這些生成的臨時(shí)文件要到文件夾C:DocumentsandSettingsAdministratorLocalSettingsTemp中才能找到,這也是6樓所說(shuō)的藏了一些工作吧,大家不妨試一下。1 子程序格式(程序后綴是.f;.f90;.for;.obj??)答:我試過(guò),.for格是應(yīng)該是不可以
7、的,至少6.2和6.3版本應(yīng)該是不行,其他的沒(méi)用過(guò),沒(méi)有發(fā)言權(quán)。在Abaqus中,運(yùn)行abaqusj=jobnameuser=username時(shí),默認(rèn)的用戶子程序后綴名是.for(.f,.f90應(yīng)該都不行的,手冊(cè)上也有講過(guò)),只有在username.for文件沒(méi)有找到的情況下,才會(huì)去搜索username.obj,如果兩者都沒(méi)有,就會(huì)報(bào)錯(cuò)誤信息。如果username包括擴(kuò)展名for或obj,那么就根據(jù)各自的擴(kuò)展名ABAQUS會(huì)自動(dòng)選擇進(jìn)行操作。2 CAE中如何調(diào)用?Command下如何調(diào)用?答:CAE中在creatjob的jobmanager中的
8、general中可以指定子程序;Command下用命令:abaqusj=jobnameuser=userfilename(無(wú)后綴);3 若有多個(gè)子程序同時(shí)存在,如何處理答:將其寫(xiě)在一個(gè)文件中即可,然后用一個(gè)總的子程序調(diào)用(具體參見(jiàn)手冊(cè))4 我對(duì)VF不是很熟,是否可以用VC,C++編寫(xiě)子程序?A:若要在vf中調(diào)試,那么應(yīng)該根據(jù)需要把SITE文件夾中的ABA_PARAM_DP.INC(雙精度)或ABA_PARAM_SP.INC(單精度)拷到相應(yīng)的位置,并改名為ABA_PARAM.INC即可。據(jù)說(shuō)6.4的將可以,6.3的你可以嘗試著將VC,C++程序
9、編譯為obj文件,沒(méi)試過(guò)。在你的工作目錄下應(yīng)該已經(jīng)存在ufield.obj和uvarm.obj這兩個(gè)文件(這兩個(gè)文件應(yīng)該是你分別單獨(dú)調(diào)試ufield.FOR和uvarm.FOR時(shí)自動(dòng)編譯生成的,你可以將他們刪掉試試看),但是由于你的FOR文件中已經(jīng)有了UVARM和UFIELD這兩個(gè)subroutine,顯然會(huì)造成重復(fù)定義,請(qǐng)查實(shí)。用戶子程序的使用假設(shè)你的輸入文件為:a.inpb.for那么在ABAQUSCommand中的命令應(yīng)該是這樣的:abaqusjob=auser=b對(duì)于abaqus64pr11,command中輸入:abq64pr11jo
10、b=auser=b就可以了。當(dāng)然首先你要用cd命令進(jìn)入輸入文件所在的當(dāng)前文件目錄。強(qiáng)烈建議使用command來(lái)操作。子程序文件名后綴應(yīng)為.for,而不是.fABAQUS/CAE處理有兩個(gè)程序:①內(nèi)核程序;②GUI(graphicaluserinterface—圖形用戶界面)程序。內(nèi)核程序?qū)嶋H上就是它的腳本語(yǔ)言,它采用的是Python語(yǔ)言,同時(shí)擴(kuò)展了Python語(yǔ)言,額外提供了大約500個(gè)對(duì)象模型,對(duì)象模型之間的關(guān)系復(fù)雜。GUI程序(圖像用戶界面程序)是一個(gè)方便用戶輸入或選擇參數(shù)的圖形用戶接口。ABAQUS/CAE是采用IPC協(xié)議來(lái)完成內(nèi)核程序和
11、GUI程序的通信的。ABAQUS有限元程序通過(guò)集成Python語(yǔ)言向二次開(kāi)發(fā)者提供了很多庫(kù)函數(shù),通過(guò)ABAQUS腳本接口(ABAQUSScriptin