topoSet

2.5 topoSet

 

2.5.1 topoSet コマンドとは

topoSetコマンドはディクショナリファイルを元にセットを作成するユーティリティです。

これにより、任意のセットを自動で作成することができます。

以下は、tutorials/multiphase/cavitatingFoam/RAS/throttle のケースでの使用例となります。

このケースでは、blockMeshによって全体のメッシュを作成し、topoSetで細分化したい領域のセットを作成、

refineMeshByCellSetでメッシュの細分化を行なっています。

図22はblockMeshにより作成されたメッシュ、図23は細分化されたあとのメッシュとなります。

このケースでは、topoSetとrefineMeshByCellSetを3回行うことで、流入側を1段階、流出側を2段階細分化しています。

 

図 22 細分化前のメッシュ

 

図 23  細分化後のメッシュ

 

 

2.5.2 コマンドラインオプション

topoSetコマンドを実行するにはtopoSetDictファイルが必要となります。

このファイルが用意されているケースディレクトリ上で以下のように実行することで使用することができます。

 

  $ topoSet  

 

コマンドのオプションとしては、以下があります。

-case <dir> ケースディレクトリを指定します。デフォルトでは現在いるディレクトリです。
-constant constantディレクトリにも適用します。
-decomposeParDict  <file>特定の場所からdecomposeParDictファイルを読み込む場合に使用します。
-dict ディクショナリファイルを指定します。(デフォルトはsystem/topoSetDict)
-latestTime 最新の時間ステップのみに適用します。
-newTimes 新しい時間ステップのみに適用します。
-noFunctionObjects functionObjects を実行しないようにします。
-noSync 隣り合ったパッチを選択しないようにします。
-noZero 0ディレクトリを除外します。
-parallel 並列で実行します。
-region <name> 別のメッシュ領域を指定します。
-roots <(dir1..dirN)> 複数のケースを処理する場合にディレクトリを指定します。
-time <ranges> 指定した時間ステップ内に適用します。 設定例: ‘:10,20,40:70,1000:’
-srcDoc ブラウザを用いてソースコードを表示します。
-doc プラウザを用いてドキュメントを表示します。
-help ヘルプを表示します。

 

 

2.5.3 topoSetDict ファイル

topoSetコマンドを実行するには、topoSetDictが必要となります。

例として、tutorials/multiphase/cavitatingFoam/RAS/throttle におけるtopoSetDictは以下のよう設定されています。

actions
(
  {
    name c0;   //作成するセットの名前
    type cellSet;   //セットの種類、cellSet/faceSet/pointSetなど
    action  new;   //操作の種類 newはセットを新規に作成する
    source boxToCell;   //範囲の指定方法 boxToCellは六面体により指定
    sourceInfo
    {
      box (0.0040.0011) (0.012 0.001 1); //2点による対角線で六面体を指定
    }

  }
);

 

それぞれの項目について説明します。

 

actionsブロックでセットに対して行う操作を指定していきます。

 ・nameでは操作するセットの名前を指定します。

 ・typeではセットの種類を指定します。

   ここでは、pointSet/faceSet/cellSet/faceZoneSet/cellZoneSetから指定することができます。
 ・actionでは行う操作を指定します。

  使用出来るアクションとして以下があります。
   ・clear セットの中身を削除します。
   ・invert 選択を反転します。
   ・remove セットを削除します。
  また、以下のアクションはsourceを必要とします。
   ・new セットを新規作成します。
   ・add セットに追加します。
   ・delete セットを削除します。
   ・subset 別のセットから新たにサブセットを作成します。
  これらのアクションの場合にはsourceとsourceInfoで範囲指定をする必要があります。

 ・sourceでは範囲指定の方法を指定します。

  sourceには代表的なものとして以下があります。
   ・boxToCell 六面体の内部のセルを指定します。
   ・cellToCell 別のcellSetのセルを指定します。
   ・zoneToCell cellZoneのセルを指定します。
 ・sourceによって、sourceInfoの内容が変化します。

  sourceInfoの代表的なものとして以下があります。
   ・box <p0> <p1> p0とp1を対角線とする六面体を範囲とします。
   ・name <Name> Nameで指定したゾーンやパッチを範囲とします。
   ・set <setName> setNameで指定したセットを範囲とします。

 
これらを使用することで、セットの作成を制御することができます。