OpenFOAM v2006 リリースノート

2020年6月30日 (火) 22:12時点におけるMmer547 (トーク | 投稿記録)による版

OpenFOAM v2006 リリースノート

アップグレード

非推奨と削除

RANSのクロージャモデルを削除しました: v2f

v2f RANS乱流閉鎖モデルは、OpenFOAMコミュニティのメンバーとの長い議論の結果、kEpsilonPhitFモデルを支持して削除されました。v2fモデルは、(Lien and Kalitzin, 2001)の研究に基づいており、(Durbin, 1995)のオリジナルのv2-f手法を再構築したもので、特に壁境界でのv2とf場の連成定式化に起因する分離解アルゴリズムに固有の数値剛性を低減しています。しかし、このモデルについては、モデルの忠実性の点で様々な欠点が文献で報告されている。v2-f法の欠点を克服するために、(Laurence et al., 2005)は、数値剛性を低減するために、v2スケールを等価な無次元形式、すなわちphitに変換することにより、v2-f法を再評価した。このバリアント、すなわちkEpsilonPhitFは、元のv2-fモデルの理論モデルの忠実度を維持しつつ、数値的なロバスト性とグリッド異常に対する鈍感性を提供すると考えられている。

削除された壁関数:v2WallFunctionとfWallFunction

v2f RANSモデルの削除に続いて、対応する壁関数、すなわち、kEpsilonPhitFモデルで必要とされないfWallFunctionとv2WallFunctionが削除されました。

foamToEnsightPartsを削除しました。

foamToEnsightParts ユーティリティ(シリアルのみ)は、foamToEnsight ユーティリティの改良により冗長になり、削除されました。

名前の変更

nutkAtmRoughWallFunctionの境界条件がatmNutkWallFunctionに改名され、大気モデルの残りの機能名と一貫性を持たせるために、セットアップの下位互換性を提供しませんでした。

Horace Lambの遺産を適切に認識するため、関数オブジェクトlambVectorの名前をLambVectorに変更しました。


設定・環境

ParaViewプラグイン

PV_PLUGIN_PATH は、実際にディレクトリが存在する場合のみ設定してください。 これは最初のコンパイル時に2回のパスが必要になることを意味しますが、その後の信頼性を向上させます。

通常のOpenFOAMインストール以外でビルドされたプラグインのサポートを容易にするために、任意のPV_PLUGIN_PATHをparaFoam用に扱います。paraFoam -help-fullで明らかになるように。


-plugin-path=DIR  Define plugin directory (default: $PV_PLUGIN_PATH)


paraviewプラグインが(可視化モジュールの一部として)ビルドされている場合、それらのプラグインの前にはParaFoamが付けられるようになりました(ParaFoamBlockReaderやParaFoamReaderなど)。


設定ディレクトリの取り扱い

FOAM_CONFIG_MODE環境変数は、シェルソーシング中にどのディレクトリが検索されるかを制限するために、(ugo, o etc)のような値を与えることができます。これは制御性を向上させますが、必要に応じてユーザが誤って設定してしまうことを防ぐために、OpenFOAM prefs.sh ファイル内で独自の値を定義することも可能にします。


FOAM_CONFIG_ETC環境は、プロジェクトなどのファイルを見つけるときに、追加の検索層を注入することを可能にします。

foamCreateModuleInclude のシェル構文

etc/bashrc 自体を調達する代わりに、後から調達するためのシェル環境を事前に生成することができます。

Wmake調整

その他の wmake サブコマンド

これにより、トップレベルのスクリプトを追加することなく、自然に追加機能にアクセスできるようになり、また、スクリプトの再利用が容易になりました。

例えば

wmake -check-dir は 1 つまたは 2 つのディレクトリ名を取り、スタンドアロンスクリプトの wmakeCheckPwd (シンボリックリンクとして利用可能) を置き換えます。

wmake -build-info は、あまり使われていない wmakeBuildInfo を置き換えます。

wclean -build と wclean -platform は、あまり使われていない wcleanBuild と wcleanPlatform をそれぞれ置き換えるためのものです。

統合と改善は次のバージョンに向けて継続します。

追加のコンパイルパラメータ

wmakeシステムは、以下の環境パラメータを通過するようになりました。

FOAM_EXTRA_CFLAGS FOAM_EXTRA_CXXFLAGS FOAM_EXTRA_LDFLAGS

OpenFOAMコードを統合する際に追加のコンパイルパラメータが必要な状況やコンパイルパラメータのカスタムチューニングをサポートします。

Allwmake は 優先的に Allwmake.override スクリプトを扱い、パッケージングツールが代替の Allwmake スクリプトを定義できるようにします。

より多くのポータブルパス wmakeツールチェーンのバイナリ(wmkdepend, lemon, ....)は、platforms/toolsの下に配置されました(以前はwmake/platformsの下にインストールされていました)。これは、ソースのみのパッケージやバイナリのみのパッケージを作成する際に役立ちます。

コンパイラの派生物をより簡単に扱えるようになりました。

これで、コンパイラのバリアントを作成するために[-+.~]で分割することが可能になりました。以下のようなものです。

WM_COMPILER=クラングベンダーのような単純な可読名

異なる情報を組み合わせた将来の定義 例えば

WM_COMPILER=Clang~openmp
WM_COMPILER=Clang+cuda~openmp

spackが使っているのと同じように、+ (足し算) と ~ (引き算) の記法を使います。

オプションで wmake ルールをオーバーライド

オプションの wmake ルールのオーバーライドをサポートします。存在する場合、コンパイラー・ファミリーのオーバーライド・ルールは、コンパイラー・ファミリーの一般的なルールが含まれた後に含まれます。これにより、動的に生成されたコンテンツにいくつかの値をオーバーライドするための中心的な手段を含めることができます。 例えば、異なるバージョンの gcc (システムコンパイラ) を扱うために wmake/rules/linux64Gcc/override には以下のようなものが含まれています。

ifneq (,$(findstring 9, $(WM_COMPILER)))
    cc  := gcc-9
    CC  := g++-9 -std=c++11
endif


前処理

数値演算

ソルバーと物理モデル

境界条件

後処理

ビルドシステム

ドキュメント