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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論