OpenFOAM 4.0 リリースノート

2019年7月14日 (日) 22:10時点におけるMmer547 (トーク | 投稿記録)による版

OpenFOAMの4.0リリース

OpenFOAMの財団は、OpenFOAMのオープンソースCFDツールボックスのバージョン4.0のリリースを発表しました。バージョン4.0は、大幅な改善と汎用性、後処理、ケース管理やソフトウェア管理の変更により、CFDの生産性を向上させます。これは、将来のための強固なプラットフォーム、コアと主要なライブラリの再実装を通じたOpenFOAMの持続的発展、120以上のバグ修正とはるかに優れた一貫性、堅牢性とパフォーマンスを提供します。これは、多数の新規かつ改良された境界条件、新しいリジッドボディダイナミクスライブラリ、および乱流と輸送モデリングの発展、メッシング、ACMIおよび多相、反応流が搭載されています。

バージョン番号は、3桁の形式(例えば、3.0.1)から2桁(例えば、4.0)に簡略化されています。最初の数字がメジャーバージョン番号で、二桁目は、パッチのバージョン番号である。バージョン4.0は、OpenFOAMのバージョン3にはいくつかの下位互換性が維持されていない(ケースインプットファイルにいくつかの変更を必要とする)新しいメジャーバージョンリリースで、バージョン3から900のコードコミットを含みます。

OpenFOAMの4.0は「ISO/ IEC14882:2011(C++11)標準的な」、「C++ compilers in GCC v4.5+ (tested up to v6.1)」、「Intel ICC v15.0.3+」と「Clang v3.6+ (3.7 recommended)」をサポートします。

OpenFOAMの4.0は、OpenFOAM FoundationよりGPLの下で配布されます。

  • Ubuntu Linuxのためのインストールパッケージ。仮想マシンを含む、例えばWindows上で実行される一般的な使用のためにお勧めします。
  • 他のLinuxシステム上でコンパイルするためのソースコード。

ケースマネジメント

  • ケースコントロールコマンドラインインタフェース(CLI):印刷用の新しいfoamDictionaryユーティリティ、コマンドラインから新しい辞書エントリを修正、追加する»more»には、OpenFOAMのユーザーガイド、4.6節を参照してください。
  • foamListTimesは:デフォルトでは0ディレクトリなしで、ケースのための時間ディレクトリを示します。 -rmオプションはリストされているディレクトリを削除して、「foamListTimes -rm」はケースディレクトリをクリーンアップします。
  • foamSearch:ユーザーが特定の名前の辞書ファイルのディレクトリを検索し、ユニークなリストに分類し、特定のキーワードのエントリを抽出することにより、迅速ケースの設定の例を見つけることができます。 " more "
  • チュートリアル:「tutorials」からキャビティとdamBreakのケースを含め、一貫性を保つために、彼らの-自身のケースまたは「チュートリアルディレクトリ」内にすべてのAllrunスクリプトを動かしました。 " more "

後処理および実行時処理

  • 後処理CLI:新しいドキュメントでサポートされている、かなり後処理を簡素化し機能性と保守性を向上させるツールの統一セット。foamCalcやexecFlowFunctionObjectsのような、ユーティリティアプリケーション、関数オブジェクト、チュートリアルファイルおよびツールは分散し、一貫性のない、保守不能、多くの場合、重複した機能で時代遅れとなっています。OpenFOAMのユーザーガイド、6.2項を参照してください。
  • 後処理ユーティリティ:foamCalcとpostCalc » more »とフィールド処理ユーティリティ、 例えば、Co、createTurbulenceFields(現在turbulenceFields)、enstrophy、Lambda2、Mach、patchAverage、patchIntegrate、PE、probeLocations、PTOT、Q、R、sample、wallShearStressとyPlusなどを一般的かつ柔軟なCLIに置き換え。
  • ParaView:バージョン5.0.1にアップグレードし、そのVTKはOpenGL2レンダリングをサポートするように書き換えられます。 " more "
  • グラフとサンプリング:機能はfoamMonitor監視ツールとの互換性、およびより堅牢、簡素化されます(» more », » more »)。 OpenFOAMのユーザーガイド、6.3項を参照してください。
  • 関数オブジェクト:それは、コードを簡略化し、重複を減らし、それが簡単に開発し、利用すること » more »、再設計され、基礎となるコード構造を書き換え。それは、いくつかの関数オブジェクトをリファクタした。例えば、writeObjects(旧writeRegisteredObject» more »)、再設計、再起動オプションを使用して(» more »)、fieldAverage、定常解をサポートしたscalarTransport(» more »)。追加された新しい関数オブジェクト、例えば、 icoUncoupledKinematicCloud (» more »)、writeVTK(» more ») とヒストグラム(» more »)。

境界条件

  • ノースリップ:値のuniform (0 0 0)で固定値に、より堅牢な、便利な代替。 » more »
  • extrapolatedCalculatedFvPatchField:はゼロ勾配の外挿によってパッチ値を計算します。一時的なフィールドのためのzeroGradientのための堅牢な交換は、zeroGradientを継承派生分野に関連するリスクを避けるために。 » more »
  • fixedProfile: 例えば実験データから得られた、入口指定1Dプロファイルを適用。 » more »
  • plenumPressure: 入口のガス上流の密閉容積のゼロ次元モデルに基づいて圧力を計算します。» more »
  • fixedFluxExtrapolatedPressure: それは、フローの衝突のための圧力境界条件を外挿しボディフォース、粘性の高い流れ、圧力誘起分離と入口条件を外挿する。 » more »
  • prghTotalHydrostaticPressure: 例えば、大規模なドメインのためのはるかに正確な同調を提供する遠距離場用基準状態として、静水圧のフィールドを使用しています。例えばfireFoam » more »
  • SRFWallVelocity: single rotating frame (SRF)モデルのWalに速度条件。 " もっと " Time-varying boundary conditions: 実行時選択可能な「単項」機能、1変数のすなわち機能、例えばのための機能1とDataEntryを置き換えます時間»もっと»。既存の集計と多項式関数に加えて、oscillatingFixedValueが正弦関数でuniformFixedValueで置き換えられて正弦波(»もっと»)と広場(»もっと»)波動関数を、追加しました。 " もっと "
  • flowRateInletVelocity:Inletに速度分布の推定値を戻すための新しいオプション。 " もっと "
  • totalPressureFvPatchScalarField (and uniformTotalPressureFvPatchScalarField) : ユーザビリティを向上させました。 " もっと "
  • Note: 算出された境界条件は現在、非初期化の問題を回避するために値を入力する必要があります。 " もっと "

リジッドボディダイナミクス

  • rigidBodyDynamics: n自由度(nは自由度)を並列に、多関節体のダイナミクスのための新しいライブラリ。 " もっと "
  • rigidBodyMeshMotion:  関節、拘束および外力を有する多関節型-剛体メッシュ運動のための新しいライブラリ。" もっと "
  • Vector algebra: 空間ベクトル代数のためにサポートするように設計されています。 " もっと "
  • Examples: interDyMFoamチュートリアル、例えば、海洋工学(DTCHull)は、すべての新しいリジッドボディダイナミクスおよびメッシュモーションライブラリを使うものに更新されます。 " もっと "

カーネギーウェーブエナジー(株)が後援

多相、反応流

  • Lift and drag models: オイラー・オイラー多相ソリューションでダンピングに近い壁をサポートする新しいwallDampedLiftモデル。気液系での気泡のための新しいTomiyamaKataokaZuSakaguchiドラッグモデル。 " もっと "
  • Boundary conditions:新しいtemperatureDependentAlphaContactAngle境界条件»もっと»。新しいfixedMultiPhaseHeatFlux境界条件は、複数のフェーズを横切る全体の壁の熱流束のための壁の温度を算出します。 " もっと "
  • Solvers: »»詳しくはオイラー・オイラー多相ソルバーで遷音速操作するための圧力方程式を修正し、大幅MPPICFoamで充填床に散乱し、かき回す行動を減少させました。 " もっと "
  • Post-processing: 新しいモル分率の関数オブジェクトは、より多くの»を»モル分率のフィールドを書き込みます

太字

Other Modelling and Functionality

  • kOmegaSSTDES: 非圧縮性および圧縮性流体のためのk-ωSST RASモデルに基づいて新しいDES乱流モデル。 " もっと "

Turbulence model sources/constraints: fvOptionsを使用して実行時にプラグインすることができます。 " もっと "

  • logPolynomial: 粘度のための新たな輸送モデル、熱拡散率は、熱物理モデリング・ライブラリーに、OpenFOAMのユーザーガイド、7.1節を参照してください。
  • fireFoam: prghTotalHydrostaticPressure境界条件と組み合わせて使用される圧力と密度の任意の静水圧初期化、。 " もっと "
  • Sources: »詳しくはこちら»圧縮性ソルバのための新しいbuoyancyForceと浮力エネルギー源;再設計され、指定した領域内のフィールド値を制約するために、ValueConstraintを固定します。 " もっと "
  • Meshing: 噛み合い、例えば中に作成されたバッフルインタフェースで一貫性のある顔の向き適切なフラックスの計算を確実にします。 " もっと "; snappyHexMesh»もっと»とcreateBafflesの出力からゼロサイズのパッチを削除しました。 " もっと "
  • ACMI: 例えば、主な制限を削除しました部分的に重複する顔のマッピングに。 " もっと "

Software Management and Development

  • ソースリポジトリのインストールに記載されているようにOpenFOAMののアップグレードをローリング、より速く、より簡単なコンパイルスクリプトとAllwmakeの-updateなどの環境設定に改良を加えたです。
  • foamList: 乱流モデル、関数オブジェクト、fvOptions、スイッチ、および境界条件を含め、OpenFOAMの内のモデルを示しています。 " もっと "
  • Doxygen: 簡略化されたC ++ソース・ガイドを作成するための構成を更新し、OpenFOAMのV4のC++ソース・ガイドとOpenFOAMのv3ののC++ソース・ガイドを発表しました。

User Guide: 4.4数値スキーム、4.5ソリューションコントロール、4.6ケース管理と6ポスト処理の新しい主要な書き換え。 2チュートリアル、3アプリケーションと5メッシュの生成と変換に重要な更新。

  • foamNewBC: スクリプトは、新しい境界条件のためのテンプレートコードを作成します。 " もっと "
  • foamNewApp: このスクリプトは、新しいアプリケーションのテンプレートコードを作成します。 " もっと "
  • foamNewFunctionObject: スクリプトは、新しい関数オブジェクトのためのテンプレートコードを作成します。 " もっと "
  • Messaging: 簡単な情報、エラーおよびクラスコードでデバッグメッセージ、例えばのための新しいInfoInFunction、ErrorInFunction、DebugInFunctionとDEBUGINFOデバッグメッセージ。情報への新しいログは、マクロの出力ログがtrueの場合。 " もっと "

堅牢なデータ処理:フィールドの定数と非const参照機能のための新条約非const関数名が...参考文献を終了();れるinternalFieldは、()内のフィールドへのconst参照を提供し、例えば、のために、internalFieldRef()は非const参照を提供します。 " もっと "; tmpのオブジェクトのために、非constのアクセスは()の間接参照演算子のではなく、REF()関数を使用しています。 " もっと "

  • API: »0»それ以上のプリミティブの簡単で効率的な初期化や割り当てのための新たなゼロ静的定数変数。他のC++ライブラリとのより良い相互運用性のためにMatrixクラスにアドレッシング新しい(i、j)を。 " もっと "

Performance

  • Flux calculation: 新しいFVC::フラックス(volFieldが)関数は、効率性と、キャッシュコヒーレンシを改善し、ピークストレージ»もっと»、新しいプロセッサ・アーキテクチャのための効果的なを減少させ;フラックス計算に補間フィールドを格納回避新しいdotInterpolate機能を使用しています。 " もっと "
  • Matrices: コアOpenFOAMのライブラリ»の»よりに実装しました。 LUsolveで15%のスピードアップのためのMatrixクラスで計算されたオフセットと行開始ポインタ配列を置き換えます。 " もっと "
  • Parallel computation: 並列分解と再構築»もっと»を改善し、最適化されたデータ交換»詳しくはこちら»。そして、並列フィールドマッピングユーティリティマップ長石の動作を改善しました。 " もっと "