IV-1. 2D_to_3D ファイル#
二次元データを三次元データに変換し実行する時に必要とされる入力ファイル 2D_to_3D の入力形式について述べたものです。
入力ファイル 2D_to_3D は EMSolution
入力ファイル 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フォーマット#
"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(テキスト)
[row, col] = [1, 1]
Type=I
z( \(\theta\) )方向の要素層数。
- NO_BASE_MAT_IDS(IV-2)#
NO_BASE_MAT_IDS(テキスト)
[row, col] = [1, 2]
Type=I
二次元メッシュから三次元に拡張する物性番号の数。
- NO_LAYERES_DATA(IV-3)#
NO_LAYERES_DATA(テキスト)
[row, col] = [1, 3]
Type=I
三次元メッシュでの物性番号指定データの数。
- NO_Z_DATA(IV-4)#
NO_Z_DATA(テキスト)
[row, col] = [1, 4]
Type=I
z( \(\theta\) )方向の座標指定のデータ数。0 のときは,z( \(\theta\) )座標を NO_LAYERS
+1 個昇順に指定する。
COORDINATE_ID#
- COORDINATE_ID(IV-5)#
テキストフォーマットの折りたたみセクション
[row, col] = [1, 5]
Type=I
- 型:
整数 (I)
- 説明:
三次元座標を指定する局所座標識別番号 (
COORD_ID(12)
)。0 の時は全体座標を示す。
EX_DIREC#
- EX_DIRECT(IV-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)#
テキストフォーマットの折りたたみセクション
[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)#
テキストフォーマットの折りたたみセクション
[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)
[row, col] = [2, 1]
- 型:
整数 (I)
- 説明:
z 座標を入力する節点層の番号。 1 から NO_LAYERES+1 の値。一番目のデータでは 1, NO_Z_DATA+1 では NO_LAYERS+1 である。
- Z_COORDINATE(IV-2)#
[row, col] = [2, 2]
- 型:
実数 (E)
- 説明:
節点層の z( \(\theta\) )座標。
- DIVISION_RATIO(IV-3)#
[row, col] = [2, 3]
- 型:
実数 (E)
- 説明:
次の節点層座標までの等比分割比。 負値の場合は分割比は逆数とする。 NO_Z_DATA+1 番目のデータに対しては不要。
- TWIST(IV-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)#
テキストフォーマットの折りたたみセクション
[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)
[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)#
テキストフォーマットの折りたたみセクション
[row, col] = [NO_BASE_MAT_IDS]
- 型:
整数二次元配列 (I)
- 説明:
三次元メッシュにおける物性識別番号。
=0 の場合,上の要素層には要素を生成しない。
Hint
二次元メッシュを積み上げて三次元メッシュにするため,積み上げ途中で三次元メッシュの物性番号を変更することで,例えば鉄→空気→鉄のように物性番号を変更することができる。
点要素や線要素を積み上げる場合,指定する層のみに要素を生成することができる。それ以外は =0 とする。
ただし,点要素や線要素は二次元メッシュの要素を積み上げるため,二次元メッシュの物性番号を指定する必要がある。
<設定例>
"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)#
テキストフォーマットの折りたたみセクション
[row, col] = [NO_BASE_MAT_IDS]
- 型:
整数配列 (I)
- 説明:
二次元メッシュで定義された物性識別番号。
MAT_ID(16.1)
SURFACE_MAT_IDS#
- SURFACE_MAT_IDS(IV-1)#
テキストフォーマットの折りたたみセクション
[row, col] = [NO_BASE_MAT_IDS]
- 型:
整数配列 (I)
- 説明:
三次元メッシュにおける物性識別番号。
LAYER_POSITIONS#
- LAYER_POSITIONS(IV-1)#
テキストフォーマットの折りたたみセクション
[row, col] = [NO_BASE_MAT_IDS]
- 型:
整数配列 (I)
- 説明:
LAYER_POSITION
番目の節点層に二次元メッシュと同じ面要素をコピー生成する。負値 (<0) の時,面の方向を逆転する。
Note
LAYER_POSITION
の値は 1 から NO_LAYERS
+1 の値である。すなわち,最下面が 1,最上面が NO_LAYERS
+1 である。
NO_LAYERS
は DISIVIONS
の総和である。