topoSet コマンド

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

これにより、任意のセットを自動で作成することができます。
以下は、tutorials/multiphase/cavitatingFoam/RAS/throttle のケースでの使用例となります。
このケースでは、blockMeshによって全体のメッシュを作成し、topoSetで細分化したい領域のセットを作成、
refineMeshByCellSetでメッシュの細分化を行なっています。
図22はblockMeshにより作成されたメッシュ、図23は細分化されたあとのメッシュとなります。
このケースでは、topoSetとrefineMeshByCellSetを3回行うことで、流入側を1段階、流出側を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:ヘルプを表示します。

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.004 –0.001 –1) (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で指定したセットを範囲とします。

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

※このオプションはOpenFOAM V1612で動作を確認しています。お使いのバージョンによりましては、本ユーティリティならびにオプションが使えない場合がございます。