不知火舞的被虐|伊人天伊人天天综合网|博洛尼亚天气|任你懆这里只有精品4|久久美日韩精品久久|掌中之物漫画免费阅读观看|0丨d老妇

UDF編譯錯(cuò)誤的案例

四十九、Fluent UDF編譯正確的流程
進(jìn)行UDF編譯</strong></p><p><br></p><p>在環(huán)境變量配置成功的情況下,再進(jìn)行自己書寫的UDF編譯。</p><p>這一步還可能會(huì)遇到很多問題。由于環(huán)境變量已經(jīng)配置成功,<strong>因此遇到的問題一定是UDF本身的問題,可能是書寫不規(guī)范,也可能是語法問題。</strong></p><p>&nbsp;</p><p>還有可能,UDF編譯通過,但是一點(diǎn)計(jì)算就會(huì)出現(xiàn)下圖這種錯(cuò)誤</p><p><img src="https://mmbiz.qpic.cn/mmbiz_png/8tJMdLVYZyibppJHEe1k9RtYNJ2XIABF4zWoicH4L7cicpmllksIWsVkzdMLTPXNcxKZWgHzvoNPHwakapkEhzX4g/640?wx_fmt=png" width="100%"></p><p>或者出現(xiàn)received a fatal signal (aborted).</p><p>&nbsp;</p><p><img src="https://mmbiz.qpic.cn/mmbiz_png/8tJMdLVYZyibppJHEe1k9RtYNJ2XIABF4V7fmKF0yIEHj5LcA8bO9M250RG7PmqKpbvEFRb2hv86icQmksDibgTNA/640?wx_fmt=png" width="100%"></p><p>總之錯(cuò)誤總是千奇百怪,防不勝防。但當(dāng)使用的多了,會(huì)發(fā)現(xiàn)常見的錯(cuò)誤原因就那幾個(gè),多注意排查即可。這部分下篇文章會(huì)進(jìn)行敘述。
展開
Fluent軟件的UDF編譯環(huán)境修改
Fluent軟件的UDF編譯環(huán)境修改 使用Fluent軟件的UDF前需安裝Ansys和Visual studio軟件。 此處以Ansys19.0 和Visual studio 2012為例,在Ansys19.0安裝位置找到udf.bat文件。 用記事本打開udf.bat,找到圖示位置: 在后面添加: set MSVC_DEFAULT=此處填Visual studio12.0安裝位置 if exist "%MSVC_DEFAULT%\vC\vcvarsall.bat" set MSVC=%MSVC_DEFAULT% if not "%MSVC%" == "" goto msvc_env120 :msvc_env120 set MSVC_VERSION=120 call "%MSVC%\VC\vcvarsall.bat" amd64 goto ms_c_end 保存即可在Fluent軟件中使用UDF。
展開
fluent 14.0 udf編譯問題
最近使用fluent14.0 udf的時(shí)候編譯總是出現(xiàn)問題,經(jīng)過在網(wǎng)上查找資料,自己摸索終于解決了。
UDF程序編譯常見問題,以及解決辦法!
圖1 如何修改:設(shè)置好環(huán)境變量,再次編譯就可以成功加載。 環(huán)境變量設(shè)置目前較為成熟和成功方法,經(jīng)過多次給網(wǎng)友調(diào)試,總結(jié)認(rèn)為按路徑設(shè)置環(huán)境變量是最好的方法,成功率百分之百!這里切記修改環(huán)境變量不是在系統(tǒng)變量中修改??! 設(shè)置如下: 圖2 主要找到編譯器安裝路徑下得include\lib\path就可以設(shè)置成功。具體見教程vs2010、2013環(huán)境變量設(shè)置。 另外需要注意是:由于程序字符格式問題,這種情況多為復(fù)制黏貼幫助文檔或者其他地方程序,直接黏貼在編譯器或者text文本里得,導(dǎo)致沒有完全編譯,加載過程時(shí)報(bào)錯(cuò),找不到liubuf.dll文件。 解決辦法: 編譯不成功原因是由于程序本身格式問題,編譯器不識(shí)別,多為復(fù)制黏貼過來程序。這時(shí)候可以將其復(fù)制黏貼到可以編譯成功程序里,即可解決問題。 2編譯過程中,由于書寫有誤,導(dǎo)致程序報(bào)錯(cuò)。 圖3 這樣錯(cuò)誤要根據(jù)報(bào)錯(cuò)提示進(jìn)行修改,千萬要注意看報(bào)錯(cuò)提示,再進(jìn)行逐行修改,事半功倍。 例如:第13行缺少分號(hào),增加分號(hào) 即可。 圖4 具體調(diào)整見技術(shù)鄰視頻。 3由于程序結(jié)構(gòu)問題,導(dǎo)致報(bào)錯(cuò),received a fata segmental? 例如:在邊界上進(jìn)行面循環(huán)時(shí),我們卻想去獲得網(wǎng)格上參數(shù)值,例如C_U(c,t)網(wǎng)格速度值,這樣就是不合理得,會(huì)出現(xiàn)分割錯(cuò)誤。同時(shí),對(duì)于C_VOF(c,t)體積分?jǐn)?shù)這樣宏,一定要注意它的指針問題,否則你會(huì)出現(xiàn)常見錯(cuò)誤。 4由于程序函數(shù)宏格式問題,導(dǎo)致缺少“}”,size of“0”, 圖5 程序本身沒有錯(cuò)誤,但是編譯就是報(bào)錯(cuò)!這時(shí)比較讓人著急,找不到頭緒! 解決辦法:這時(shí)只需要找一個(gè)能編譯程序,復(fù)制黏貼過去。如果還不行,就說明你的函數(shù)是不是哪個(gè)地方寫錯(cuò)了,要進(jìn)行仔細(xì)檢查!
展開
UDF編譯錯(cuò)誤圖1
SDK 解決FLUENT 中udf 編譯問題 終極大法
錯(cuò)誤原因與解決方法:fluent udf在compiled時(shí)出現(xiàn)錯(cuò)誤:'nmake' 不是內(nèi)部或外部命令 對(duì)比了兩臺(tái)主機(jī)上的環(huán)境變量 Path、 lib 以及 include 之后發(fā)現(xiàn)可以正常運(yùn)行udf的舊的主機(jī)(A)與新的主機(jī)(B)之間的差別,發(fā)現(xiàn)Path等并沒有太多異常,甚至A上幾乎沒有添加環(huán)境變量。于是采用下方案 解決方案: 從Microsoft 官網(wǎng)下載 軟件開發(fā)補(bǔ)丁: NET Framework 2.0 Software Development Kit (SDK) (x64) 安裝補(bǔ)丁 從開始快捷鍵中 以管理員身份運(yùn)行 SDK 命令行,SDK Command Prompt 命令行中 切換至fluent 啟動(dòng)項(xiàng)位置,運(yùn)行fluent 切換fluent工作目錄至case 目錄,運(yùn)行。 udf 可以成功運(yùn)行 在SDK 運(yùn)行代碼為: —————————————————— 隨后,刪除了libudf之后 以正常方式打開case之后仍然失敗。 不刪除libudf,正常方式打開case之后成功。 因此推斷 在編譯過程中有點(diǎn)問題,可能還是VS與 fluent 之間配合不好。 在編譯完成之后udf即可正常運(yùn)行 附上一張圖片和參考方案來源 How can I manage to compile my UDF with Windows 7 64bit? This problem sometimes looks similar to the one concerning the missing 'nmake'.
展開
fluent中udf無法編譯系列(part2)——basetsd.h文件
fluent中出現(xiàn)下圖的提示: 解決方法: 1.打開計(jì)算機(jī)->屬性->高級(jí)系統(tǒng)設(shè)置 2.新建變量VS110COMNTOOLS,屬性值設(shè)置為C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\ 3.打開編譯VC\bin目錄下的vcvars32.bat文件,在第一行添加下列語句: @echo Setting environment for using Microsoft Visual Studio 2012 x64 tools @SET VSINSTALLDIR=c:\Program Files\Microsoft Visual Studio 11.0 @SET VCINSTALLDIR=c:\Program Files\Microsoft Visual Studio 11.0\VC @SET FrameworkDir32=c:\Windows\Microsoft.NET\Framework @SET FrameworkVersion32=v4.0.30319 @SET Framework35Version=v3.5 并注釋掉下列語句: ::@call :GetVSCommonToolsDir ::@if "%VS110COMNTOOLS%"=="" goto error_no_VS110COMNTOOLSDIR ::@call "%VS110COMNTOOLS%VCVarsQueryRegistry.bat" 32bit No64bit
展開
fluent中udf無法編譯系列(part1)——xcopy和nmake
進(jìn)行udf文件的build,初學(xué)者容易出現(xiàn)下面的提示: 那么,來解決一下這些問題吧~~ 1、fluent運(yùn)行UDF時(shí)的出現(xiàn)'xcopy' 不是內(nèi)部或外部命令..... 這是系統(tǒng)下面xcopy.exe文件丟失,只需要把xcopy復(fù)制到安裝目錄下面的bin文件夾里就行了 解決方法:從C:\Windows\System32拷貝到xcopy.exe 放到: D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin文件里面 (需要注意的是,每臺(tái)電腦的Microsoft Visual Studio 的安裝目錄和版本不同,xcopy.exe放在自己電腦的Microsoft Visual Studio 里面的vc下的bin文件里面就可以了) 2、 nmake不是內(nèi)部命令或外部命令,也不是可運(yùn)行程序.....
展開
fluent中udf無法編譯系列(part3)——kernel132.lib文件
LINK: fatal erro LNK1104: cannot open file 'kernel132.lib' 命令行下使用cl編譯的時(shí)候,竟然提示:fatal error LNK1104: 無法打開文件“kernel32.lib”,所幸在IDE里面運(yùn)行沒有問題。 【問題解決】 Try1)查了一下環(huán)境變量的庫路徑(LIB),Program Files\Microsoft Visual Studio 9.0\VC\lib是在的;查lib目錄,果然找不到kernel32.lib文件。 Try2)vs2008的SDK路徑應(yīng)該是這個(gè):C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib。(注意:無論安裝目錄在哪里,都在C盤) Try3)在環(huán)境變量LIB添加上述SDK目錄,cl,成功!或者將kernel32.lib直接copy到vc的lib目錄下也是可以的 解決辦法還是修改環(huán)境變量,提示不能打開 'kernel132.lib',我們就想辦法找到他并把它添加到環(huán)境變量里lib里,我的電腦里'kernel132.lib'在C:\Program files\Microsoft SDKs\Windows\v6.0A\Lib\kernel32.lib,于是把這個(gè)路徑添加到lib這個(gè)環(huán)境變量里,問題就解決了
展開
單片機(jī)編譯器KEIL的常見錯(cuò)誤匯總(中英對(duì)照)
error 1:Out of memory 內(nèi)存溢出 error 2:Identifier expected 缺標(biāo)識(shí)符 error 3:Unknown identifier 未定義的標(biāo)識(shí)符 error 4:Duplicate identifier 重復(fù)定義的標(biāo)識(shí)符 error 5:Syntax error 語法錯(cuò)誤 error 6:Error in real constant 實(shí)型常量錯(cuò)誤 error 7:Error in integer constant 整型常量錯(cuò)誤 error 8:String constant exceeds line 字符串常量超過一行 error 10:Unexpected end of file 文件非正常結(jié)束 error 11:Line too long 行太長 error 12:Type identifier expected 未定義的類型標(biāo)識(shí)符 error 13:Too many open files 打開文件太多 error 14:Invalid file name 無效的文件名 error 15:File not found 文件未找到 error 16:Disk full 磁盤滿 error 17:Invalid compiler directive 無效的編譯命令 error 18:Too many files 文件太多 error 19:Undefined type in pointer def 指針定義中未定義類型 error 20:Variable identifier expected 缺變量標(biāo)識(shí)符 error 21:Error in type 類型錯(cuò)誤 error 22:Structure too large 結(jié)構(gòu)類型太長
展開
ABAQUS路面材料使用修正burgers模型時(shí)總是出現(xiàn)編譯錯(cuò)誤
C 瞬態(tài)溫度場下修正Burgers模型UMAT子程序源代碼 C C 給狀態(tài)變量數(shù)組賦初值為零,調(diào)用ABAQUS子程序SDVINI C GIVE STATEV THE INITIAL VALUE OF ZERO C SUBROUTINE SDVINI(STATEV,COORDS,NSTATV,NCRDS,NOEL,NPT,LAYER,KSPT) C INCLUDE 'ABA_PARAM.INC' C DIMENSION STATEV(NSTATV),COORDS(NCRDS) C DO K=1,NSTATV STATEV(K)=0.0 END DO C RETURN END C 瞬態(tài)溫度場下修正Burgers模型UMAT子程序 C UMAT FOR MODIFIED BURGERS MODEL C SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT, 1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED, 2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT, 3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC) C INCLUDE 'ABA_PARAM.INC' C CHARACTER*80 CMNAME C DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE
展開
關(guān)于umat在VS編譯過程中出現(xiàn)的錯(cuò)誤
或者這個(gè)錯(cuò)誤應(yīng)該怎么解決呢
UDF編譯錯(cuò)誤圖2
五十一、UDF錯(cuò)誤代碼排查
<p><strong>1.UDF錯(cuò)誤代碼排查</strong></p><p><br></p><p>UDF出錯(cuò)如何進(jìn)行錯(cuò)誤排查???</p><p>&nbsp;</p><p><img src="https://mmbiz.qpic.cn/mmbiz_jpg/8tJMdLVYZyibBqSh9oVWicPJ4l8z5fMHmFWuccZW4NDgy7TicOFbibIYfPOo71oeU4qu8qmxU82rNxf5VUd5twKrbw/640?wx_fmt=jpeg" width="100%"></p><p><strong>1.1有錯(cuò)誤信息顯示</strong></p><p><br></p><p>根據(jù)錯(cuò)誤信息定位到具體錯(cuò)誤類型,如代碼錯(cuò)誤、命名錯(cuò)誤、內(nèi)存分配錯(cuò)誤或線程錯(cuò)誤等問題。詳細(xì)可查看<a href="http://mp.weixin.qq.com/s?
展開
五十、UDF常見錯(cuò)誤及報(bào)錯(cuò)信息
如果直接使用thread1,則編譯通過,load通過,但點(diǎn)擊計(jì)算,可能會(huì)報(bào)下圖錯(cuò)誤:Received signal SIGSEGV</p><p>&nbsp;</p><p><img src="https://mmbiz.qpic.cn/mmbiz_png/8tJMdLVYZyib8OGrSVLN1D71GE8ia3iabYtxavwauyKicMicNHg8KyZEKiceib1TQ1qiaVwxl5y8EFYopYWUmicv0SBKTVw/640?wx_fmt=png" width="100%"></p><p>&nbsp;</p><p>這種問題,報(bào)錯(cuò)的信息可能有很多種。但是基本都有一個(gè)特點(diǎn),那就是編譯沒問題、load沒問題,但一點(diǎn)擊計(jì)算又出錯(cuò)。</p><p>&nbsp;</p><p>&nbsp;</p><p><strong>2.6 常見錯(cuò)誤6:UDF被其他cas占用</strong></p><p><br></p><p>&nbsp;</p><p>UDF編譯的過程:選擇UDF后,點(diǎn)擊build,會(huì)生成一個(gè)libudf文件夾。點(diǎn)擊load后,fluent會(huì)直接調(diào)用libudf文件夾下的已經(jīng)編譯好的文件。</p><p><br></p><p><strong>此時(shí)源UDF文件與fluent沒有任何關(guān)系,即使刪除掉源UDF文件,fluent也可以正常運(yùn)行。但是不能刪掉libudf文件,這個(gè)文件會(huì)一直被fluent占用。</strong></p><p>&nbsp;</p><p>注:libudf是編譯過程生成的文件夾名稱,可在點(diǎn)擊build之前,在Library Name處更改此名。
展開