課件文稿成果_第1頁
課件文稿成果_第2頁
課件文稿成果_第3頁
課件文稿成果_第4頁
課件文稿成果_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余9頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第七章UDF的編譯與_7.1_7.2_7.3存放到case文件中。因此,只要case文件,這個(gè)庫會(huì)自動(dòng)地到FLUENT 通常情況下,用戶不應(yīng)該從安裝默認(rèn)中udf.h文件。編譯器先在當(dāng)前目錄中尋找該文件,如果沒找到,編譯器會(huì)自動(dòng)到/src下尋找。如果你升級(jí)了軟件的版本,但是沒有從你的工作中刪除舊版本的udf.h文件,你則不能訪的C函數(shù)的名稱與內(nèi)容將會(huì)被存放到case文件中。只要這個(gè)case文件,這些 !如果源碼不在當(dāng)前工作 在當(dāng)前工 下運(yùn)行FLUENT打開“InterpretedUDFspanel”,編譯UDF(如vprofile.c)圖7.2.1解釋的UDF在“SourceFileName”下輸入C源碼的文件名(如vprofile.c)!如果自定義的C源碼不在工作 預(yù)處理程序,包括gcc-E和cc–E如果自定義函數(shù)局部變量數(shù)不引起棧的溢出,則保持“StackSize”的默認(rèn)值為1000。此時(shí),所設(shè)“StackSize”的數(shù)要遠(yuǎn)遠(yuǎn)大于局部變量用的數(shù)。(d)選擇“DisplayAssemblyListing”,則當(dāng)函數(shù)編譯匯編碼的會(huì)出現(xiàn)在窗如果用戶使用“FluentInc”提供的C預(yù)處理程序,選擇“Use點(diǎn)擊“Compile”編譯UDF編譯結(jié)束點(diǎn)擊“Close”中,例如all.c。然后用“InterpretedUDFs”面板編譯連接的文件。這些函 在“Fluent.Inc”下創(chuàng)建一個(gè)名為“udf”在udf下創(chuàng)建子(如Fluent.Inc\udf\myudf),將UDF的C源碼存放于這個(gè)下。如果在同一串下多個(gè)用戶運(yùn)行工作,每個(gè)用戶在udf下創(chuàng)建自己的子(如Fluent.Inc\udf\abcudf和xyzudf)。!因?yàn)樵创a不在當(dāng)前工作下,所以在編譯UDF時(shí)必須在“InterpretedUDFs”<fileserver>應(yīng)輸入用戶所安裝FLUENT的計(jì)算機(jī)名(如myserver) 下調(diào)試解釋的所用的出錯(cuò)信息。因此調(diào)試UDF時(shí)用戶想關(guān)掉“DisplayAssemblyListing”。如果在調(diào)試UDF的過程中一直打開“InterpretedUDFs”面板,由于在獨(dú)立窗口 gcc:vprofile.c:Nosuchfileordirectorygcc:NoinputfilesError:vprofile.c:line1:syntax為了避免錯(cuò)誤,只需要在“InterpretedUDFs”控制面板中的“SourceFileName”編譯Openinglibrary"libp1/ultra/2d/libudf.so"...編譯和一個(gè)編譯好的UDF的一般程序如下所示在當(dāng)前工 下,建立專門 結(jié)構(gòu)(見7.3.2節(jié))編譯用戶的UDF和修建共享庫(見7.3.3節(jié))在當(dāng)前工 下運(yùn)行FLUENT(或建立)case文件(確信case文件在當(dāng)前工 下)共享庫到FLUENT(見7.3.4節(jié))建 對(duì)于UNIX系統(tǒng)和Windows系統(tǒng)來說,結(jié)構(gòu)是不同的。下面分別介紹在兩種系統(tǒng)下如何建立結(jié)構(gòu)。其中path是用戶直接安裝Fluent.Inc的路徑,x是用戶安裝Fluent版本的相(如,fluent6.0為0)!FLUENT安裝后所釋放的makefile.udf2文件名為Makefile.udf 圖7.3.1為編譯好的UDF建立 的樣本 !不要 (2d,2dhost,等等)下存放任何文件。當(dāng)編譯用戶庫(見1.下,創(chuàng)建一個(gè)用戶庫(如libudf)2.3.在用戶創(chuàng)建的 下,建立一個(gè)用戶源碼、命名為src的源 4.用戶源碼(如udfexample.c)到所建的 irix6.5,需要在makefile single-precisionserial2Dor3D:2dordouble-precisionserial2Dor3D:2ddporsingle-precisionparallel2Dor3D:2d_nodeand2d_hostor3d_nodeand3d_hostdouble-precisionparallel2Dor3D:2ddp_nodeand2ddp_hostor3ddp_nodeand3ddp_host維下有兩 ,二維雙精度版本下有兩 !不要 (2d,2dhost,等等)下存放任何文件。當(dāng)編譯用戶庫(見為了建立共享庫所要求的結(jié)構(gòu),需要按照上面所講的操作步驟進(jìn)行。通過下面的例子來介紹結(jié)構(gòu)的建立,如圖7.3.2所示。需要注意的是在圖7.3.2所示的結(jié)構(gòu)為FLUENT的兩種版本:二維單精度串型圖7.3.2為編譯好的UDF建立 的樣本在當(dāng)前工 下,創(chuàng)建一 用戶庫 (如libudf)在用戶創(chuàng)建的 下,建立一個(gè)用戶源碼、命名為src的源 用戶源碼(如udfexample.c)到所建的 single-precisionserial2Dor3D:2dordouble-precisionserial2Dor3D:2ddporsingle-precisionparallel2Dor3D:2d_nodeand2d_hostor3d_nodeand3d_hostdouble-precisionparallel2Dor3D:2ddp_nodeand2ddp_hostor3ddp_nodeand3ddp_host !對(duì)于并行的版本來說,一定要這兩個(gè)文件到主機(jī)和節(jié)點(diǎn) 示的2d_nodeand2d_host 其中path是用戶直接安裝Fluent.Inc的路徑,x是用戶安裝Fluent版本的相(如,fluent6.0為0)!確定makefile_nt.udf和user_nt.udf為版本所用文件。如果安裝新的重命名makefile_nt.udf為makefile在建 在用戶的 SOURCESFLUENTINC #makefileforuserdefinedfunctions. #Usermodifiable SOURCES=udfexample.c #Buildtargets(donotmodifybelowthis ..CFLAGS_IRIX6R10=-KPIC-ansi-fullwarn-O-改變“-ansi”為“-xansi”,CFLAGS_IRIX6R10=-KPIC-xansi-fullwarn-O- "FLUENT#linkingto../../src/udfexample.cinultra/2d#linkingto../../src/makefileinultra/2d#buildinglibraryin#linkingto../../src/udfexample.cinultra/3d#linkingto../../src/makefileinultra/3d#buildinglibraryin這個(gè)例子中只用了一個(gè)C函數(shù),但是用戶在“SOURCESinthemakefile”下可在建 $(SRC)udfexample2.c)2dnode,3dhost,3dnode,2ddphost,2ddpnode,3ddphost,或3ddpnode。-{none:-{smpi:parallelusingsharedmemory(for-{vmpi:parallelusingsharedmemoryornetworkwithMPI!如果使用的是并行求解器,需要兩個(gè)user_nt.udf文件(一個(gè)是主 一個(gè)是節(jié) ),并且指定兩個(gè)文件適當(dāng)?shù)腟OURCE,VERSION,andNODE在MS-DOS命令提示窗口,鍵入nmake建 ,如\libudf\ntx86\2d\需要注意的是如果創(chuàng)建存在問題,通過鍵入nmakeclean從當(dāng)前工 下啟動(dòng)FLUENT(或設(shè)置)case文件。(確認(rèn)此case文件保存在當(dāng)前的工 下。如果共享庫保存在當(dāng)前工 中,在Library libudf),否則輸入完整路徑,(例如,!注意,如果存放共享庫的不在當(dāng)前的工作或其子下,一定要輸入單擊Open按鈕,這會(huì)將共享庫連接到FLUENT執(zhí)行文件中。求解器會(huì)自動(dòng)搜索相應(yīng)的結(jié)構(gòu)格式和版本。一旦共享庫連接到FLUENT執(zhí)行文件以及case文件被寫入以后,此連接關(guān)系就被保存在case文件中。因此,無論何時(shí)將case文件讀入FLURENT,此共享庫都會(huì)被自動(dòng)連接。 錄時(shí),才可以在CompiledUDFs面板上直接輸入共享庫的 Openin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論