FC2ブログ

OpenFOAM:decomposeParDict

2013-03-24 :  理科部 部活
テーマ:化学、物理、VM、Linux、C言語、Firefox、Safari、IT関連。
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
4、5、2、2、4 2、0、2、0、0(42)で、換算ポイント 112pt 。
遂に僅か四冠!!!  ポイントも、辛うじて3桁!
・-・ - -・

さて、本文。

前回の
OpenFOAM:MS-Windows版 もう一つ」で、

   ・・・・・
   Use scotch as the decomposition method
   ・・・・・

とありました。

改めて、調べてみた。


メッシュ分割については、昨年10月の、
OpenFOAM 学習:並列計算実行」で、

  メッシュを作った後で、

  1.decompsePar でメッシュを分割し、

  2.例えば、「CPU を 4 つ使って並列計算を行う場合」は、
    mpirun -np 4 icoFoam -parallel とする。

  3.結果データは reconstructPar で統合する。


と書いている。

つまり、
「decompsePar」コマンド(?) ツール?
でメッシュを分割するが、
この時、「decomposeParDict」と云うファイル(辞書)が必要。

この辞書ファイルの記述方法について、
良く理解しないで、使っていたようです。

1.書かなくてもいい行まで、見本のママ使っていた。

2.指定する「分割方法」を理解していなかった。


それで、
OpenFOAM 1.6 の「ユーザガイド」の和訳を見ると、

3.4 節に、「アプリケーションの並列実行」
があり、
そこの、「3.4.1 メッシュの分解と初期フィールド・データ」
では、
  メッシュとフィールドは,decomposePar ユーティティを用いて分割します.
  この根本的な目的は,最小限の労力でドメインを分割しつつ,
  解析の効率性を向上させようとするものです.
  ジオメトリとフィールドのデータは,decomposeParDict と名前のつけられた
  ディクショナリの中で指定されたパラメータにより分割されますが,
  このディクショナリは対象とするケースのsystem ディレクトリの中に
  おかれている必要があります.
  もしユーザが必要とする場合には,interFoam/damBreak チュートリアルから
  decomposeParDict ディクショナリをコピーすることができます.
  そして,ディクショナリ中のエントリを次のように置き換えます.

  ・・・・・
  ・・・・・<例示>
  ・・・・・

  ユーザは,以下に述べるmethod キーワードにより指定できる四つの
  分割方法から選択します.

  simple 簡単なジオメトリの分割:ドメインはx,y 方向に,
      例えばx 方向に二つに,y 方向一つにというように,
      ピースが分割されます.

  hierarchical 階層的なジオメトリの分割方法:基本的には
         simple と同じですが,ユーザが,最初にy 方向を,
         次にx 方向を,というように,
         各方向の分割する順番を指定する点が異なっています.

  scotch Scotch 分割はユーザからのジオメトリの入力を必要とせず,
      プロセッサの限界の数値を最小化するよう試みます.
      ユーザは,任意指定のprocessorWeights キーワードにより
      プロセッサ間の重み付けを行うことができるため,
      パフォーマンスの異なるマシン同士を有効に使うことができます.
      また,もう一つstrategy という任意のキーワードエントリがあり,
      複雑な文字列をScotchに渡すことにより分割の戦略を制御できます.
      さらなる情報を得るには,・・・・・を読んでください.

  metis  METIS 分割はScotch と似ていますが,
      このライブラリは商用利用がフリーではないので,
      将来リリースするOpenFOAM ではScotch を支持し,
      こちらは廃止していきます.

  manual マニュアルでの分割:個別のプロセッサに対して,
      各々のセルの割り当てを直接指定します.

  これらの各method については,・・・・・
  ・・・・・
  ・・・・・

でした。


それで、上記の<例示>の様に書いていたが、

「simple」の場合は不要な行も多々あった。

さらに、分割方法として「scotch」が良さそうですね。


本質的には、

   numberOfSubdomains 4;
   method       scotch;

の2行だけでいい。
(これより前(上?)にある記述は必須のようですが)


これからは、「decomposeParDict」辞書ファイルは、
この2行で済ませることにする。
(当然、分割数はCPU数に合わせることになるが)



おそまつでした。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン

日記@BlogRanking    
関連記事
スポンサーサイト



コメントの投稿

管理者にだけ表示を許可する

人気blog Ranking



最新記事
カレンダー
06 | 2021/07 | 08
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

FC2 / i2i / Google




Google Analytics
ブックマーク