OpenFOAM

【OpenFOAMの Tips】覚えておくと便利だけど忘れがちなもの

メモに残しておきます。
追加していくのでたまに役に立つかもしれません。

気になる部分は目次からジャンプしてください_(._.)_

bashのプロンプトを変更する

ターミナルのパスが長すぎたりすると改行したり見づらかったりしますよね。
今回は以下のように時刻と改行を入れた設定に変えるようにします。

以下をターミナルで打って、

一番最後の行に下記を追加します。

「:wq」と打てば保存してvimから抜けることができます。

OpenFOAMグループ

こちらに質問と回答が蓄積されているので同じ悩みの方に出会えるかもしれません。

ただ良い回答を得るためには良い質問の仕方があります。

snappyHexMeshでメッシュが思った通りに生成されていないとき

  • 「locationInMesh (2.1 0.09 -1.1);」の座標がおかしい
  • メッシュサイズが大きくて形状変化の解像度をとらえられていない

だいたいどちらか。

並列計算しているなら結合しないとParaViewでは見れない。
並列分割してフォルダ内にprocessorがあるなら、ParaviewのCase TypeをDecomposed Caseに変えると並列分割した状態でも読み込めます。

流量を知りたい

①に残差の例もあります。

実験データと比較したい

だいたいここを見ます。

境界条件を楽にする

共通の設定の場合

デフォルト(全て壁条件)

設定の使いまわし

 

並列計算

並列計算

特定のフォルダの容量調べる

duコマンド

境界条件の候補を調べる

以下が出力される。

ソースコードを探す

全ての$FOAM_APPを出力しておいて、laplacianFoam.Cの検索に引っかかったものだけを抽出

$FOAM_APPの中で拡張子.Cだけを出力しておいて、laplacianFoam検索に引っかかったものだけを抽出

検索したい文字列のファイルを探す

  • l:ファイル名のみ出力
  • n:行番号を出力

メッシュ品質の基準を検索

ファイルのありかを調べる。

以下にあることがわかる。

viコマンドで中身を確認。

品質基準は以下を参照。

メッシュ品質の悪い部分を確認

ls constant/polyMesh/setsで品質の悪い項目のファイルを確認。
constant/polyMesh/sets/ファイル名
ファイル名 = skewFaces

paraviewでvtkを読み込む

  • 高アスペクト比(Aspect Ratio)
    非常に微細な境界層で現れる。
    ソルバーの安定性にとって致命的なものではありませんが、収束速度を著しく低下させる可能性があり
  • 非直交性(Orthogonality)
    3つの値の範囲を定義する
    ・n0 < 70 – 安全な値
    70 < n0 < 90 – fvSolutionのnonOrthoCorrectorやfvSchemesの数値スキームに対して特別な処理を行う必要あり
    ・n0 > 90 – シミュレーションに使用できない悪いメッシュ
  • 歪度(skewness)
    値が大きいと結果の品質(正確さ)が損なわれる可能性がありますが、適度な大きさの歪度パラメータ(20)であれば、シミュレーションに使用することができる
  • Smoothness.

viコマンド

例えばメッシュ品質基準を調べたい場合。

#行数を表示
:set number

/primitiveMesh
n:下へ検索
N(Shift + n):上へ検索

  • :q (上書きせずに閉じる)
  • :q! (編集した場合でも上書きせずに閉じる)
  • :wq (上書き保存)
  • iでその場所から編集
  • Aで最終列に移動して編集
  • uで戻す

圧縮ファイルの解凍

tar.gz

zip

treeコマンドが使えないとき

OpenFOAMの環境変数の確認

こちら

ケースファイルの初期化

初期化したいないように応じてコマンドを使い分ける。

postProcess

controlDictで設定。

コマンド実行

とすると時刻のフォルダにQが出力

sampling

以下のコマンドで結果をpostProcessingに出力。

特定の流束の大きさのみを表示(ParaView)

ParaViewで設定を変えます。
「Edit」>[Settings]から以下の項目にちゅえっくを入れます。

流速のコンターも描くことができます。特定の流速の範囲に絞って表示することができます。

WSLでメモリ不足になったとき

WSLは何も設定しない場合、ホスト(Windows)メモリの 50%または8GBのどちらか少ない方になるように調整します。
Windows側が16GBのメモリの場合は以下のように、

で確認するとトータル7.7BGB使えるようになっており、あふれた分はスワップで2GBまで保持できるようになっています。

シミュレーションをしているとためにメモリが足らなくなるのでもう少し使えるように設定を変えます。
使えるメモリを80%までに引き上げて、残り足らなくなった分は少々遅くなっても良いのでスワップで保持するようにします。

.wslconfig は以下のパスに作成することで、WSL2 起動時に設定が読み込まれる仕組みになっています。

.wslconfigを以下とします。

.wslconfig

PowerShellを管理者権限でシャットダウンします。

 

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です