版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
引言這是開源場運算和操作c++庫類(openfoam)使用指南。她詳細描述了OpenFOAM基本操作。一方面通過第二章一系列教程練習(xí)。然后通過對更多獨立組件更詳細描述學(xué)習(xí)openfoam。Of一方面重要是一種c++庫類,重要用于創(chuàng)立可執(zhí)行文獻,例如應(yīng)用程(application)。應(yīng)用程序提成兩類:求解器,都是為理解決特定持續(xù)介質(zhì)力學(xué)問題而設(shè)計;公用工程,這些是為了執(zhí)行涉及數(shù)據(jù)操作等任務(wù)而設(shè)計。Of涉及了數(shù)量眾多solver和utilities,牽涉問題也比較廣泛。將在第三章進行詳盡描述。Of一種強項是顧客可以通過必要預(yù)備知識(涉及數(shù)學(xué),物理和編程技術(shù))創(chuàng)立新solvers和utilities。Of需要前解決和后解決環(huán)境。前解決、后解決接口就是of自身實用程序(utilities),以此保證協(xié)調(diào)數(shù)據(jù)傳播環(huán)境。圖1.1是of總體構(gòu)造。第4章和第五章描述了前解決和運營of案例。既涉及用of提供meshgenerator劃分網(wǎng)格也涉及第三方軟件生成網(wǎng)格數(shù)據(jù)轉(zhuǎn)換。第六章簡介后解決。Chapter2
指引手冊
在這一章中咱們詳細描述了安裝過程,模仿和后進程解決某些OpenFOAM測試案例,以引導(dǎo)顧客運營OpenFOAM基本程序。$FOAM_TUTORIALS目錄包括許多案件演示of提供所有求解器以及許多共用程序使用,在試圖運營教程之前,顧客必要一方面保證她們已經(jīng)對的地安裝了OpenFOAM。
該教程案件描述blockMesh預(yù)解決工具使用,paraFoam案例設(shè)立和運營OpenFOAM求解器及使用paraFoam進行后解決。使用OpenFOAM支持第三方后解決軟件顧客可以選?。核齻円纯梢园凑战坛淌褂胮araFoam,或當(dāng)需要后解決時參閱第六章第三方軟件使用闡明。OpenFOAM安裝目錄下tutorials目錄中所有指引手冊都是可復(fù)制。教程依照流動類型分列在不同目錄下,相應(yīng)子目錄依照求解器slover分類。例如,所有icoFoam案件存儲在一種子目錄“incompressible/icoFoam”,incompressible表達流動類型為不可壓。如果顧客但愿運營一套例子,建議該顧客復(fù)制tutorials目錄到本地運營目錄。她們可以輕松通過輸入下邊命令來復(fù)制:
mkdir-p$FOAMRUN
cp-r$FOAMTUTORIALS$FOAMRUN2.1蓋驅(qū)動腔流Lid-drivencavityflow本節(jié)將簡介如何進行預(yù)解決,運營和后解決一種例子,涉及二維正方形區(qū)域內(nèi)等溫,不可壓縮流動。圖2.1中幾何體所有邊界都是由壁面。在x方向頂層墻體以1米/秒速度移動,而其她3個墻壁是靜止。最初,流動會假設(shè)為層流,將在均勻網(wǎng)格上使用icoFoam求解器來求解層流等溫不可壓流動。在本教程中,將研究加強網(wǎng)格劃分效果和網(wǎng)格朝向壁面分級效果。最后,流動雷諾數(shù)增長,必要使用用于恒溫不可壓縮紊流pisoFoam求解器.2.1.1前解決通過編輯實例文獻在OpenFOAM中設(shè)立實例,顧客應(yīng)選取一種xeditor進行前解決,如emacs,vi,gedit,kate,nedit等。編輯文獻也許在OpenFOAM中,由于I/O目錄格式核心字意思很明確,很容易使沒有經(jīng)驗顧客理解。模仿實例涉及網(wǎng)格,流場,屬性,控制參數(shù)等數(shù)據(jù)。如4.1節(jié)所述,在OpenFOAM,這些數(shù)據(jù)是存儲在實例目錄下一組文獻中,而不是單個實例文獻,如許多其她流體力學(xué)軟件包。實例目錄予以恰當(dāng)描述性名稱,例如:該教程中第一種例子就叫cavity。在編輯實例文獻和運營cavity實例前準(zhǔn)備工作中,顧客應(yīng)打開該案例目錄:cd/home/turtlebot/OpenFOAM/OpenFOAM-2.3.0/tutorials/incompressible/icoFoam/cavity生成網(wǎng)格OpenFOAM經(jīng)常運營在三維直角坐標(biāo)系統(tǒng)中,生成都是三維幾何構(gòu)造。OpenFOAM默認求解三維問題,可以通過在某些邊界上指定一種'special'empty邊界條件,這些邊界垂直于不規(guī)定解第三維,從而來求解二維問題。(三維如何求解二維問題)cavity腔域是一種在xy平面上邊長d=0.1m正方形。起初用20*20均勻網(wǎng)格。塊構(gòu)造見圖2.2。網(wǎng)格生成器是OpenFOAMblockMesh,依照一種輸入文檔blockMeshDict(在給定實例constant/polyMesh目錄下)中指定描述生成網(wǎng)格。對該實例輸入blockMeshDict如下所示:11formatascii;12classdictionary;13objectblockMeshDict;14}15//*************************************//1617convertToMeters0.1;1819vertices20(21(000)22(100)23(110)24(010)25(000.1)26(100.1)27(110.1)28(010.1)29);3031blocks32(33hex(01234567)(20201)simpleGrading(111)34);3536edges37(38);3940patches41(42wallmovingWall43(44(3762)45)46wallfixedWalls47(48(0473)49(2651)50(1540)51)52emptyfrontAndBack53(54(0321)55(4567)56)57);5859mergePatchPairs60(61);6263//*************************************************************************//
頭7行是文獻頭信息,用寬顯線表達。接下來是FoamFile子目錄中文獻信息,用{...}大括號界定。
注釋(來自蘇軍偉博客):
FoamFile
//文獻頭
{
version
2.0;
//版本號
format
ascii;//存儲形式二進制或者ascii
class
volScalarField;//場類型,體心標(biāo)量場
object
p;//場名字
}在手冊其她某些:為清晰起見并節(jié)約空間,文獻頭,涉及寬顯線及FoamFile子目錄,將會在引用實例文獻時所有省去。文獻一方面指定塊頂點坐標(biāo),然后通過頂點標(biāo)號和單元個數(shù)定義塊(此處僅有一種),最后,它定義邊界塊。建議顧客查閱5.3節(jié)理解blockMeshDict文獻中輸入項含義。
在blockMeshDict文獻上運營blockMesh生成網(wǎng)格。在這個實例目錄中,做到這一點,只需在終端輸入:blockMesh終端窗口產(chǎn)生blockMesh運營狀態(tài)報告。任何blockMeshDict文獻錯誤都會被blockMesh挑出來,所產(chǎn)生錯誤信息直接引導(dǎo)顧客到文獻中產(chǎn)生問題所在行。在該階段不應(yīng)當(dāng)有錯誤。2.1.2邊界和初始條件完畢網(wǎng)格生成,顧客可以看看為這個案例設(shè)立初始場文獻。案例設(shè)立開始時間t=0s,因此初始流場數(shù)據(jù)被設(shè)立在cavity目錄下面名字為0子文獻夾里。文獻夾0里涉及兩個文獻,p和U。每個壓力(p)和速度(U)初始值和邊界條件都必要設(shè)立。讓咱們來檢查下文獻p:17dimensions[02-20000];1819internalFielduniform0;2021boundaryField22{23movingWall24{25typezeroGradient;26}2728fixedWalls29{30typezeroGradient;31}3233frontAndBack34{35typeempty;//空邊界條件,闡明求解是二維流動,這個在openFOAM是獨有,如果遇到該類邊界,該邊界不參加方程//離散,也就是什么都不做。36}37}3839//*************************************************************************//流場數(shù)據(jù)文獻有3個重要輸入:dimensions:指定流場尺度(單位指數(shù)),這里運動學(xué)壓力,即m2s-2(02-20000)(見第4.2.6節(jié)獲取更多信息);internalField:其內(nèi)部文獻數(shù)據(jù)可以是統(tǒng)一,由單一值擬定;不均勻時,流場合有值必要指定(詳細信息見4.2.8節(jié));boundaryField:邊界流場數(shù)據(jù),涉及邊界條件和及所有邊界塊數(shù)據(jù)(詳細信息見4.2.8節(jié))。對于這個腔體例子,邊界僅由壁面構(gòu)成,分為兩種邊界:(1)fixedWall:固定墻涉及側(cè)墻和低墻(2)movingWall:移動墻頂蓋。作為壁面,兩者P文獻都是zeroGradient邊界條件,即“壓力垂直梯度為零”。frontAndBack代表二維狀況下先后兩個塊,因而必要設(shè)立為empty。該實例中,正如大多數(shù)咱們遇到狀況同樣,初始場被設(shè)立為是均勻。在這里,壓力是運動學(xué)上壓力,作為一種不可壓縮狀況,其絕對值是不有關(guān),因而為以便起見設(shè)立為uniform0。(為什么跟絕對值不有關(guān)?)顧客可用同樣方式檢測0/U文獻中速度場。dimensions為對速度所盼望因次,內(nèi)部流場初始化為uniformzero,在這個例子里速度場必要由由3個矢量表達,即均勻(000)見第4.2.5節(jié)獲取更多信息)。對frontAndBack塊,速度邊界流場規(guī)定相似邊界條件。其她方向都是墻:固定墻需要假定無滑移條件,因而fixedValue條件其值為統(tǒng)一(000)。頂面以1米每秒速度沿x方向移動,因而也需要fixedValue條件,但為統(tǒng)一(100)值。物理特性實例物理屬性存儲在后綴為Properties文獻里,放在Dictionaries目錄樹。對于這個icoFoam例子,唯一必要指定運動粘度是存儲在transportProperties目錄中。顧客可以檢查運動粘度與否對的設(shè)立,通過打開transportProperties目錄來查看或編輯入口。運動粘度核心字是nu,在方程中用同音希臘字母ν代表。最初,例子運營時雷諾數(shù)為10,其中雷諾數(shù)定義為:式中,d和1U1分別為特性長度和特性速度,ν為運動粘度。此處d=0.1m,1U1=1m/s,因此Re=10時,ν=0.01m2s?1。因而對的動力粘度文獻入口指定為:control與時間控制、解數(shù)據(jù)讀取與存儲有關(guān)輸入數(shù)據(jù)都是從controlDict目錄讀入。讀者應(yīng)看看這個文獻;作為實例控制文獻,她放在system目錄中。運營開始/結(jié)束時刻及時間步長必要設(shè)立。4.3節(jié)詳細簡介了OpenFOAM提供夠靈活時間控制。在這個教程咱們設(shè)立開始運營時刻從t=0開始,這意味著of需要從文獻夾0讀取流場數(shù)據(jù),更多案例文獻構(gòu)造信息見4.1小節(jié)。因而咱們設(shè)立startFrom核心詞為startTime并指定核心詞startTime為0。對于結(jié)束時間,咱們但愿獲得流動繞空腔循環(huán)(即穩(wěn)定)時穩(wěn)態(tài)解。普通而言,層流中,流體通過該區(qū)域10次才干達到穩(wěn)態(tài)。在這個例子里,流動沒有通過該區(qū)域,由于這里沒有進口也沒有出口。取而代之,設(shè)蓋子穿過腔體10次為結(jié)束時間,即1s;事實上,事后發(fā)現(xiàn)0.5s就足夠了,因而應(yīng)采用該值。指定stopAt核心詞為endTime,并賦值0.5當(dāng)前咱們需要設(shè)立時間步長,由核心詞deltaT代表。運營icoFoam時為達到瞬時精準(zhǔn)及數(shù)值穩(wěn)定,規(guī)定Courant數(shù)不大于1。對于一種單元Courant數(shù)定義如下:δt是時間步長,|U|是通過單元速度大小,δx是該速度方向上單元尺寸。流速在穿過區(qū)域時是變化,必要保證任何地方Co<1。因而咱們以最糟狀況選取δt取值:Co最大值必要與大尺度流速和小單元尺度聯(lián)合效果相一致。這里,這個整個區(qū)域單元尺寸固定,因此Co最大值發(fā)生在緊挨著蓋子地方,這里速度接近1米每秒。單元尺寸為:因而為了達到所有區(qū)域內(nèi)Co<=1,時間步長deltaT設(shè)立必要不大于等于:作為模仿進程,咱們但愿能寫下每隔一段時間成果,這樣咱們就能在后解決包里查當(dāng)作果。核心詞writeControl表達設(shè)立輸出成果時刻某些可選項。這里咱們選取timeStep選項:每隔n次時間步長輸出一次成果,n值由核心詞writeInterval指定。假設(shè)咱們要設(shè)立在時刻0.1,0.2,...,0.5s輸出成果,時間步長是0.005s,因而是每20次步長輸出一次成果,故給writeInterval賦值20。Of會依照當(dāng)前時間創(chuàng)立一種新目錄,例如0.1s,在每個時刻輸出一系列數(shù)據(jù),在4.1章節(jié)有詳細簡介。在icoFoam求解器輸出每個流場信息U和p放在時間目錄里。對于這個例子,在controlDict中輸入如下:離散和線性求解器設(shè)立顧客可以在system目錄下fvSchemes文獻中指定選取有限體積離散法。線性方程求解器規(guī)范和限差和其她算法控制在fvSolution文獻中,同在system目錄下。顧客可以自由查看這些庫類,但是當(dāng)前咱們不需要討論入口數(shù)據(jù),除了fvSolution中PISO子目錄下pRefCell和pRefValue。在封閉系統(tǒng)如腔體內(nèi),用是相對壓力:是壓力范疇而不是絕對值。在這種狀況下,求解器在pRefCell單元中通過pRefValue設(shè)立一種相對值,在該實例中都設(shè)為0。變化其中任何一種值都會只變化絕對壓力場,而不會變化相對壓力場或速度場。2.1.2查看網(wǎng)格在實例運營前,最佳查看一下網(wǎng)格以檢查與否有錯。網(wǎng)格在OpenFOAM提供后解決工具paraFoam中查看,通過在終端在案例目錄下(ying@ying-desktop:~$cd/home/ying/RUN/tutorials/incompressible/icoFoam/cavity回車)輸入:paraFoam來啟動paraFoam后解決。也可以通過另一種目錄位置執(zhí)行:paraFoam-case$FOAM_RUN/tutorials/incompressible/icoFoam/cavity從而打開了ParaView窗口如圖6.1所示。在PipelineBrowser,顧客可以看到ParaView已經(jīng)打開了cavity案例模塊:cavity.OpenFOAM。在點擊Apply按鈕前,顧客需要從RegionStatus和面板上選取某些幾何構(gòu)造。由于該案例很小,通過檢查RegionStatus面板標(biāo)題相鄰box可以很容易地選取所有數(shù)據(jù),這可以自動檢查各個面板中所有獨立部件。然后顧客可以點擊Apply按鈕將幾何構(gòu)造加載到ParaView中。節(jié)中簡介了某些慣用設(shè)立,請查閱該章節(jié)中有關(guān)設(shè)立。之后顧客應(yīng)當(dāng)打開Display面板,其控制著所選模塊可視化重現(xiàn)。在Display面板中,顧客應(yīng)當(dāng)做如下工作,如圖2.3所示:(1)設(shè)立Color為SolidColor;(2)點擊SetSolidColor選取恰當(dāng)顏色,如黑色(對于白色背景);(3)在Style面板,從Representation菜單選取Wireframe。背景顏色可以在頂部菜單面板Edit中選取ViewSettings...來設(shè)立。特別是第一次啟動ParaView,必要如6.1.5節(jié)描述同樣操作。特殊,由于這是一種2D狀況,規(guī)定在Edit菜單中選取ViewSettings窗口,在General面板必要選取UseParallelProjection。在Annotation窗口OrientationAxes可以勾選或不宣,或通過鼠標(biāo)拖曳來移動。2.1.3運營應(yīng)用程序正如一切UNIX/Linux可執(zhí)行軟件,OpenFOAM應(yīng)用程序可以按如下兩種方式運營:作為前臺解決器,也就是說,前臺解決器中shell始終等待,直到命令在給定命令提示符之前完畢為止;作為后臺解決器,不需要在shell接受附加規(guī)定之前完畢。在該狀況下,可以在前臺運營icoFoam。icoFoam求解器即可以通過進入案例目錄,在命令提示符處輸入如下命令:icoFoamThatmeansthatParaViewhasnotbeenbuiltyet.Youcanfollowtheinstructionsfromstepnumber#9fromthispage:從而執(zhí)行,也可以是可選取-case,給定案例目錄,如:icoFoam-case$FOAMRUN/tutorials/incompressible/icoFoam/cavity進程寫入終端,顯示當(dāng)前時間,最大Courant數(shù),所有場初始及最后殘差。2.1.4后解決當(dāng)成果一寫入時間目錄,就可以用paraFoam來查看。回到paraFoam窗口,并且選取cavity.OpenFOAM模塊Properties面板。如果案例模塊對的窗口面板似乎在任何時刻都不存在,則保證:cavity.OpenFOAM是高亮藍色;旁邊eye按鈕是開以顯示圖像是可行;為了使paraFoam準(zhǔn)備好顯示所感興趣數(shù)據(jù),一方面使規(guī)定運營時間為0.5s,如果當(dāng)ParaFoam開著時運營案例,時間目錄中輸出數(shù)據(jù)不會自動在Paraview中加載。為裝載數(shù)據(jù),顧客必要在Properties窗口中選取UpdateGUI,然后點擊綠色Apply按鈕。時間數(shù)據(jù)就會加載到ParaView中。等值面及等值線繪制為查看壓力,顧客應(yīng)當(dāng)打開Disply面板,由于它控制著所選模型可視化體現(xiàn)。為繪制一種簡樸壓力曲線,顧客需要按照下面來選取,如圖2.4詳細所示:在Style面板,從Representation菜單選取Surface;在Color面板,選取。p及RescaletoDataRange,為了看早t=0.5s時刻成果,用VCRControls或者CurrentTimeControls將時間設(shè)為0.5,這些位于ParaView窗口頂部菜單下方工具欄中,見圖6.4.壓力場如預(yù)期同樣,腔體左上部為低壓區(qū),右上角為高壓區(qū),如圖2.5所示。通過點圖標(biāo)。p,壓力場在各個單元間內(nèi)插,從而得到持續(xù)流場。相反,如果顧客選取單元圖標(biāo),在每個單元上就是一種蛋度壓力值,因此每個單元都由單一顏色表達而沒有梯度。顏色棒圖可以在ActiveVariableControls中點擊ToggleColorLegendVisibility而浮現(xiàn),也可以在View菜單選取ShowColorLegend。點擊ActiveVariableControls工具欄或Disply窗口中Color面板中EditColorMap按鈕,顧客就可以設(shè)立顏色棒圖特性范疇,例如文字大小,字型選取及尺度計數(shù)形式等。通過鼠標(biāo)拖動可以變化顏色棒圖在圖像窗口位置。ParaView新版本默認使用顏色尺度為藍色到白色到紅色萬惡不是更常用藍色到綠色到紅色(彩虹)。因而顧客第一次執(zhí)行ParaView時,也許但愿變化顏色尺度,者可以通過在ColorScaleEditor中選取ChoosePreset(初調(diào)),然后選取BluetoRedRainbow。在點擊OK確認后來,顧客就可以點擊MakeDefault按鈕以便ParaView始終采用這種顏色色棒。如果顧客旋轉(zhuǎn)圖像,可以發(fā)現(xiàn)整個幾何表面都按壓力上色了。為產(chǎn)生真實等值線,顧客一方面要產(chǎn)生一種切割面,或者說“slice(切片)”,穿過整個幾何形狀使用Slice濾波器,見節(jié)描述。切割面中心在(0.05,0.05,0.005),垂直線設(shè)為(0,0,1)。一旦產(chǎn)生了切割面,通過使用6.1.6節(jié)所簡介Contourfilter來產(chǎn)生等值線。引入切割面通慣顧客都但愿產(chǎn)生一種穿過平面等值線,而不是等值面。顧客就需要用Slicefilter來創(chuàng)造一種切割面,等值線就在這個切割面上繪制。Slicefilter容許顧客在SliceType中通過設(shè)定center及normal/radius來指定切割Plane,Box或Sphere。顧客可以用鼠標(biāo)操作切割面。然后顧客可以在切割面上運營Contourfilter易產(chǎn)生等值線,操作見.1.6等值線繪制在頂部菜單欄Filter菜單中選取Contour,就可繪制等值線。filter在指定模塊上運營,因此如果模型自身是3D,則等值線會是一系列2D表面分別代表恒定值,也就是說等值面。ContourProperties面板涉及Isosurfaces列表,可以編輯,最以便就是使用NewRange窗口,所選取尺度場從下拉菜單中選取。所得等值線圖如下所示:向量繪制在繪制流速向量之前,需要移走其她已經(jīng)創(chuàng)立模塊,例如上面使用Slice及Contourfilters??赏ㄟ^在以PipelineBrowser中高亮有關(guān)模塊,然后在各自Properties面板中點擊Delete,從而整體移除,也可以通過切換PipelineBrowser中有關(guān)模塊eye按鈕來使其處在不工作狀態(tài)。當(dāng)前咱們但愿在每個單元中心產(chǎn)生一種速度向量點符,一方面要過濾單元中心數(shù)據(jù),如所描述。在PipelineBrowser中使cavity.OpenFOAM模塊高亮,顧客從Filter菜單中選取CellCenters,點擊Apply。在PipelineBrowser中使Centers高亮,然后在Filter菜單中選取Glyph(點符),則Properties窗口應(yīng)當(dāng)如圖2.6所示,在Properties面板,速度流場U自動在vectors菜單中選取,由于它是當(dāng)前唯從來量場。默認圖像ScaleMode為速度VectorMagnitude,但是由于咱們想看到貫穿整個區(qū)域速度,應(yīng)當(dāng)選取off,SetScaleFactor為0.005.點擊應(yīng)用,浮現(xiàn)圖像,但也許是一種單一顏色,例如白色。顧客應(yīng)當(dāng)依照速度量級用顏色標(biāo)記圖像,通過在Disply面板中設(shè)立ColorbyU來控制,也可以在EditColorMap中選取ShowColorLegend(圖例)。輸出如圖2.7所示,在圖中,大寫TimesRomanfonts是在ColorLegend標(biāo)題中選取,通過取消選定AutomaticLabelFormat,在LabelFormat文字框中輸入%-#6.2f將其標(biāo)記為2個固定有效數(shù)字。在ViewSettingsGeneral面板中設(shè)立背景色為白色,見節(jié)描述。6.1.7向量繪制向量平面圖由Glyphfilter產(chǎn)生,filter讀取Vectors中選取場,且提供一種GlyphTypes范疇,Arrow提供一種清晰向量平面圖給GlyphTypes。在一種顧客可以操作其為最佳效果面板,每個圖形均有圖形控制選項。剩余Properties面板重要涉及圖像ScaleMode菜單,最常用ScaleMode選項為:Vector,其中圖像長度正比于向量量級;Off,其中每個圖像都是同樣長度。SetScaleFactor參數(shù)控制圖像基本長度。在單元中心繪制向量默認在單元頂點繪制,但普通但愿在單元中心繪制數(shù)據(jù)。一方面對案例模塊應(yīng)用CellCenters?lter,然后對產(chǎn)生單元中心數(shù)據(jù)應(yīng)用Glyph?lter。流線繪制同樣,在ParaView中繼續(xù)后解決之前,要使之前所描述向量繪制等模塊退出,當(dāng)前但愿繪制速度流線,見6.1.8節(jié)所述。在PipelineBrowser中保持cavity.OpenFOAM模塊高亮,在Filter菜單選取StreamTracer,點擊應(yīng)用。參數(shù)窗口應(yīng)設(shè)立如圖2.8所示。指定Seedpoints(原點)沿著LineSource,其運營垂直于幾何中心,也就是說,從(0.05,0,0.005)到(0.05,0.1,0.005),在本教程中圖像應(yīng)用:pointResolution為21;MaxPropagation為Length0.5;初始StepLength為CellLength0.01;以及IntegrationDirectionBOTH。默認參數(shù)使用Runge-Kutta2IntegratorType。點擊應(yīng)用產(chǎn)生軌跡,然后從Filter中選取Tube來產(chǎn)生高質(zhì)量流線圖。在本圖中,選?。篘un.Sides6;Radius0.0003;Radiusfactor10.流管依照速度量級上色。點擊Apply產(chǎn)生如圖2.9所示。2.1.5增長網(wǎng)格辨別率在每個方向上通過一種2因數(shù)增長網(wǎng)格辨別率,粗網(wǎng)格得出成果可以映射到細網(wǎng)格上,作為問題初始條件。然后將細網(wǎng)格解與粗網(wǎng)格解作對比。用已存在案例創(chuàng)立一種新案例當(dāng)前但愿依照cavity創(chuàng)立一種名為cavityFine新案例,顧客需要克隆cavity案例,并且編輯必要文獻。一方面,在于cavity相似目錄下創(chuàng)立一種新案例文獻,如:cd$FOAMRUN/tutorials/incompressible/icoFoammkdircavityFine然后從cavity案例中拷貝基本文獻到cavityFine中,然后進入cavityFine案例:cp-rcavity/constantcavityFinecp-rcavity/systemcavityFinecdcavityFine創(chuàng)立細網(wǎng)格但愿用blockMesh增長網(wǎng)格單元數(shù)。打開blockMeshDict文獻,編輯block指定信息。塊指定在blocks核心詞下列表中。Block定義句法構(gòu)造見節(jié)完整描述;在該階段只需懂得緊隨hex一方面是塊頂點列表,然后是是每個方向上許多單元數(shù)列表。最初在cavity案例中設(shè)為(20201),當(dāng)前改為(40401)并保存文獻.像之前同樣運營blockMesh,得到新細網(wǎng)格。將粗網(wǎng)格成果映射到細網(wǎng)格mapFields應(yīng)用程序?qū)⑴c一種給定幾何構(gòu)造有關(guān)場映射到此外一種幾何構(gòu)造相應(yīng)場中,在咱們例子中,流場以為是持續(xù),由于源場及目場幾何構(gòu)造及邊界類型或條件都是恒定。在該例子中執(zhí)行mapFields時使用-consistent命令行。從目的案例controlDict中startFrom/startTime指定時間目錄中讀取mapFields映射流場數(shù)據(jù),也就是說,成果被映射到地方。在本例中,但愿從cavity案例粗網(wǎng)格最后成果映射到cavityFine案例中細網(wǎng)格,因而,由于這些成果存儲在cavity0.5文獻中,在controlDict文獻中設(shè)立startTime為0.5,startFrom設(shè)為startTime。當(dāng)前案例已準(zhǔn)備好運營mapFields,輸入mapFields-help迅速顯示mapFields規(guī)定源案例目錄作為自變量。使用-consistent選項,因此應(yīng)用程在cavityFine目錄執(zhí)行:mapFields../cavity-consistent應(yīng)用程序?qū)⑦\營并在終端輸出:Source:"..""cavity"Target:".""cavityFine"CreatedatabasesastimeSourcetime:0.5Targettime:0.5CreatemeshesSourcemeshsize:400Targetmeshsize:1600Consistentlycreatingandmappingfieldsfortime0.5Open?FOAM-1.7.12.1Lid-drivencavityflowU-33interpolatingpinterpolatingUEnd控制調(diào)節(jié)為保持Courant數(shù)不大于1,見節(jié)所討論,由于所有單元尺寸都評分了因此時間步長必要評分,因此controlDict文獻中deltaT設(shè)為0.0025。流場數(shù)據(jù)在固定數(shù)目時間步長間隔時輸出。此處演示如何在固定期間間隔指定數(shù)據(jù)輸出。在controlDict中writeControl核心詞下,在用runTime輸入產(chǎn)生輸出成果間指定一種固定數(shù)量運營時間,而不是通過timeStep輸入固定書目時間步來輸出。在該案例中,顧客應(yīng)當(dāng)指定沒0.1輸出,因而應(yīng)設(shè)立writeInterval為0.1且writeControl為runTime。最后,由于案例是在粗網(wǎng)格成果上開始,只需要運營很短時間就能達到合理收斂為穩(wěn)態(tài)。因此endTime設(shè)為0.7Squebao這些設(shè)立對的并保存文獻。運營代碼作為后臺過程顧客應(yīng)當(dāng)體驗運營icoFoam作為后臺程序,重新定向終端輸出到log文獻,者在之后可以看到。在cavityFine目錄下,顧客執(zhí)行:icoFoam>log&catlog在細網(wǎng)格上繪制向量顧客可以在ParaView中同步打開各種案例,這是由于本質(zhì)上每個新案例就是PipelineBrowser中一種新模塊。當(dāng)在ParaView中打開一種新案例時有一種次要不便,由于有一種前提,所選數(shù)據(jù)是一種帶有擴展名文獻。但是在OpenFOAM中,每個案例存儲在指定目錄構(gòu)造大批沒有擴展名文獻中,paraFoam程序自動運營成果,就是產(chǎn)生一種帶有擴展名.OpenFOAM空白文獻,因而,cavity案例模塊稱為cavity.OpenFOAM。然而,如果顧客但愿在ParaView中直接打開另一種案例,就需要創(chuàng)立這樣一種空白文獻。例如,為加載cavityFine案例,通過輸入下列命令來創(chuàng)立該文獻:cd$FOAMRUN/tutorials/incompressible/icoFoamtouchcavityFine/cavityFine.OpenFOAM當(dāng)前通過在File菜單選取Open,并且通過瀏覽目錄選取cavityFine.OpenFOAM,cavityFine案例可以加載到ParaView中。顧客當(dāng)前可以在ParaView中由細網(wǎng)格繪制向量圖。通過同步使兩個案例glyph激活,圖像可以與cavity案例相比較。繪制圖像顧客也許但愿通過抽取某些速度標(biāo)量及沿著穿過區(qū)域軸線繪制2維圖像來使成果詳細化。OpenFOAM對這種數(shù)據(jù)解決很在行。有無數(shù)應(yīng)用程序可以做專門數(shù)據(jù)解決,某些簡樸計算涉及在一種單個應(yīng)用程序foamCalc中。作為一種應(yīng)用程序,它是獨特,由于它是這樣:foamCalc<calcType><fieldName1...fieldNameN>在<calcType>中指定計算器操作;在輸出時,采用下列操作:addSubtract;randomise;div;components;mag;magGrad;magSqr;interpolate。顧客可以通過故意調(diào)用一種不存在操作來獲得<calcType>列表,因此foamCalc產(chǎn)生一種錯誤信息并且列出可用類型,例如:>>foamCalcxxxxSelectingcalcTypexxxxunknowncalcTypetypexxxx,constructornotinhashtableValidcalcTypeselectionsare:8(randomisemagSqrmagGradaddSubtractdivmaginterpolatecomponents)components及magcalcTypes提供有用速度標(biāo)量。當(dāng)在案例如cavity上運營“foamCalccomponentsU”時,它從每個時間文獻中讀取速度矢量場,在相應(yīng)時間文獻中,輸出標(biāo)量場Ux,Uy,Uz分別代表速度x,y,z分量。類似,“foamCalcmagmagU”輸出一種標(biāo)量場magU到每個時間文獻中,代表速度量級。顧客可以在cavity及cavityFine案例上用componentscalcType運營foamCalc。例如,對于cavity案例,顧客應(yīng)當(dāng)進入cavity目錄并執(zhí)行foamCalc如下:cd/home/ying/RUN/tutorials/incompressible/icoFoam/cavityfoamCalccomponentsU單獨分量可以在ParaView中繪制成圖。這是很迅速,以便,并且在標(biāo)志及格式上有合理好控制,因此打印輸出是相稱好原則品。但是為刊登圖像,顧客也許偏好輸出未加工數(shù)據(jù),然后用專門圖像工具來繪制,例如gnuplot或Grace/xmgr。為此,咱們推薦使用sample應(yīng)用程序,見6.5節(jié)和2.2.3節(jié)。在開始繪制之前,顧客需要加載新產(chǎn)生Ux,Uy及Uz場到ParaView中。為此,在所工作基本模塊例如cavity.OpenFOAM中,需要檢查Properties面板頂部UpdateGUI按鈕。點擊應(yīng)用使新場加載到ParaView中,將出當(dāng)前VolFieldStatus窗口。保證已選取新場且變化得到應(yīng)用,也就是說如果需要再次點擊Apply。同樣,如果在RegionStatus面板上選取了boundaryregions,邊界上數(shù)據(jù)插入錯誤。因而顧客應(yīng)當(dāng)取消RegionStatus面板中邊界,也就是說movingWall,fixedWall及frontAndBack,然后應(yīng)用這些變化。當(dāng)前為了在ParaView中顯示圖像,顧客應(yīng)當(dāng)選取所感興趣模塊,例如cavity.OpenFOAM,從Filter->DataAnalysis菜單應(yīng)用PlotOverLine。這在已存在3DView窗口旁邊打開了一種新XYPlot窗口,創(chuàng)立了一種ProbeLine模塊,在其中顧客可以指定Properties面板中線條終點。在這個例子中,顧客應(yīng)當(dāng)使線條在區(qū)域中心垂直向上,也就是說,在Point1和Point2文本框中,從(0.05,0,0.005)到(0.05,0.1,0.005),設(shè)立Resolution為100.點擊應(yīng)用,在XYPlot窗口浮現(xiàn)圖像,在Display面板,選取2.1.6網(wǎng)格分級在cavityGrade/constant/polyMesh/blockMeshDict文獻中,制定了分級級別,blockMesh依照blockMeshDict文獻劃分網(wǎng)格。convertToMeters0.1;vertices((000)(0.500)(100)(00.50)(0.50.50)(10.50)(010)(0.510)(110)(000.1)(0.500.1)(100.1)(00.50.1)(0.50.50.1)(10.50.1)(010.1)(0.510.1)(110.1));blocks(hex(01439101312)(10101)simpleGrading(221)hex(125410111413)(10101)simpleGrading(0.521)hex(347612131615)(10101)simpleGrading(20.51)hex(458713141716)(10101)simpleGrading(0.50.51));edges();patches(wallmovingWall((615167)(716178))wallfixedWalls((312156)(09123)(01109)(121110)(251411)(581714))emptyfrontAndBack((0341)(1452)(3674)(4785)(9101312)(10111413)(12131615)(13141716)));mergePatchPairs();//*************************************************************************//在終端執(zhí)行:cd/home/ying/RUN/tutorials/incompressible/icoFoam/cavityGradeblockMeshparaFoam所形成網(wǎng)格為接近上下左右壁面處密集,中間稀疏,如右圖所示:變化時間及時間步長接近頂蓋速度最大,單元最小,則最大Co數(shù)產(chǎn)生于頂蓋附近,見節(jié)所述,因而很有必要預(yù)計頂蓋附近單元尺寸,以便計算適當(dāng)時間步。當(dāng)使用非均勻網(wǎng)格梯度,blockMesh通過等比級數(shù)計算單元尺寸。沿著長度為l,有n個單元,最后一種單元與第一種單元之間比例為R,最小單元尺寸δxs為:(2.5)r為相鄰單元尺寸之比:對cavityGrade案例,在每個塊中沿各個方向單元數(shù)為10,最大最小單元比為2,塊高寬為0.05m,因而最小單元長度為3.45mm(l=0.05m,r=2^1/9=1.08,a=R=2),從公式2.2可知,為使Co<1,則時間步<3.45ms,為保證成果在適當(dāng)時間間隔輸出,時間步deltaT減小為2.5ms,設(shè)立writeInterval=40,因此每0.1s輸出一次,這些設(shè)立見cavityGrade/system/controlDict文獻。startTime設(shè)為cavityFine案例結(jié)束時間,也就是0.7,由于cavity和cavityFine在所批示運營時間內(nèi)收斂較好,可以設(shè)立cavityGrade運營時間為0.1s,也就是endTime為.6.3映射流場如節(jié),使用mapFields將cavityFine最后成果映射到cavityGrade網(wǎng)格上,進入cavityGrade目錄并執(zhí)行mapFields:cd/home/ying/RUN/tutorials/incompressible/icoFoam/cavityGrademapFields../cavityFine-consistent當(dāng)前從案例目錄運營icoFoam,并且監(jiān)視時間信息。查看該案例收斂成果并通過后解決工具與其她成果作對比,見節(jié)及節(jié)所描述。2.1.7增長雷諾數(shù)之前所有案例雷諾數(shù)都為10,這個數(shù)非常小不久產(chǎn)生穩(wěn)定解,在腔體底部拐角處僅有很小二次漩渦。當(dāng)前增長雷諾數(shù)到50,此時需要較長時間達到收斂,一方面應(yīng)用cavity案例中粗網(wǎng)格,顧客應(yīng)當(dāng)復(fù)制cavity案例并命名為cavityHighRe:cd/home/ying/RUN/tutorials/incompressible/icoFoamcp-rcavitycavityHighRe前解決進入cavityHighRe案例并編輯transportProperties文獻。由于Re依照因數(shù)10增長,因而要依照因數(shù)10減少動力粘度,即1*10^-3m2s-1.從cavity案例結(jié)束處重新開始運營該案例。為此,設(shè)立startFrom核心詞為latestTime,以便icoFoam提取存儲在近來時刻文獻(也就是0.5)中初始數(shù)值,endTime設(shè)為2s.2.1.8高雷諾數(shù)流動前解決變化cavity案例目錄到$FOAM_RUN/tutorials/incompressible/pisoFoam/-ras目錄下(注意:pisoFoam/ras目錄)。和之前同樣運營blockMesh產(chǎn)生網(wǎng)格,當(dāng)使用帶有壁面函數(shù)standardk?ε模型時,沒有必要使網(wǎng)格朝向壁面分級,這是由于近壁單元流動已經(jīng)建模,而不用辨別。在1.6版本此前,一系列壁面函數(shù)模型在OpenFOAM中可用,在單個邊界上作為邊界條件來提供。這使得在不同壁面區(qū)域可以使用不同壁面函數(shù)模型。壁面函數(shù)模型通過湍流粘度場來指定,在0/nut文獻中νt:dimensions[02-10000];internalFielduniform0;boundaryField{movingWall{typenutWallFunction;valueuniform0;}fixedWalls{typenutWallFunction;valueuniform0;}frontAndBack{typeempty;}}//*************************************************************************//這個案例使用原則壁面函數(shù),在movingWall和fixedWalls由nutWallFunction核心詞指定,其她壁面函數(shù)模型涉及roughwallfunctions,由核心詞nutRoughWallFunction指定。顧客當(dāng)前應(yīng)當(dāng)打開0/k及0/epsilon文獻,檢查邊界條件。對壁面邊界條件,ε指定為epsilonWall-Function邊界條件,k指定為kqRwallFunction邊界條件,后者是一種普通邊界條件,可以提供應(yīng)任何涉及湍流動能類型流場,例如k,q,或者雷諾應(yīng)力R。k及ε初始值由一種預(yù)計波動速度分量U′,以及湍流長度尺度l來指定,k及ε由下列公式定義:此處Cμ是k?ε模型常系數(shù)等于0.09,對笛卡爾坐標(biāo),k為:此處Ux'^2,Uy'^2及Uz'^2是波動速度在x,y,z方向分量。假設(shè)初始湍流是各向同性,即Ux^2=Uy^2=Uz^2,等于頂蓋速度5%,l等于盒子寬度0.1m20%,因此k及ε為:這形成了k及ε初始條件,U及p初始條件分別為(0,0,0)及0,和之前同樣。優(yōu)先于OpenFOAM1.6版本,湍流模仿辦法類型,例如RAS或者大渦模仿(LES)在每個求解器中都聲明了。這導(dǎo)致在求解器應(yīng)用時有諸多重復(fù)代碼,在大某些使用RAS湍流模仿求解器處,將會有等量LES求解器。然而在1.6版本中,湍流模仿辦法是在運營時間選取,通過在turbulenceProperties文獻中simulationType核心詞,顧客可以看到://*************************************//simulationTypeRASModel;//*************************************************************************//simulationType選取有l(wèi)aminar,RASModelandLESModel,在這個案例中選取RASModel,RAS模仿在RASProperties文獻中指定,也在constant目錄中。湍流模型由RASModel選取,從表3.9所列一長串可用模型中。應(yīng)當(dāng)選取kEpsilon模型,這是原則k?ε模型;顧客還需保證湍流計算是啟動。每個湍流模型系數(shù)存儲在各自代碼中,有一系列默認值。設(shè)立printCoeffs為on,當(dāng)模型在運營時間調(diào)用時,就使默認值輸出為原則輸出,也就是說終端,系數(shù)作為子目錄輸出,文獻名為模型名字帶有Coeffs附加字樣,例如,在kEpsilon模型案例中kEpsilonCoeffs。模型(例如kEpsilon)系數(shù)可以修正,通過可選地涉及那個子目錄在RASProperties目錄中,然后相應(yīng)地調(diào)節(jié)值。顧客下一步要在transportProperties中設(shè)立層流動力粘度,為使Re=10^4,依照方程2.1對Re定義,則動力粘度為10^-5。最后,需要早controlDict文獻中設(shè)立startTime,stopTime,deltaT以及writeInterval,設(shè)立deltaT為0.005以滿足Co數(shù)研制,設(shè)立endTime=10s。運營代碼進入案例目錄并輸入“pisoFoam”來執(zhí)行,在該案例中,粘度很低,緊貼移動頂蓋邊界層很薄,頂蓋附近單元相對較大,因此單元中心速度遠不大于頂蓋速度。事實上,在100個時間步之后,很明顯地與頂蓋相鄰單元速度達到一種上限大概為0.2ms^-1,因而最大Co數(shù)沒有超過0.2諸多。通過增長時間步使Co數(shù)更接近1,從而增長求解時間做法是很明智,因而重設(shè)deltaT為0.02s,并且在這種狀況下,設(shè)立startFrom為latestTime,這批示pisoFoam從最后時刻文獻讀取起始數(shù)據(jù),也就是說10.0.endTime應(yīng)當(dāng)設(shè)為20s,由于運營收斂遠比層流狀況要慢。如前重新運營,監(jiān)控收斂解。查看串行時間步成果,作為成果進步,看解與否收斂到穩(wěn)態(tài),或者也許達到周期震蕩狀態(tài)。在后一種狀況下,也許無法達到收斂,但這并不意味著成果不精確。2.1.9變化案例幾何構(gòu)造顧客也許但愿變化案例幾何構(gòu)造,運營一種新模仿。也許需要保持一某些或所有原始成果作為新模仿開始工況。這有點復(fù)雜由于原始解流場與新案例并不一致。但是mapFields應(yīng)用程序可以映射不一致流場,幾何形狀或邊界類型都可以。作為是示范,進入icoFoam目錄中cavityClipped案例,這由原則cavity幾何構(gòu)造構(gòu)成,但是在腔體底部右端去除了一種邊長為0.04m正方形,這是依照blockMeshDict形成:convertToMeters0.1;vertices((000)(0.600)(00.40)(0.60.40)(10.40)(010)(0.610)(110)(000.1)(0.600.1)(00.40.1)(0.60.40.1)(10.40.1)(010.1)(0.610.1)(110.1));blocks(hex(0132891110)(1281)simpleGrading(111)hex(236510111413)(12121)simpleGrading(111)hex(347611121514)(8121)simpleGrading(111));edges();patches(walllid((513146)(614157))wallfixedWalls((08102)(210135)(715124)(412113)(31191)(1980))emptyfrontAndBack((0231)(2563)(3674)(891110)(10111413)(11121514)));mergePatchPairs();//*************************************************************************//用blockMesh產(chǎn)生網(wǎng)格,邊界設(shè)立與之前cavity案例同樣,為在描述場映射過程清晰起見,上壁面邊界重命名為lid,原始cavity中為movingWall邊界。在非一致映射中,不能擔(dān)保所有場數(shù)據(jù)都能從源案例中映射過來。殘留數(shù)據(jù)一定來自目的案例自身流場文獻。因而,在映射之前,流場數(shù)據(jù)一定要存在于目的案例時間文獻中。在cavityClipped案例中,設(shè)映射開始時間為0.5s,這是由于controlDict中startTime設(shè)為0.5s,因而顧客需要復(fù)制初始場數(shù)據(jù)到該目錄下,例如,從時刻0:cd$FOAMRUN/tutorials/incompressible/icoFoam/cavityClippedcp-r00.5在映射數(shù)據(jù)之前,英乎應(yīng)當(dāng)查看幾何形狀及0.5s流場。當(dāng)前要從cavity中映射速度及壓力場到cavityClipped中,由于映射是不一致,需要編輯位于system目錄mapFieldsDict文獻,該文獻涉及兩個核心詞輸入:patchMap及cuttingPatches。patchMap列表涉及從源場到目場邊界映射,用于當(dāng)顧客需要在目的場中集成源場中相應(yīng)邊界值時。在cavityClipped中,咱們但愿從cavitymovingWall集成lid處邊界值,因此必要設(shè)立patchMap為:patchMap(lidmovingWall);cuttingPatches列表涉及目的邊界名字,它值從源內(nèi)部場映射過來,目的邊界通過該內(nèi)部場剪切。在這種狀況下,涉及fixedWalls來顯示修改(插值)過程:cuttingPatches(fixedWalls);當(dāng)前顧客從cavityClipped目錄運營mapFields:mapFields../cavity顧客可以觀測映射場如圖2.13,正如所盼望,從源案例繼承了邊界值,但是事實上咱們但愿在fixedWalls邊界上重設(shè)速度為(0,0,0)。編輯U場,進入fixedWalls邊界,流場由nonuniform改為uniform(0,0,0),nonuniform是一系列規(guī)定整體刪除值,當(dāng)前用icoFoam運營案例。2.1.10后解決修正幾何構(gòu)造速度圖可以如正常案例同樣產(chǎn)生,為比較最初及最后成果,一方面是在時刻0.5s之后是時刻0.6s,此外,提供了幾何構(gòu)造輪廓,它規(guī)定在產(chǎn)生2D案例時要小心。顧客應(yīng)從Filter菜單選取ExtractBlock,在Paramete
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版粉煤灰運輸環(huán)保風(fēng)險評估與治理服務(wù)合同3篇
- 二零二五年服務(wù)合同違約金支付與損害賠償3篇
- 二零二五版地下室房屋租賃合同附條件續(xù)約協(xié)議3篇
- 二零二五版旅游景點停車場車位租賃及旅游服務(wù)合同3篇
- 二零二五版硅酮膠產(chǎn)品市場調(diào)研與分析合同3篇
- 二零二五版白酒瓶裝生產(chǎn)線租賃與回購合同3篇
- 二零二五年度養(yǎng)老社區(qū)場地租賃與管理合同3篇
- 二零二五版消防安全評估與應(yīng)急預(yù)案合同3篇
- 2025年度綠色建筑節(jié)能改造合同范本2篇
- 二零二五版房產(chǎn)抵押合同變更及合同終止協(xié)議3篇
- 大學(xué)計算機基礎(chǔ)(第2版) 課件 第1章 計算機概述
- 數(shù)字化年終述職報告
- 《阻燃材料與技術(shù)》課件 第5講 阻燃塑料材料
- 2025年蛇年年度營銷日歷營銷建議【2025營銷日歷】
- 2024年職工普法教育宣講培訓(xùn)課件
- 安保服務(wù)評分標(biāo)準(zhǔn)
- T-SDLPA 0001-2024 研究型病房建設(shè)和配置標(biāo)準(zhǔn)
- (人教PEP2024版)英語一年級上冊Unit 1 教學(xué)課件(新教材)
- 全國職業(yè)院校技能大賽高職組(市政管線(道)數(shù)字化施工賽項)考試題庫(含答案)
- 2024胃腸間質(zhì)瘤(GIST)診療指南更新解讀 2
- 光儲電站儲能系統(tǒng)調(diào)試方案
評論
0/150
提交評論