OpenFOAM Script
第25回オープンCAE勉強会@関西(OpenFOAMなど)の発表資料の一部.
あとで追記予定.
foamUpdateCaseFileHeader
ヘッダ中のVersion番号を現在使用しているOpenFOAMのVersionに更新する。
Usage: foamUpdateCaseFileHeader [OPTION] <file1> ... <fileN>
時刻ディレクトリやsystem,constantの下のファイルのヘッダを全て更新するには、例えば以下のようにすれば良い
foamUpdateCaseFileHeader * */* */*/*
カレントディレクトリ以下の全てのファイルのヘッダを更新するには、findとxargsを用いて以下のようにすれば良い。
find . | xargs foamUpdateCaseFileHeader
なお、OpenFOAMのヘッダが無いファイルは無視される。
run
cd tutorials/incompressible/pisoFoam/ras/cavity
foamUpdateCaseFileHeader * */* */*/*
Invalid case file: 0
Invalid case file: constant
Invalid case file: system
Updating case file: 0/U
Updating case file: 0/epsilon
Updating case file: 0/k
Updating case file: 0/nuTilda
Updating case file: 0/nut
Updating case file: 0/p
Updating case file: constant/RASProperties
Invalid case file: constant/polyMesh
Updating case file: constant/transportProperties
Updating case file: constant/turbulenceProperties
Updating case file: system/controlDict
Updating case file: system/fvSchemes
Updating case file: system/fvSolution
Updating case file: constant/polyMesh/blockMeshDict
Updating case file: constant/polyMesh/boundary
foamRunTutorials
チュートリアルのケースを実行する。
ケースのディレクトリにAllrunがあればそれを実行し、それがなければblockMeshとソルバを実行する。ソルバはsystem/controlDictのapplicationで定義されているコマンドである。
run
cd tutorials/incompressible/simpleFoam/pitzDaily/
foamRunTutorials
Running blockMesh on $FOAM_RUN/tutorials/incompressible/simpleFoam/pitzDaily
Running simpleFoam on $FOAM_RUN/tutorials/incompressible/simpleFoam/pitzDaily
foamCleanTutorials
チュートリアルのケースを初期化する。
ケースのディレクトリにAllwcleanやAllcleanがあればそれを実行し、それらがなければデフォルトの初期化を行う。
foamCleanTutorials
Cleaning $FOAM_RUN/tutorials/incompressible/simpleFoam/pitzDaily case
foamClearPolyMesh
メッシュデータを消去する。
foamClearPolyMesh
Clearing ./constant/polyMesh
foamCopySettings
OpenFOAMのケースをコピーする。ただし、メッシュや解析結果は除外する。
$ foamCopySettings pitzDaily pitzDaily2
synchronizing with
rsync --exclude polyMesh --exclude processor*
pitzDaily/0 -> pitzDaily2/0
pitzDaily/550 [skipped]
pitzDaily/700 [skipped]
pitzDaily/750 [skipped]
pitzDaily/system -> pitzDaily2/system
pitzDaily/768 [skipped]
pitzDaily/100 [skipped]
pitzDaily/300 [skipped]
pitzDaily/constant -> pitzDaily2/constant
pitzDaily/400 [skipped]
pitzDaily/250 [skipped]
pitzDaily/residualUVWP.dat -> pitzDaily2/residualUVWP.dat
pitzDaily/650 [skipped]
pitzDaily/50 [skipped]
pitzDaily/log.blockMesh -> pitzDaily2/log.blockMesh
pitzDaily/450 [skipped]
pitzDaily/500 [skipped]
pitzDaily/log.simpleFoam -> pitzDaily2/log.simpleFoam
pitzDaily/600 [skipped]
pitzDaily/200 [skipped]
pitzDaily/postProcessing -> pitzDaily2/postProcessing
pitzDaily/150 [skipped]
pitzDaily/350 [skipped]
foamSolverSweeps
ソルバの全反復回数等の情報を表示する。
run
cd tutorials/incompressible/simpleFoam/pitzDaily/
foamSolverSweeps
timeFile=/tmp/FOAM_iters.time
runTimeFile=/tmp/FOAM_iters.rtime
piterFile=/tmp/FOAM_iters.piters
uiterFile=/tmp/FOAM_iters.uiters
Name of log file (LOG) : log.simpleFoam ← ソルバのログファイル名を入力
Program: ← ソルバ名が表示されないのはバグ
Runtime:
1st iter : ExecutionTime = 0.87 s ClockTime = 1 s
overall : ExecutionTime = 157.96 s ClockTime = 158 s
Simulation:
steps: 768
from : Time = 1
to : Time = 768
Solver sweeps:
p : 115859
U(U0,U1,U2) : 1875