capillaryRiseを軸対称2Dに変更しよう(blueCFD-core2024)

日本画像学会のチュートリアルはblueCFD-core-2020 用なのと,x軸を対称軸に設定していますが,y軸を対称軸にした方が変更がスムースなので,この機会に修正します(なぜかx軸を対称軸にしないと計算できないと勘違いしていた・・・).ここでは変更手順のメモを示します.詳細な手順を示したチュートリアルは後日作成します.

このチュートリアルをやる前に capillaryRise を勉強しておくことを強く勧めます.

1 blockMeshDictを変更 

・capillaryRise のチュートリアルをコピーして,capillaryRise2Dと名前を変える. 

・座標を楔形に変更.半径0.8 mm, 高さ13 mmにする 

・分割はx方向8メッシュ,y方向 130メッシュ,z方向 1メッシュ

・frontAndBack → fron と back に分ける 

・axisをつくる 

・図のようにvertices, blocks, boundaryを修正する.  

・実際のblockMeshDict は以下のようになる.

vertices (

  (0 0 0) //0 

  (0.8 0 -0.03) //1 

  (0.8 13 -0.03) //2 

  (0 13 0) //3 

  (0.8 0 0.03) //4 

  (0.8 13 0.03) //5

 ); 

blocks (  hex (0 1 2 3 0 4 5 3) (8 130 1) simpleGrading (1 1 1) ); 

boundary ( 

  inlet { type patch; faces ( (0 1 4 0) ); } 

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

  walls { type wall; faces ( (5 4 1 2) ); } 

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

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

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

);

 

2 境界条件を修正

・alpha.water.org, U, p_rgh の境界条件に以下を追加します. 

 front { type wedge; } 

 back { type wedge; }

 axis { type empty; }


3 setFields を修正

・boxToCell の設定範囲を修正. y方向に500μmまで流体をセットする.

     boxToCell { 

      box (0 0 -1) (1 5e-4 1); 

      fieldValues ( volScalarFieldValue alpha.water 1 ); 

     } 


4 Allclena をつくる 

Allrun を コピーして Allclean をつくる.以下のように修正する.


#!/bin/sh 

cd ${0%/*} || exit 1 # Run from this directory 

# Source tutorial clean functions 

. $WM_PROJECT_DIR/bin/tools/CleanFunctions 

cleanCase 

rm log* # logがあるとrunApplicaitonを実行しない 

cp alpha.water.orig 0/alpha.water 

 # Source tutorial run functions 

. $WM_PROJECT_DIR/bin/tools/RunFunctions 

application=$(getApplication) 

runApplication blockMesh 

runApplication setFields 

#runApplication $application 

#foamRun  


5 重力加速度を正確な値に修正 

・constant\g を開いて以下を修正

      -10 → -9.8

      value (0 -9.8 0);


6 設定確認 

./Allclean を実行し,メッシュとVOF値を確認 

こんな風に下部に流体が設定されていればOK  

7 物性値修正 

・physicalProperties.waterを開いて以下に修正  

 粘性,表面張力を一般的なインクジェットのインクの値にする. 


      viscosityModel constant; 

      nu 7e-06; 

      rho 1000; 


 ・phaseProperties を開いて以下に修正 


       phases (water air); 

       sigma 0.03; 


8 計算条件変更

 ・controlDict を開いて以下に修正 


      endTime 0.1; 

      deltaT 1e-4; 

      writeInterval 0.002; 


9 計算実行 

・foamRun ⏎ で計算開始  

./Allrun ⏎ を実行してもいい 

10 結果確認

・paraFoamで結果をみる

0コメント

  • 1000 / 1000