vs2019+ivf2020+abauqs2021關(guān)聯(lián)驗(yàn)證,子程序Error,'ifort' 不是內(nèi)部或外部命令,也不是
背景
某寶顧客找到我,說abauqs關(guān)聯(lián)驗(yàn)證不會(huì)整。我一看,好家伙,又一個(gè)送錢來的,心中一陣竊喜!
折騰之路——遇見
一陣忙活之后,遠(yuǎn)程過去,顧客自己動(dòng)手能力挺強(qiáng)的!
VS2019已經(jīng)裝好,IVF裝的是2020 update3版,abaqus是2021版。
注意,本文說的是上述環(huán)境,如果你裝個(gè)的是舊版的,比如vs2013+ivf2013等,不能按照這個(gè)代碼來。
關(guān)聯(lián)驗(yàn)證之前顯示國際慣例,都分別運(yùn)行一下,看看能不能跑起來。
搞了個(gè)Fortran的hello world示例,刷刷刷一下子就出結(jié)果了,毛病沒有!
單獨(dú)運(yùn)行abaqus(ACE)這次刷刷刷兩下子才出來,稍微慢了點(diǎn)。
眼看著沒啥問題啊,難道今天又撿漏!
根據(jù)ACE快捷方式找到lancher.bat文件,刷刷刷這次很快啊,加了兩行代碼進(jìn)去
保存,顯示打開ACE瞅瞅能不能打開,好的,沒有問題!

然后又找到abaqus的command目錄,在abaqus.bat文件里面也加上兩行一模一樣的代碼。
那還等啥,試試驗(yàn)證吧。
哥們我有經(jīng)驗(yàn)啊,不像小白一樣,直接開abaqus?Verification做完整的驗(yàn)證,而是以管理員身份打開了cmd,直接輸入
按回車鍵!
如圖所示,能找到VS編譯器,能找到Fortran的編譯器!

那就試試單獨(dú)驗(yàn)證子程序,同樣的,以管理員身份再打開一個(gè)cmd(新開一個(gè)cmd噢),直接輸入
按回車鍵!
正準(zhǔn)備起身去泡杯茶等它出結(jié)果呢!
它刷刷刷地就出了結(jié)果,而且還顯示Error,你說氣不氣人!

根據(jù)它的指示,需要去看 std_user.log文件,里面記錄這詳細(xì)信息。

emmmmmmm...
這是重點(diǎn)↓
這好像是一個(gè)比較經(jīng)典的問題??!
折騰之路——瞎折騰
無非就是來回折騰環(huán)境變量(顧客之前自己改過),返回關(guān)聯(lián)驗(yàn)證,詳細(xì)過程略過,反正就是搞不成。
折騰之路——喜從天降
正在郁悶的時(shí)候,顧客那邊傳來好消息!
他找另外一家,弄好了!
瞬間血壓上升,看來我要落伍了,干不過同行!
偷師的好機(jī)會(huì),跟顧客要了遠(yuǎn)程信息,遠(yuǎn)程過去。
同時(shí)讓顧客回想高手同行都做了啥,顧客就輕描淡寫的說了一句,就改了一個(gè)文件,然后就好了。
我去!這。。。這。。。這么簡(jiǎn)單, 這就是經(jīng)驗(yàn)?。〗o同行點(diǎn)個(gè)贊!

再一次cmd運(yùn)行?
過來,此時(shí)已經(jīng)是PASS?。?!
子程序驗(yàn)證能過,其他的應(yīng)該問題不大。


解釋下:
圖片中第一行選中的就是解決問題的重點(diǎn)
這行代碼的意思是給名為Path的環(huán)境變量添加一個(gè)新值(后面那一串路徑),有興趣的朋友可以去這個(gè)路徑看下,這個(gè)路徑下確實(shí)是有一個(gè)ifort.exe程序。
細(xì)心的朋友可能還會(huì)發(fā)現(xiàn),另外一個(gè)叫ia32_intel64的文件夾下也有一個(gè)ifort.exe程序,那為啥不指定為ia32_intel64這個(gè)文件夾呢?!
因?yàn)榈诙写a決定了要這樣寫!
-arch intel64 前面是一個(gè)參數(shù),應(yīng)該表示指定架構(gòu),后面就是這個(gè)參數(shù)的值,整一起的意思猜測(cè)為指定架構(gòu)為Intel64,如果你上面想用ia32_intel64文件夾下的ifort.exe,那么你這里可以設(shè)置為?-arch ia32_intel64
第三方代碼是配置mkl庫,這是代替imsl的數(shù)學(xué)庫
寫在最后
電腦軟維修。
祖?zhèn)骷夹g(shù),百年傳承,專業(yè)!
電腦郎中,妙手回春,神奇!
有需者請(qǐng)某寶搜索鄙人ID,有償。
