Posted at
OpenFOAMDay 19

OpenFOAM Script

More than 1 year has passed since last update.


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