script
OpenFOAM
OpenFOAMDay 19

OpenFOAM Script

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