Download - Openfoam Cavity
入門範例─CAVITY
OpenFOAM入門指引
問題描述 邊長0.1m的正方形區域
上端速度u = 1 m/s,造成內部流體的流動
流體密度1kg/m3,動黏性係數0.01 m2/s
U = 1 m/s
x
y
0.1m
0.1m
Fixed wall
Moving wall
處理順序 前處理
設定形狀及網格
設定邊界條件
設定起始條件
設定執行條件
執行模擬
後處理
檢視結果及輸出
執行 複製cavity案例到$FOAM_RUN
cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity
$FOAM_RUN/run
OpenFOAM係利用資料夾結構管理案例設定檔及得到的結果
檔案架構cavity
0
P
U
0.1
0.5
constant
polyMesh
blockMeshDict
transportProperties
system
controlDict
網格設定檔
如動黏性係數等各項物理性質常數
格格數據及設定
各項物理性質常數及網格
起始條件、邊界條件
壓力的起始條件、邊界條件
速度的起始條件、邊界條件
執行的設定
執行的設定檔
各時段解析結果的資料夾
設定網格 將分析的區域離散化
OpenFOAM有內定的網格產生程式,設定檔在cavity/constant/polyMesh
由其他軟體產生的網格,可利用轉換程式轉換
����頂點座標
x
y
z
01
23
4 5
67
movingWall
fixedWall
frontAndBack
網格設定檔blockMeshDictconvertToMeters 0.1;
vertices
(
(0 0 0)
(1 0 0)
(1 1 0)
(0 1 0)
(0 0 0.1)
(1 0 0.1)
(1 1 0.1)
(0 1 0.1)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1)
);
edges
(
);
頂點座標
編號0的頂點
編號7的頂點
由指定頂點構成區塊
0到7號頂點構成區塊
x,y,z 三方向的網格數
等間隔分割網格
座標值的縮放係數
網格設定檔blockMeshDictpatches
(
wall movingWall
(
(3 7 6 2)
)
wall fixedWalls
(
(0 4 7 3)
(2 6 5 1)
(1 5 4 0)
)
empty frontAndBack
(
(0 3 2 1)
(4 5 6 7)
)
);
mergePatchPairs
(
);
邊界面的設定
名稱為movingWall的壁面(wall)
名稱為fixedWall的壁面(wall)
頂點3,7,6,2構成的面,循右手定則─逆時鐘向外
2D問題用3D網格處理時,前後邊界面設定empty
生成網格資料 由blockMesh產生網格
blockMesh $FOAM_RUN/cavity
執行後,產生以下檔案
constant
polyMesh
boundary
faces
neighbor
owner
points
生成網格資料 boundary檔案顯示邊界面的定義,例如:
movingWall
{
type wall;
physicalType wall;
nFaces 20;
startFace 760;
}
邊界條件 速度:
movingWall:x方向u = 1 m/s , (u, v) = (1, 0)
fixedWall:(u, v) = (0, 0)
frontAndBack:空
壓力:movingWall, fixedWall:0 (zeroGradient)
frontAndBack:空
起始條件 在目錄0的p及U檔
執行條件 執行結束時間0.5s
時間間隔Dt=0.005s,滿足Courant number小於1 的要求,其中U0是流速
儲存時間20Dt
1
005.0),min(
0
U
yxt
執行模擬 在cavity目錄下指行icoFoam