IV-1. 2D_to_3D ファイル#

二次元データを三次元データに変換し実行する時に必要とされる入力ファイル 2D_to_3D の入力形式について述べたものです。

入力ファイル 2D_to_3DEMSolution 入力ファイル input の, GEOMETRY(12) =4 を指定したとき必要です。このとき,ATLAS 形式入力の二次元データを,三次元メッシュデータに変換します。入力ファイルは, pre_geom2D であり,出力ファイルは pre_geom となります。ATLAS 形式以外の二次元メッシュファイルはいったん ATLAS 形式の二次元データに変換された後,三次元データに変換されます。スライド運動解析時( MOTION(2) =2の時)においては,可動部メッシュ二次元データ rotor_mesh2D が同様に三次元メッシュに変換されます。

二次元メッシュデータは節点と,平面要素(四角形および三角形要素),二節点線要素および点要素のデータを含むものとします。拡張方向が z 方向の時( EX_DIREC =0)二次元メッシュは x-y 面で定義されているものとし,これをz軸(局所座標において)方向に多層に拡張します。拡張方向が \(\theta\) 方向の時( EX_DIREC =1),二次元メッシュは x-z 面(x≧0)で定義されているものとし,これを \(\theta`(局所座標において)方向に多層に拡張します。要素は一次要素のみを用いることができ, :paramdef:`NODE_ORDER(4)\) = EDGE_ORDER(4) =1 で解析します。

二次元と三次元の要素の対応は以下の通りです。

二次元メッシュと三次元メッシュの対応#

二次元メッシュ

->

三次元メッシュ

四角形要素

->

四角柱 6 面体要素

三角形要素

->

三角柱 5 面体要素

二節点線要素

->

四角形要素

点要素

->

二節点線要素

\(\theta\) 方向拡張の場合は,中心 z 軸に接する要素は一辺が軸上にある四角形要素とし,三角柱要素に拡張されます。また,この場合,軸上の二節点線要素,点要素は許されません。

二次元メッシュの要素に定義されている物性番号は,三次元メッシュにおいて各層に対して再定義できます。二次元メッシュで定義された要素はそのまま三次元メッシュに含まれます。ただし,面要素は正方向(節点順を回る方向としたときの右ねじの方向が z( \(\theta\) )方向となるときが正)に節点番号が変更されます。また,面要素の位置を z( \(\theta\) )方向にずらして三次元メッシュ中に配置することができます。このとき面方向を逆転することもできます。線要素から生成される面要素の方向は,線要素の始点から終点に回転したとき右ねじ方向が正方向になるように定義されます。

Caution

データの入力の形式は,ファイル input と同様で,テキストフォーマットで 2D_to_3D ファイルに記述します。

JSONフォーマットの場合, input.json ファイルの最後に記述します。

設定項目#

2D_to_3D_expansion JSONキー:2D_to_3D_expansionオブジェクト

1_Optional_parameters JSONキー:1_Optional_parametersオブジェクト

NO_LAYERS テキストフォーマット:z( \(\theta\) )方向の要素層数

NO_BASE_MAT_IDS テキストフォーマット:二次元メッシュから三次元に拡張する物性番号の数。

NO_LAYERES_DATA テキストフォーマット:三次元メッシュでの物性番号指定データの数

NO_Z_DATA テキストフォーマット:z( \(\theta\) )方向の座標指定のデータ数

NO_SURFACES テキストフォーマット:z 方向にずらした面のデータの数

COORD_ID 三次元座標を指定する局所座標識別番号

EX_DIRECT 二次元メッシュを三次元に拡張する方向を指定

PITCH 二次元メッシュの要素を三次元メッシュに拡張する際の捻りピッチ

ROTOR_PITCH 二次元メッシュの要素を三次元メッシュに拡張する際の捻りピッチ

2_Expansion_positions JSONキー:2_Expansion_positionsオブジェクト

Z_BASE_POSITION z( \(\theta\) )方向の基準位置

DIVISIONS 各層の分割数を指定する配列

Z_POSITIONS z( \(\theta\) )方向の座標位置を指定する配列

DIVISION_RATIO 各層の分割比を指定する配列

TWIST 各層の捻り角度を指定する配列

LAYER_NO テキストフォーマット:各層の番号を指定する配列

Z_COORDINATE テキストフォーマット:z( \(\theta\) )方向の座標位置を指定する配列

DIVISION_RATIO テキストフォーマット:各層の分割比を指定する配列

TWIST テキストフォーマット:各層の捻り角度を指定する配列

3_Expansion_of_materials JSONキー:3_Expansion_of_materialsオブジェクト

BASE_MAT_IDS 二次元メッシュの物性番号を三次元メッシュの物性番号に変換する配列

DIVISIONS 各層の分割数を指定する配列

MAT_IDS 二次元メッシュの物性番号を三次元メッシュの物性番号に変換する配列

4_Surface_creation JSONキー:4_Surface_creationオブジェクト

BASE_MAT_IDS 二次元メッシュの物性番号を三次元メッシュの物性番号に変換する配列

SURFACE_MAT_IDS z 方向にずらした面の物性番号を指定する配列

LAYER_POSITIONS z 方向にずらした面の位置を指定する配列

設定フォーマット#

テキストフォーマットの折りたたみセクション
種類:

固定パラメータセット

行数:

2

パラメータ数:

2,2

Text format#
* NO_LAYERS * NO_BASE_MAT * NO_LAYER_DATA* NO_Z_DATA * COORD_ID * NO_SURFS * EX_DIREC * PITCH * ROTOR_PITCH *
  I               I             I              I          I           I          I         E          E
* LAYER_NO * Z_COORDINATE * DIVISION_RATIO * TWIST *
    I             E                E          I
    I             E                E          I
*  BASE_MAT_IDS *
                        I    I    I    I
*  LAYER_FROM * TO *  MAT_IDS *
        I    I    I    I    I    I
        I    I    I    I    I    I
*  BASE_MAT_ID * SMAT_ID * LAYER_POSITION *
    I       I       I

JSONフォーマット#

JSON format from 2024.11#
"2D_to_3D_expansion":
{
    "1_Optional_parameters":
    {
        "COORD_ID": I,
        "EX_DIRECT": I,
        "PITCH": E,
        "ROTOR_PITCH": E
    },
    "2_Expansion_positions":
    {
        "Z_BASE_POSITION": E,
        "DIVISIONS": [I, I, I],
        "Z_POSITIONS": [E, E, E],
        "DIVISION_RATIO": [E, E, E],
        "TWIST": [I, I, I]
    },
    "3_Expansion_of_materials":
    {
        "BASE_MAT_IDS": [I, I, I, I],
        "DIVISIONS": [I, I, I],
        "MAT_IDS":
        [
            [I, I],
            [I, I],
            [I, I]
        ]
    },
    "4_Surface_creation":
    {
        "BASE_MAT_IDS": [I],
        "SURFACE_MAT_IDS": [I],
        "LAYER_POSITIONS": [I]
    }
}

詳細説明#

2D_to_3D_expansion#

2D_to_3D_expansion#
JSONキー:

2D_to_3D_expansionオブジェクト

1_Optional_parameters#

1_Optional_parameters#
JSONキー:

1_Optional_parametersオブジェクト

テキストフォーマットの折りたたみセクション
NO_LAYERS(IV-1)#

NO_LAYERS(テキスト)

固定パラメータセット1#
[row, col] = [1, 1]
Type=I

z( \(\theta\) )方向の要素層数。

NO_BASE_MAT_IDS(IV-2)#

NO_BASE_MAT_IDS(テキスト)

固定パラメータセット2#
[row, col] = [1, 2]
Type=I

二次元メッシュから三次元に拡張する物性番号の数。

NO_LAYERES_DATA(IV-3)#

NO_LAYERES_DATA(テキスト)

固定パラメータセット3#
[row, col] = [1, 3]
Type=I

三次元メッシュでの物性番号指定データの数。

NO_Z_DATA(IV-4)#

NO_Z_DATA(テキスト)

固定パラメータセット4#
[row, col] = [1, 4]
Type=I

z( \(\theta\) )方向の座標指定のデータ数。0 のときは,z( \(\theta\) )座標を NO_LAYERS +1 個昇順に指定する。

COORDINATE_ID#

COORDINATE_ID(IV-5)#
テキストフォーマットの折りたたみセクション
固定パラメータセット5#
[row, col] = [1, 5]
Type=I
:

整数 (I)

説明:

三次元座標を指定する局所座標識別番号 ( COORD_ID(12) )。0 の時は全体座標を示す。

テキストフォーマットの折りたたみセクション
NO_SURFACES(IV-6)#

NO_SURFACES(テキスト)

固定パラメータセット6#
[row, col] = [1, 6]
Type=I

z 方向にずらした面のデータの数。

EX_DIREC#

EX_DIRECT(IV-7)#
テキストフォーマットの折りたたみセクション
固定パラメータセット7#
[row, col] = [1, 7]
Type=I
:

整数 (I)

:

0, 1

説明:

二次元メッシュを三次元に拡張する方向を指定する。

  • =0: z 方向に拡張。

  • =1: \(\theta\) 方向に拡張。

z方向拡張の場合は,二次元メッシュは x-y 面で定義されているものとし,これをz軸(局所座標において)方向に多層に拡張します。

\(\theta\) 方向拡張の場合は,二次元メッシュは x-z 面(x≧0)で定義されているものとし,これを :math:`theta`(局所座標において)方向に多層に拡張します。

デフォルト値:

0

PITCH#

PITCH(IV-8)#
テキストフォーマットの折りたたみセクション
固定パラメータセット8#
[row, col] = [1, 8]
Type=E
:

実数 (E)

単位:

m

説明:

二次元メッシュ pre_geom2D の要素を三次元メッシュに拡張する際の捻りピッチを指定する。

z方向 ( EX_DIRECT )=0のみが指定でき,捻りピッチを指定する。

  • PITCH > 0 : 右ねじ方向

  • PITCH < 0 : 左ねじ方向

捻りピッチ拡張は z 方向に拡張する場合,z=0 面が基準となる。

デフォルト値:

0

ROTOR_PITCH#

ROTOR_PITCH(IV-9)#
テキストフォーマットの折りたたみセクション
固定パラメータセット9#
[row, col] = [1, 1]
Type=E
:

実数 (E)

単位:

m

説明:

二次元メッシュ rotor_mesh2D の要素を三次元メッシュに拡張する際の捻りピッチを指定する。

z方向 ( EX_DIRECT )=0のみが指定でき,捻りピッチを指定する。

  • PITCH > 0 : 右ねじ方向

  • PITCH < 0 : 左ねじ方向

捻りピッチ拡張は z 方向に拡張する場合,z=0 面が基準となる。

デフォルト値:

0

2_Expansion_positions#

2_Expansion_positions#
JSONキー:

2_Expansion_positionsオブジェクト

Z_BASE_POSITION#

Z_BASE_POSITION(IV-1)#
:

実数 (E)

説明:

z( \(\theta\) )方向の基準位置。

+z (+ \(\theta\) )方向に積み上げるので,基準位置は最下面の z ( \(\theta\) )座標を指定する。

0 のときは,z=0 を基準位置とする。

DIVISIONS#

DIVISIONS(IV-1)#
:

整数配列 (I)

:

1以上

説明:

各層の分割数を指定する配列。

Z_POSITIONS#

Z_POSITIONS(IV-1)#
:

実数配列 (E)

説明:

z( \(\theta\) )方向の座標位置を指定する配列。

DIVISION_RATIO#

DIVISION_RATIO(IV-1)#
:

実数配列 (E)

説明:

各層の分割比率(等比分割比)を指定する配列。 デフォルト =1

負値の場合は分割比は逆数とする。

TWIST#

TWIST(IV-1)#
:

整数配列 (I)

説明:

各層の捻り設定を指定する配列。

捻りピッチでの拡張指定。 デフォルト =-1

  • =-1:直線拡張。

  • =1:捻り拡張。

Caution

JSONフォーマットの場合,EMSI と同じ設定パラメータであるが,テキストフォーマットの場合は従来通りの設定パラメータとなる。

テキストフォーマットの折りたたみセクション

NO_Z_DATA ≠0 の時,行 2 のデータを NO_Z_DATA +1 組入力する。

最後の行は, LAYER_NO, Z_COORDINATE``の値を指定する。 ``DIVISION_RATIO, TWIST のデータは必要ない。

LAYER_NO(IV-1) .. paramdef:: LAYER_NO(IV-1)

固定パラメータセット1#
[row, col] = [2, 1]
:

整数 (I)

説明:

z 座標を入力する節点層の番号。 1 から NO_LAYERES+1 の値。一番目のデータでは 1, NO_Z_DATA+1 では NO_LAYERS+1 である。

Z_COORDINATE(IV-2)#
固定パラメータセット2#
[row, col] = [2, 2]
:

実数 (E)

説明:

節点層の z( \(\theta\) )座標。

DIVISION_RATIO(IV-3)#
固定パラメータセット3#
[row, col] = [2, 3]
:

実数 (E)

説明:

次の節点層座標までの等比分割比。 負値の場合は分割比は逆数とする。 NO_Z_DATA+1 番目のデータに対しては不要。

TWIST(IV-4)#
固定パラメータセット4#
[row, col] = [2, 4]
:

整数 (I)

:

(-1, 1)

説明:

捻りピッチでの拡張指定。 デフォルト=-1 =-1: 直線拡張。 =1: 捻り拡張。

Note

  • ロータバー34 本,ロータ軸長 42mm の誘導電動機でロータバーを1スロットピッチスキューさせる場合を考えると, ROTOR_PITCH =34×42=1.428m でロータバーが一周期して一致する。

  • エンドリングも含めて 2D_to_3D により拡張することを考えると,下側エンドリングは Z<0 領域に TWIST =-1 で拡張し,ロータコア部は Z=0~42mm まで TWIST =1,上部エンドリングは TWIST =-1 で拡張する。

3_Expansion_of_materials#

3_Expansion_of_materials#
JSONキー:

3_Expansion_of_materialsオブジェクト

BASE_MAT_IDS#

BASE_MAT_IDS(IV-1)#
テキストフォーマットの折りたたみセクション
固定パラメータセット1#
[row, col] = [NO_BASE_MAT_IDS]
:

整数配列 (I)

説明:

二次元メッシュで定義された物性識別番号。 MAT_ID(16.1)

DIVISIONS#

DIVISIONS(IV-1)#
:

整数配列 (I)

説明:

各層の物性識別番号 ( MAT_ID(16.1) )に対する分割数を指定する配列。

物性識別番号の数は NO_BASE_MAT_IDS と同じである。

2_Expansion_positions で指定した分割数 DIVISION と同じ数でなくともよい。ただし,総和は一致すること。

テキストフォーマットの折りたたみセクション

行 2 のデータを NO_LAYERES_DATA 組入力する。

LAYER_FROM(IV-1) .. paramdef:: LAYER_FROM(IV-1) LAYER_TO(IV-1) .. paramdef:: LAYER_TO(IV-1)

固定パラメータセット1#
[row, col] = [2, NO_LAYERES_DATA]
Type=I

LAYER_FROM から LAYER_TO 番目の要素の層に対して物性識別番号を BASE_MAT_IDS に対して物性番号 MAT_IDS の拡張要素を生成する。1 番目のデータでは LAYER_FROM=1,最後のデータでは LAYER_TO=NO_LAYERS である。

MAT_IDS#

MAT_IDS(IV-1)#
テキストフォーマットの折りたたみセクション
固定パラメータセット1#
[row, col] = [NO_BASE_MAT_IDS]
:

整数二次元配列 (I)

説明:

三次元メッシュにおける物性識別番号。

=0 の場合,上の要素層には要素を生成しない。

Hint

二次元メッシュを積み上げて三次元メッシュにするため,積み上げ途中で三次元メッシュの物性番号を変更することで,例えば鉄→空気→鉄のように物性番号を変更することができる。

点要素や線要素を積み上げる場合,指定する層のみに要素を生成することができる。それ以外は =0 とする。

ただし,点要素や線要素は二次元メッシュの要素を積み上げるため,二次元メッシュの物性番号を指定する必要がある。

<設定例>

JSON format from 2024.11#
"MAT_IDS" :
[
    [ 1, 4, 3, 4 ],
    [ 1, 4, 4, 4 ],
    [ 4, 4, 4, 4 ]
]

4_Surface_creation#

4_Surface_creation#
JSONキー:

4_Surface_creationオブジェクト

BASE_MAT_IDS#

BASE_MAT_IDS(IV-1)#
テキストフォーマットの折りたたみセクション
固定パラメータセット1#
[row, col] = [NO_BASE_MAT_IDS]
:

整数配列 (I)

説明:

二次元メッシュで定義された物性識別番号。 MAT_ID(16.1)

SURFACE_MAT_IDS#

SURFACE_MAT_IDS(IV-1)#
テキストフォーマットの折りたたみセクション
固定パラメータセット1#
[row, col] = [NO_BASE_MAT_IDS]
:

整数配列 (I)

説明:

三次元メッシュにおける物性識別番号。

LAYER_POSITIONS#

LAYER_POSITIONS(IV-1)#
テキストフォーマットの折りたたみセクション
固定パラメータセット1#
[row, col] = [NO_BASE_MAT_IDS]
:

整数配列 (I)

説明:

LAYER_POSITION 番目の節点層に二次元メッシュと同じ面要素をコピー生成する。

負値 (<0) の時,面の方向を逆転する。

Note

LAYER_POSITION の値は 1 から NO_LAYERS +1 の値である。すなわち,最下面が 1,最上面が NO_LAYERS +1 である。

NO_LAYERSDISIVIONS の総和である。