サイトTopへ

グループ管理されたセルとノード(2015年1月1日)

 Pでは、セルやノードを すべてグループ内に作り、グループ単位で管理します。 従いまして、全く白紙の状態からデータを作る場合に、ユーザがまず最初に行わなければならないことは、これから作ろうとする セルの形状の属性を持ったグループを作ることです。  ここでは、グループの作り方とその役割について簡単に説明します。

新しい P Version 5系では group は番号だけではなく、文字列でも定義できるようになっています。

I. グループ(group)はデータ作成の基本です。

  1. 1つのグループには1種類のセルを指定し、その種類以外セルは作ることはできません。  つまり形状の異なったセル(三角形と四辺形など)を一つのグループに作ることはできません。
    例えば、六面体のセルを作りたいとき

    group 1 hexa

    のように記述するか、コントロールパネルのグループタブで「グループ生成」ボタンを利用します。

  2. 既に作ったグループでセルの種類の定義を変えることはできません。
    既に作ったグループ1 に対して再び、次のように

    group 1 quad

    と指定することはできません。 グループ1をどうしても quad (四辺形)属性に変えたい場合は、一度グループ1 を消して、新たに生成しなければなりません。

  3. 1つのグループに与えることができる座標系(ローカル座標系)は1つです。 ローカル座標系は後で変更はできますが、グループ内に既に作ったノードの座標には影響しません。 次の例は 原点(0,1,2) 、回転軸として右ねじの進む方向をY軸とした場合に30度回転した座標系をローカル座標系にする例です。

    group 1 hexa
    orgin xyz 0 1 2
    axis arg 0 30 0


  4. 1つのグループはユニークなグループ番号によって識別されます。

  5. 新たなグループを作るとそれまでのグループの終了となります。

  6. 既存のグループにノードやセルの追加など、編集を加えたいときは セル形状の属性を与えずに指定します。

    group 1

II. ノード番号とセル番号はグループ単位で使用します。


  1. グループ内ではグループごとに独立したノード番号とセル番号を使用します。(ローカル番号の使用) 従いまして、それまで他のグループで生成したセル・ノード番号との重なりを全く意識しなくて済むようになります。

     
  2. 通常は、グループ内でセル・ノード作成するとき、グループごとに1番から順序づけられた自動生成のローカル番号を使用します。

  3. ローカル座標・ローカル番号はgroup 0 のグローバル座標・グローバル番号に自動的に変換されます。 

  4. もちろん、他のグループのセル・ノード・フェイス・エッジを参照してノードやセルを生成することができます。

III. グループ単位の操作

上記のようにローカル座標系やノード・セルの定義はグループ単位で行いますが、それ以外にグループ単位での操作に便利な文やコマンドが多く用意されてます。 例えば、次のようなものがあります。

  1. ソルバー等の外部出力のために1つのグループには1つのデフォルトの物性番号とセル名称を与えることができます。

    Pで使用するセルの名称は、一般に目的とするソルバーデータのセルの名称(「要素のフィジカルプロパティ」などと呼ばれる場合があります)と異なります。  大抵のプリプロセッサは、目的とするソルバー用の変換コンバータを利用する方式にをとっています。  プリプロセッサコンバータを内蔵するか・外部のものを利用するかの違いはあっても、3次元ポリゴン形状をつくるという部分では、ほとんどセルの名称を置き換えているだけです。   それ以外の境界条件入力とか、特定のセルブロックにテンソル指定するとか複雑な入力条件はソルバーによって千差万別です。

     Pでは、セル一つ一つに異なった任意の文字列の名称を与えることもできますがグループ単位でデフォルトのセル名称を変更することにより、まとめて名称をしていすることができます。 以下に PCMLの文で示した例を掲げますが、GUIコントロールパネルのタブ操作でもほぼ同じことができます。

    例 カレントグループのすべてのセルをQPnというソルバーのセル名に名前付けします。
    name QPn

    例 グループ1のすべてのセルをQPnというソルバーのセル名に名前付けします。
    name QPn grp 1

    例 セル1をQPnというソルバーのセル名に名前付けします。
    name QPn 1 cell 1

    例 セル1,2,5をQPn, 9をQMn というソルバーのセル名に名前付けします。(番号拡張利用)
    name [QPn QPn QPn QMn] cell [1 2 5 9]

    例 セル1〜10をQPnというソルバーのセル名に名前付けします。(番号拡張利用)
    name QPn ce 1:10

    例 グループ1から8までのすべてのセルをMGFフォーマット用のセルにします。
    name MGF grp 1:8


IV. グループ0 (group 0) は特殊なグループ。

グループ番号0のグループは、group 0(グループゼロ)と呼ばれる特殊なグループです。    group 0は 以下のような性質を持っています。

  1. group 0直接操作しないことをお勧めします。

  2. group 0はデータの全体集合です。  group 0には、すべてのノードとセルの実体が定義されています。

  3. セルの種類(形状)を示す名称<shape name>は使用できません。

  4. 他のグループの図形オブジェクトもすべてgroup 0 に属します。 ただし、group 0から見た場合、 他のグループのセル番号・ノード番号はすべてグローバル番号に、ローカル座標は全体座標に換算されています。

  5. すべてのノードはグローバルXYZ座標(全体座標系)として扱われます。

  6. ノード番号とセル番号はグローバル番号です。

  7. グループ管理のない汎用的なセルグリッドモデルの外部データとのやりとりデータ全体のコントロールに利用します。

  8. 実のところ、他のグループのセルとノードはすべてgroup 0の参照で、実体を持っていません。


サイトTopへ