Help us understand the problem. What is going on with this article?

【OpenFOAM/シェル】チュートリアルのAllrunを解読

はじめに

OpenFOAMのチュートリアルケースの中にはAllrunというシェルスクリプトが入っています.内容はシミュレーションのプリ処理(メッシュ作成,並列化処理etc)で,これを使えばいちいち手打ちでコマンド実行することなくシミュレーションを開始できます.処理内容はケースによって様々です.ここではmotorBikeのAllrunについて解読した内容をメモします.自分で読むとシェルスクリプトの勉強になりますね.

環境

Windows 10 Home バージョン 1903
OpenFOAMv7
WSL1

Allrun

パス
/opt/openfoam7/tutorials/incompressible/pisoFoam/LES/motorBike

ソースコード

Allrun
#!/bin/sh
cd ${0%/*} || exit 1    # Run from this directory
# ${0%/*}はAllrun実行場所から見たAllrunの相対パス.どこから実行してもAllrunにcdする

# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# RunFunctionsもシェルスクリプト.
# “.”コマンドで読み込むことでAllrunからRunFunction内のスクリプトが使用可能になる

# copy motorbike surface from resources directory
cp $FOAM_TUTORIALS/resources/geometry/motorBike.obj.gz constant/triSurface/

runApplication blockMesh
# blockMeshを普通に実行するのとほぼ同じ.runApplicationによって引数解析を行っている

cp system/decomposeParDict.hierarchical system/decomposeParDict

runApplication decomposePar -copyZero
# -copyZeroで0ディレクトリを各プロセッサのディレクトリにコピペ

cp system/decomposeParDict.ptscotch system/decomposeParDict
runParallel snappyHexMesh -overwrite
# -overwriteでblockMeshで作成したメッシュを上書き

find . -type f -iname "*level*" -exec rm {} \;
# "level"や"Level"を名前に含むファイルを削除している.不要だから(たぶん)

runParallel renumberMesh -overwrite
# renumberMeshはセル番号を振り直してる.計算高速化のため(たぶん)

runParallel potentialFoam -initialiseUBCs
# -initialiseUBCsで速度の境界条件を初期化

runParallel $(getApplication)
# controlDictのapplicationに書かれているソルバを実行

#------------------------------------------------------------------------------
parapi_fluid
Youtubeチャンネル「流体力学で考えるチャンネル」の管理人です. ここには動画投稿や趣味関連の記事をメモとしてアップします.
https://www.youtube.com/channel/UCzGeixkU8YhmHqnCnU2FoUQ?view_as=subscriber
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away