Presentation is loading. Please wait.

Presentation is loading. Please wait.

chtMultiRegionSimpleFoamの改造(1) ~ソースを眺める~

Similar presentations


Presentation on theme: "chtMultiRegionSimpleFoamの改造(1) ~ソースを眺める~"— Presentation transcript:

1 chtMultiRegionSimpleFoamの改造(1) ~ソースを眺める~
片山達也 2012/1/28 第10回OpenFOAM勉強会 for

2 目標 chtMultiRegionSimpleFoamは熱輸送/熱伝導 連成ソルバで圧縮性流体を用いている 非圧縮性バージョンがほしい
ソルバ名 流体 熱輸送 固体 熱伝導 chtMultiRegionSimpeFoam buoyantSimpleRadiationFoam似 laplacianFoam似 chtMultiRegionBuoyantBoussinesqSimpleFoam buoyantBoussinesqSimpleFoam 同上(変更しない) 作りたいソルバ 2012/1/28 第10回OpenFOAM勉強会 for

3 まずは マルチリージョンソルバと単領域ソルバの違い を比較する バージョンはOpenFOAM-2.0.1 どこを改造すべきか調べる
あまり深い部分はわからないので概略を理解する バージョンはOpenFOAM-2.0.1 2012/1/28 第10回OpenFOAM勉強会 for

4 MultiRegionソルバをうっすら眺める 1
chtMultiRegionSimpleFoam.C(抜粋) 必要なヘッダーファイルをインクルード 下の”rp”を作るために必要 お約束? “rp”は流体・固体領域にどんな名前の領域があるか保持している 単領域ソルバでいう createMesh.H 2012/1/28 第10回OpenFOAM勉強会 for

5 MultiRegionソルバをうっすら眺める 2
chtMultiRegionSimpleFoam.C(抜粋) 単領域ソルバでいう createFields.H 連続の式の残差の初期化 各流体領域についてのループ 各方程式を解く 他のソルバと同じように各フィールドにアクセスできるようにする 単領域ソルバでいう simpleControl simple(mesh); 2012/1/28 第10回OpenFOAM勉強会 for

6 MultiRegionソルバをうっすら眺める 3
chtMultiRegionSimpleFoam.C(抜粋) 各固体領域についてのループ setRegionFluidFields.Hの固体版 各方程式を解く readFluidMultRegionSIMPLEControls.Hの固体版 データ出力(writeInterval毎) まとめ 2012/1/28 第10回OpenFOAM勉強会 for

7 createMesh.HとcreateFluidMeshes.H
デフォルトのファイルから 読み込むよ “fluidRegions”リストに追加 領域番号 メッシュ情報を持つインスタンス 領域名のファイルから 読み込むよ “mesh”のかわりに”fluidRegions[i]”でメッシュ情報にアクセスできる 2012/1/28 第10回OpenFOAM勉強会 for p. 4へ戻る

8 createFields.HとcreateFluidFields.H
createFields.H(buoyantSimpleRadiationFoam) createFluidFields.H volScalarField の “rho” “rho”ファイルから読み込む メッシュの情報は“mesh”が 持っている “rhoFluid”リストに追加 領域番号と volScalarFeild を持っている “mesh”の部分が “fluidRegion[i]”になっている “thermo”の部分が “thermoFluid[i]”になっている “rho”のかわりに”rhoFluid[i]”で密度を格納するvolScalarFieldにアクセスできる 2012/1/28 第10回OpenFOAM勉強会 for p. 5へ戻る

9 setRegionFluidFields.H
マルチリージョンのフィールドは○○Fluid[i]のようにリスト形式で保持されている。 ややこしいので、 他のソルバと同じように各フィールドにアクセスできるようにしている。 2012/1/28 第10回OpenFOAM勉強会 for p. 5へ戻る

10 solveFluid.H solveFluid.H buoyantSimpleRadiationFoam.C(抜粋)
setRegionFluidFields.Hのおかげで、ほぼ単領域ソルバと同じ記述 もちろん各方程式○Eqn.Hも ほぼ同じ 2012/1/28 第10回OpenFOAM勉強会 for p. 5へ戻る

11 まとめ 下記3ファイルを中心に改造すれば良さそう
createFluidFields.H setRegionFields.H solveFluid.H createFluidFields.Hの書き方がcreateFields.Hと 違うが、setRegionFields.Hのおかげで、ソルバ 部分は単領域の場合と同じように記述できる。 2012/1/28 第10回OpenFOAM勉強会 for

12 今後 改造&テスト 実は、 温度境界のカップリングが悩ましい
CFD OnlineにOpenFOAM-1.6-ext向けの「chtIcoMultiRegionFoam」なるものが・・・  chtIcoMultiRegionFoam - Incompressible version of chtMultiRegionFoam. くじけず参考にしつつ進めていく 2012/1/28 第10回OpenFOAM勉強会 for


Download ppt "chtMultiRegionSimpleFoamの改造(1) ~ソースを眺める~"

Similar presentations


Ads by Google