液滴着弾計算 その1(blueCFD-core 2024)

簡単な液滴着弾計算をやってみよう.


1 準備

・capilaryRise のチュートリアルを作業領域にコピーする.

 "C:\blueCFD-Core-2024\OpenFOAM-12\tutorials\incompressibleVoF\capillaryRise" をまるごと作業領域にコピー&ペーストする

 ・ケースフォルダの名前をdropletDepo1 と変更する 


2 blockMeshDictの修正

・blockMeshDictを開き 以下に修正する。

 convertToMeters 1e-06;

 vertices ( 

 (0 0 0)

 (100 0 -4.3619387)

 (100 100 -4.3619387)

 (0 100 0)

 (100 0 4.3619387)

 (100 100 4.3619387)

 ); 

blocks ( 

  hex (0 1 2 3 0 4 5 3) (100 100 1) simpleGrading (1 1 1) 

); 

boundary ( 

  TopWall { type patch; faces ((3 2 5 3)); } 

  left { type empty; faces ((0 3 3 0)); } 

  right { type patch; faces ((4 1 2 5)); } 

  front { type wedge; faces ((0 3 2 1)); } 

  back { type wedge; faces ((3 0 4 5)); } 

  bottom { type wall; faces ((0 1 4 0)); } 

); 


・形状は以下の通り  

   後日図追加予定



・blockMeshを実行する 

・paraFoamでメッシュを確認する。 

3 setFieldsDict を修正

・system\setFieldsDict をエディタで開き,以下のように修正する 


regions

  sphereToCell

  { 

    centre (0e-6 20e-6 0e-6); 

    radius 15e-6; 

    fieldValues

    ( 

      volScalarFieldValue alpha.water 1 

      volVectorFieldValue U (0 -1 0) 

    ); 

  } 

);  


4 境界条件設定

・0/alpha.water.orig を開き defaultFaces 以外の境界を削除し、以下を追加 


TopWall {type zeroGradient;} 

 right {type zeroGradient;} 

 bottom { 

   type contactAngle; 

   theta0 74; 

   limit gradient; 

   value uniform 0;

 left {type empty;} 

 front {type wedge;} 

 back {type wedge;} 


注意:他のバージョンは constantAlphaContactAngle; だが このバージョンでは contactAngle; になったようだ. 


・0\ U を開き boundaryField内の defaultFaces 以外の境界を削除し、以下を追加 


 TopWall { type pressureInletOutletVelocity; value uniform (0 0 0); } 

 right { type pressureInletOutletVelocity; value uniform (0 0 0); } 

 bottom { type fixedValue; value uniform (0.0 0.0 0); } 

 left {type empty;} front {type wedge;} 

 back {type wedge;} 


・0\ p_rgh を開き defaultFaces 以外の境界を削除し、以下を追加


 TopWall { type fixedValue; value uniform 0; } 

 right { type fixedValue; value uniform 0; } 

 bottom { type zeroGradient; } 

 left {type empty;} 

 front {type wedge;} 

 back {type wedge;} 


 5 alpha.water.origの退避 

・alpha.water.origをカット&ペーストして,0フォルダの上に移動する.

・alpha.water.orig を0フォルダにコピーして,alpha.water と名前を変更する.

   注:この作業は0フォルダの中に,alpha.water と alpha.water.orig が混在すると,paraviewで0時刻の結果を表示させようとしたら,alpha.waterがうまく表示できないためにやる.


6 setFields実行 

・setFields ↵ 

 以下のメッセージならOK 

Setting field region values 

 Adding cells with centre within sphere, with centre = (0 2e-05 0) and radius = 1.5e-05 

 Setting internal values of volScalarField alpha.water 

  Setting internal values of volVectorField U 

 End


・paraFoamで確認する。 

   Skip Zero Time のチェックをはずし, Refresh ボタンを押す

  場合によっては最初に戻るボタンを押す必要があるかも.

  ( |← のボタン)  

 alpha.water を表示する.  

 液滴が設定されていたらOK 

 ★ 液滴が表示されない場合 0\alpha.water.orig が0フォルダ内にあったらダメ. 0フォルダの1個上の階層に移動すること. 


7 controlDictを確認 

・system\controldictを開き以下に修正する。 


application foamRun; 

solver incompressibleVoF; 

startFrom startTime; 

startTime 0; 

stopAt endTime;

endTime 1e-4; 

deltaT 1e-6; 

writeControl adjustable; 

writeInterval 1e-6; 

purgeWrite 0; 


8 計算実行 

・foamRun ↵ 

・paraFoam で確認 










 

0コメント

  • 1000 / 1000