OpenFOAM-v2206

OpenFOAM-v2206のAllrunがほぼ完了した。総ケース数431、使用ディスク容量:約900GB、総計算時間:約50日(Linuxの場合)であった。

現時点で、データベース化に際して一部の計算をやり直し中であるが、全自動化に向け次バージョンでやり直し作業を極力しなくて済むよう、実行前後の作業要点を取り纏めておくこととした。

なお、Linux(ubuntu)マシンでは全自動化に向け大凡見通しがついているが、Macではv2106では問題無かった箇所でエラーになったなど、やってみてエラー対処した項目が多くあり、今後もバージョンが変わった時の対応については見通し困難である。

Linuxの場合

基本的に、先の記事に記した方法で、ほぼログ解析まで問題なく実行できた。残された手作業項目と、実行エラーしたケースについて、簡単に取り纏めておく。

  • Allrun実行前
    • チュートリアルリスト作成
    • プロセッサ数が不足するケースでのdecomposeParDict変更
    • AllTest実行し、ERRORケース確認
  • ログ解析スクリプト実行前
    • incompressible/pimpleFoam?laminar/cylinder2D ケースの、log.blockMesh.main をlog.blockMesh に変更
  • ログ解析スクリプト実行後
    • ケース名変更
      • combustion/XiFoam/RAS⇒combustion/XiFoam/RAS/moriyoshiHomogeneous
      • compressible/sonicLiquidFoam⇒compressible/sonicLiquidFoam/decompositionTank
    • ディスクスペースの重複カウント修正
      • compressible/rhoPimpleFoam/laminar/helmholtzResonance

foamyHexMeshは、OpenFOAMのバージョンによって、うまく動いたり動かなかったりしている。v2206では、以下のケースでエラー終了していた。

  • mesh/foamyHexMesh/flange
  • mesh/foamyHexMesh/mixerVessel
  • mesh/foamyHexMesh/simpleShapes

MacM1の場合

そもそもMacM1でOpenFOAMを動かすのに何かとノウハウが必要であったが、v2206においては、Linuxの場合の手作業項目に加えて、以下多くの手戻り作業が必要であり、エラーケースも多かった。

但し、ビルドの問題によるやり直しは、Allrun実行前のAllTestの実行ログをきちんと調べておれば対処できていたはずであった。

applications/utilities/surface/ 以下のコマンドがビルドされていなかった。buildディレクトリを見ると、一番最初の「surfaceAdd」しかビルドされていなかった。その他のツールがビルドされなかった原因は不明であるが、とりあえずAllrunチュートリアルの中で使用している以下のツールについては、手動でビルドして、該当チュートリアル(snappyHexMeshを使用するほとんどのケース)をやり直した。

  • surfaceFeatureExtract
  • surfaceRefineRedGreen
  • surfaceBooleanFeatures
  • surfaceOrient
  • surfaceTransformPoints

但し、surfaceBooleanFeatures については、ビルドには成功したものの、実行時に以下のリンクエラー

dyld[4141]: symbol not found in flat namespace (__ZN4Foam16PolyhedronReaderC1ERKNS_10triSurfaceERN4CGAL12Polyhedron_3INS4_5EpeckE8My_itemsNS4_18HalfedgeDS_defaultENSt3__19allocatorIiEEEE)

にて、計算できなかった(以下の2ケース)が、

  • mesh/foamyHexMesh/mixerVesselAMI
  • mesh/foamyHexMesh/simpleShapes

これらのケースは、このエラーが解消できたとしても、foamyHexMesh そのものがうまくいかない可能性が大きい(Linuxマシンでも計算できていない)ので、これ以上の追求は断念した。

reconstructParを実行途中でエラー終了するケースがいくつか存在した。

  • multiphase/icoReactingMultiphaseInterFoam/poolEvaporationMultiComponent
  • multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine
  • multiphase/interFoam/laminar/damBreakPermeable
  • multiphase/interFoam/laminar/vofToLagrangian/eulerianInjection

エラーメッセージは、以下のようなものである。

Time = 0.04

Reconstructing FV fields

Reconstructing volScalarFields

alpha.air
alpha.mercury
alpha.oil

–> FOAM FATAL IO ERROR: (openfoam-2206)
Bad token – could not get scalar value

file: processor2/0.04/alpha.oil at line 8090.

当該ファイルを調べたところ、値が「1.5598e-314」となっていた。e-314 と、あまりに小さな値を解釈できないようだ。ちなみにこの部分、Linuxマシンでは、「0」と出力されており、問題なくreconstruction できていた。

外部ソルバーと連携して計算するケースにおいて、実行に失敗している。

  • heatTransfer/chtMultiRegionFoam/externalCoupledHeater
  • heatTransfer/chtMultiRegionSimpleFoam/externalCoupledHeater
  • compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq

[0] –> FOAM FATAL IO ERROR: (openfoam-2206)
[0] Trying to read data for processor 6 row 0. Does your file have as many rows as there are patch faces (1600) ?
[0]
[0] file: comms/coupleGroup/T.in at line 2.

 

  • basic/laplacianFoam/multiWorld1
  • basic/laplacianFoam/multiWorld2

–> FOAM FATAL ERROR: (openfoam-2206)
The dummy Pstream library cannot be used in parallel mode

  • compressible/rhoCentralFoam/biconic25-55Run35

–> FOAM FATAL IO ERROR: (openfoam-2206)

patch type ‘patch’ not constraint type ‘wedge’
for patch wedge1 of field p in file “/Volumes/Drive1/run/compressible/rhoCentralFoam/biconic25-55Run35/0/p”

file: 0/p.boundaryField.wedge1 at line 32431.

  • heatTransfer/chtMultiRegionFoam/solarBeamWithTrees

> –FOAM FATAL ERROR: (openfoam-2206)
Failed to compile regular expression ‘(U|h|e|k|epsilon|R|)’
An empty regex is not allowed in the POSIX grammar.:

今後

  • データベース化(近日中に実施予定)
  • OpenFOAM v10 については、Linuxマシンで、実行前のAllTestにおいてエラーの無い事も確認し、Allrun本番を開始した(9/15)。
  • 同上、MacM1は当面見送り予定(新たなトラブルが予想されるのと、MacM1で別の用途がある為)。

 

コメントする

メールアドレスが公開されることはありません。