• 検索結果がありません。

勾配メッシュの作成

ドキュメント内 OpenFOAM User Guide (ページ 38-41)

ここで,四つの異なるメッシュ間隔の計算メッシュが計算領域の上下左右のブロックに必要 となります.このメッシュのブロック構造を図2.12に示します.

0 z y x

3 4 5

8

6 7

1 2

17 15

9 10 11

16

12 13 14

0 1

2 3

図2.12 キャビティケースの勾配メッシュのブロック構造(ブロック番号)

cavityGrade

constant/polyMesh

サブディレクトリで

blockMeshDict

ファイルを見ることが できます.念のため

blockMeshDict

の重要な要素を以下に述べます.それぞれのブロックはx 方向,y方向に

10

セルを有し,もっとも大きなセルともっとも小さなセルとの大きさの比は

2

です.

17 /*---*- C++ -*---*\

18 | ========= | |

19 | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |

20 | \\ / O peration | Version: 2.0.0 |

21 | \\ / A nd | Web: www.OpenFOAM.com |

22 | \\/ M anipulation | |

23 \*---*/

24 FoamFile

25 {

26 version 2.0;

27 format ascii;

28 class dictionary;

29 object blockMeshDict;

30 }

31 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

32

33 convertToMeters 0.1;

34

35 vertices

36 (

37 (0 0 0)

38 (0.5 0 0)

39 (1 0 0)

40 (0 0.5 0)

41 (0.5 0.5 0)

42 (1 0.5 0)

43 (0 1 0)

44 (0.5 1 0)

45 (1 1 0)

46 (0 0 0.1)

47 (0.5 0 0.1)

48 (1 0 0.1)

49 (0 0.5 0.1)

50 (0.5 0.5 0.1)

51 (1 0.5 0.1)

52 (0 1 0.1)

53 (0.5 1 0.1)

54 (1 1 0.1)

55 );

56

57 blocks

58 (

59 hex (0 1 4 3 9 10 13 12) (10 10 1) simpleGrading (2 2 1)

60 hex (1 2 5 4 10 11 14 13) (10 10 1) simpleGrading (0.5 2 1)

61 hex (3 4 7 6 12 13 16 15) (10 10 1) simpleGrading (2 0.5 1)

62 hex (4 5 8 7 13 14 17 16) (10 10 1) simpleGrading (0.5 0.5 1)

63 );

64

65 edges

66 (

67 );

68

69 boundary

70 (

71 movingWall

72 {

73 type wall;

74 faces

75 (

76 (6 15 16 7)

77 (7 16 17 8)

78 );

79 }

80 fixedWalls

81 {

82 type wall;

83 faces

84 (

85 (3 12 15 6)

86 (0 9 12 3)

87 (0 1 10 9)

88 (1 2 11 10)

89 (2 5 14 11)

90 (5 8 17 14)

91 );

92 }

93 frontAndBack

94 {

95 type empty;

96 faces

97 (

98 (0 3 4 1)

99 (1 4 5 2)

100 (3 6 7 4)

101 (4 7 8 5)

102 (9 10 13 12)

103 (10 11 14 13)

104 (12 13 16 15)

105 (13 14 17 16)

106 );

107 }

108 );

109

110 mergePatchPairs

111 (

112 );

113

114 // ************************************************************************* //

いったんこのケースの

blockMeshDict

ファイルを理解しておけば,後はコマンドラインから

blockMesh

を実行できます.2.1.2項に示した

paraFoam

を使用することで勾配付けされたメッ シュを見ることができます.

2.1.6.2

計算時間,時間ステップの変更

もっとも速い速度と小さいセルが上蓋に面することになり,したがって,2.1.1.4で示したよう に,もっとも高いクーラン数が上蓋に面するセルに生じます.このようなことから上蓋に面す るセルの大きさを見積もることは,本ケースにて適当な時間ステップを計算する上で有効です.

一様でないメッシュ勾配を使用している場合,

blockMesh

は形状に関する数列をもちいてセ ルの大きさを算出します.長さlに沿って,最初と最後のセルとの間に,比Rn個の計算セ ルが必要であるならば,もっとも小さいセルの大きさは,次のように与えられます.

∆xs =l r

1

αr

1

(2.5)

ここで,rはあるセルの大きさとその隣のセルの大きさとの比であり,次式で表されます.

r=Rn11

(2.6)

そして,

α=





R

for

R >1,

1

r1+r1

for

R <1.

(2.7)

cavityGrade

ケースにおいては,各方向のセルの数は10であり,もっとも大きなセルと小さなセル

との比は2,ブロックの縦横は0.05 mです.したがって,もっとも小さなセルサイズは3.45 mm となります.式(2.2)から時間ステップは,クラーン数を1以下に抑えるために3.45 ms以下に しなければなりません.有意な解析結果を得るためには,時間ステップ

deltaT

2.5 msまで 短くし,

writeInterval

40

とします.これより解析結果は0.1 sごとに書き出されることと なります.

このように,各設定に対応したファイルを編集することにより,ケースディクショナリの各 種条件を変更することができます.ここで時間ないし計算経過の書き出しを操作したいならば,

/cavityGrade/system/controlDict

ファイル内にそれらのパラメータは納められており,任意の エディタでこのファイルを開くことができます.先に述べたように,計算を収束させるための 保証として,このケースでは時間ステップ

deltaT

0.25e-3

に,

writeInterval

40

とし ます.

startTime

はその

cavityFine

ケースの最終的な条件,すなわち0.7に設定される必要があり ます.

cavity

cavityFine

が規定された実行時間の中でよく収束させるためには,

cavityGrade

ケースのための実行時間を0.1 sに設定,すなわち

endTime

0.8

とします.

2.1.6.3

解析場のマッピング

2.1.5.3にあるように

mapFields

を使用して,

cavityFine

ケースの最終的な結果を

cavityGrade

ケースのメッシュにマッピングします.以下のように

cavityGrade

ディレクトリに入り,

mapFields

を実行してください.

cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavityGrade mapFields ../cavityFine -consistent

今度は,ケースディレクトリから

icoFoam

を実行します.そして,ランタイム情報をモニタリ ングします.そして,このケースの完全に収束した結果を見て,以前に2.1.5.62.1.5.7で説 明した後処理ツールを使って他の結果と比較します.

2.1.7

レイノルズ数の増大

これまで解いたケースはレイノルズ数が10でした.これは大変に低い条件であり,したがっ てキャビティの底部中央に小さな二次渦を伴うのみで,迅速に安定解を導くことができました.

しかし,ここでレイノルズ数を100に上げると,収束解を得るのにより長い時間を要すること になります.そこで

cavity

ケースのメッシュを初期条件として使用することとします.

cavity

ケースディレクトリを

cavityHighRe

という名前でコピーします.

cd $FOAM_RUN/tutorials/incompressible/icoFoam cp -r cavity cavityHighRe

2.1.7.1

後処理

cavityHighRe

ケースに入り,

transportProperties

ディクショナリを編集します.レイノルズ数 を

10

倍に増加させるためには,動粘性係数を

10

分の

1

,すなわち1

×

103m2s1まで減らす 必要があります.これで

cavity

ケースの実行結果からリスタートして,このケースを実行でき ます.これを実行するために,

startFrom

キーワードを

latestTime

にオプションを切り替え ることにより,

icoFoam

は,最新の時間ディレクトリを初期データとして使用します(例えば

0.5

).

endTime

2 sに設定し,本ケースを保存します.

ドキュメント内 OpenFOAM User Guide (ページ 38-41)