14. 周期境界条件#
周期境界条件を設定する項目です。特に回転機を対象とする場合は適切な周期境界条件の設定と,スライド運動に関する項目を設定する必要があります。
設定項目#
14_Periodic_Boundary_Conditions
JSONキー:周期境界条件オブジェクト
PERIODIC_CONDITION(14)
JSONキー:周期境界条件設定オブジェクト
CYCLIC(14)
周期境界条件の設定
SYMMETRY(14)
周期境界,反周期境界条件の設定
N_CYCLIC(14)
多重周期境界条件の設定
並進周期境界条件 ( CYCLIC
=1のとき)
DXYZ(14)
並進一周期移動方向のメッシュ長さ
回転周期境界条件 ( CYCLIC
=2, 3のとき)
ANGLE(14)
回転一周期のメッシュ角度
SEPARATE_ANGLE(14)
回転周期境界面を判別するための角度
ヘリカル周期境界条件 ( CYCLIC
=4のとき)
スライド運動( MOTION(2)
=2)を設定する場合
PERIODIC_CONDITION(14)
JSONキー:周期境界条件設定オブジェクト
SLIDE_NDIV(14)
スライド運動解析時の運動方向分割数
SLIDE_MAT_ID(14)
スライド運動時のスライド点もしくはスライド辺の物性番号指定
FITNESS(14)
スライド運動時の可動側と固定側のメッシュ位置の判定値
LINE_INPUT(14)
スライド辺の線分指定
START_END_XYZ(14)
JSONキー:スライド辺の始点,終点による設定
MESH_NO(14)
スライド辺を定義するメッシュファイルの番号
NO_LINES(14)
LINE_INPUTで設定する線分の数
NUMBER_SLIDING_FACES(14)
複数スライド面の指定
設定フォーマット#
テキストフォーマットの折りたたみセクション
- 種類:
固定パラメータセット1
- 行数:
1
- パラメータ数:
8
* CYCLIC * SYMMETRICITY * SLIDE_NDIV * SLIDE_MAT_ID * FITNESS * LINE_INPUT * N_CYCLIC * SLIDE_OPTION *
I I I I E I I I
- 種類:
追加パラメータセット1 | CYCLIC=1のとき
- 行数:
1 * NUMBER_SLIDING_FACES
- パラメータ数:
3
* DX * DY * DZ *
E E E
- 種類:
追加パラメータセット2 | CYCLIC=2または3のとき
- 行数:
1 (2 ANGLE=180のとき,SEPARATE_ANGLEが必要) * NUMBER_SLIDING_FACES
- パラメータ数:
1 (1)
* ANGLE *
E
* SEPARATE_ANGLE *
E
- 種類:
追加パラメータセット3 | CYCLIC=4のとき
- 行数:
1
- パラメータ数:
5
* DX * DY * DZ * PITCH * DEFORM *
E E E E I
- 種類:
追加パラメータセット4 | LINE_INPUT=1, SLIDE_MAT_ID≠-1のとき
- 行数:
1 * NUMBER_SLIDING_FACES
- パラメータ数:
7
* SX * SY * SZ * EX * EY * EZ * MESH_NO *
E E E E E E I
- 種類:
追加パラメータセット5 | SLIDE_MAT_ID=-1(スライド面が複数)のとき
- 行数:
1
- パラメータ数:
1
* NUMBER_SLIDING_FACES *
I
- 種類:
追加パラメータセット4 | SLIDE_MAT_ID=-1(スライド面が複数)のとき
- 行数:
1 * NUMBER_SLIDING_FACES
- パラメータ数:
3
* SLIDE_NDIV * SLIDE_MAT_ID * FITNESS
I I E
- 種類:
追加パラメータセット5 | STEADY_CURRRENT(2)=1あるいは直流場渦電流解析結果を初期値としMULTI≠0のとき
- 行数:
3
- パラメータ数:
5
* NO_REGULAR_MESH *
I
* VELOCITY * REGULAR_NDIV * REGULAR_NMAT *
E I I
* MAT_ID_NOS *
I
テキストサンプル
周期境界条件なし
* CYCLIC * SYMMETRICITY * SLIDE_NDIV * SLIDE_MAT_ID * FITNESS * LINE_INPUT * N_CYCLIC * SLIDE_OPTION *
0
90度回転反対称モデルの場合,スライド方向90分割メッシュ,スライド辺指定要素MatID=51
* CYCLIC * SYMMETRICITY * SLIDE_NDIV * SLIDE_MAT_ID * FITNESS * LINE_INPUT * N_CYCLIC * SLIDE_OPTION *
2 1 90 51
* ANGLE *
90
複数スライド面
並進反対称でスライド面が2面ある場合。LINE_INPUT=1でスライド面を指定。
* CYCLIC * SYMMETRICITY * DIVISION * SURFACE_MAT_ID * FITNESS * LINE_INPUT * N_CYCLIC *
1 1 32 -1 0.1 1 1
* DX * DY * DZ *
0.08 0.0 0.0
* NUMBER_SLIDING_FACES *
2
* DIVISION * SURFACE_MAT_ID * FITNESS *
32 31 0.1
* SX * SY * SZ * EX * EY * EZ * MESH_NO *
0.0 0.0 0.0125 0.0 0.06 0.0125 0
* DIVISION * SURFACE_MAT_ID * FITNESS *
32 32 0.1
* SX * SY * SZ * EX * EY * EZ * MESH_NO *
0.0 0.0 -0.0125 0.0 0.06 -0.0125 0
JSONフォーマット#
周期境界条件なしの場合,定義する必要なし。
PERIODIC_CONDITION
を配列として,複数周期境界条件を設定する。
複数スライド面も配列として設定する。
"14_Periodic_Boundary_Conditions" :
{
"PERIODIC_CONDITION" :
[
{
"CYCLIC" : I,
"SYMMETRY" : I,
"ANGLE" : E,
"SLIDE_CONDITION" :
[
{
"SLIDE_NDIV" : E,
"SLIDE_MAT_ID" : I,
"FITNESS" : E
}
]
},
{
"CYCLIC" : I,
"SYMMETRY" : I,
"DXYZ" : [ E, E, E ],
"SLIDE_CONDITION" :
[
{
"SLIDE_NDIV" : I,
"FITNESS" : E,
"LINE_INPUT" :
{
"MESH_NO" : I,
"START_END_XYZ" :
[
[ E, E, E, E, E, E ]
]
}
}
]
}
]
},
JSONサンプル
90度回転反対称モデルの場合,スライド方向90分割メッシュ,スライド辺指定要素
SLIDE_MAT_ID
=51
"14_Periodic_Boundary_Conditions" :
{
"PERIODIC_CONDITION" :
[
{
"CYCLIC" : 2,
"SYMMETRY" : 1,
"ANGLE" : 90,
"SLIDE_CONDITION" :
[
{
"SLIDE_NDIV" : 90,
"SLIDE_MAT_ID" : 51,
"FITNESS" : 0.0
}
]
}
]
},
複数スライド面
並進反対称でスライド面が2面ある場合。 LINE_INPUT
=1でスライド面を指定。
"14_Periodic_Boundary_Conditions" :
{
"PERIODIC_CONDITION" :
[
{
"CYCLIC" : 1,
"SYMMETRY" : 1,
"DXYZ" : [ 0.08, 0.0, 0.0 ],
"SLIDE_CONDITION" :
[
{
"SLIDE_NDIV" : 32,
"FITNESS" : 0.1,
"LINE_INPUT" :
{
"MESH_NO" : 0,
"START_END_XYZ" :
[
[ 0.0, 0.0, 0.0125, 0.0, 0.06, 0.0125 ]
]
}
},
{
"SLIDE_NDIV" : 32,
"FITNESS" : 0.1,
"LINE_INPUT" :
{
"MESH_NO" : 0,
"START_END_XYZ" :
[
[ 0.0, 0.0, -0.0125, 0.0, 0.06, -0.0125 ]
]
}
}
]
}
]
},
詳細説明#
14_Periodic_Boundary_Conditions#
- 14_Periodic_Boundary_Conditions#
- JSONキー:
周期境界条件オブジェクト
PERIODIC_CONDITION#
- PERIODIC_CONDITION(14)#
- JSONキー:
周期境界条件設定オブジェクト
CYCLIC#
- CYCLIC(14)#
テキストフォーマットの折りたたみセクション
[row, col] = [1, 1]
設定値 |
説明 |
---|---|
0 デフォルト値 |
周期境界条件無し。 |
1 |
並進周期対称。 |
2 |
回転周期対称。 |
3 |
回転周期とz反転に関して対称。 |
4 |
ヘリカル周期対称。 |
SYMMETRY#
- SYMMETRY(14)#
テキストフォーマットの折りたたみセクション
[row, col] = [1, 2]
設定値 |
説明 |
---|---|
0 デフォルト値 |
周期境界条件。対称移動に関して,磁場/電場の方向が変らない。 |
1 |
反周期境界条件。対称移動に関して,磁場/電場の方向が反転する。 |
並進周期境界条件 (CYCLIC=1のとき)#
DXYZ#
- DXYZ(14)#
- 型:
実数配列 (E)
- 単位:
m
- 説明:
並進一周期移動方向のメッシュ長さ。
DX
=0.08mの場合,X方向運動と設定し,X方向のメッシュ長さと一致する。
JSON
フォーマットでは配列として入力。
Note
DXYZ
= [0.08, 0.0, 0.0]の場合,X方向運動と設定し,X方向のメッシュ長さと一致する。
回転周期境界条件 (CYCLIC=2, 3のとき)#
ANGLE#
- ANGLE(14)#
テキストフォーマットの折りたたみセクション
[row, col] = [2, 1]
- 型:
実数 (E)
- 単位:
deg
- 値:
0 ~ 360
- 説明:
回転一周期のメッシュ角度。
ANGLE
=90degの場合,メッシュは90度分作成されている。
SEPARATE_ANGLE#
- SEPARATE_ANGLE(14)#
テキストフォーマットの折りたたみセクション
[row, col] = [3, 1]
Type=E (0 ~ 360)
ANGLE
=180:180度回転周期対称の場合に必要。
- 型:
実数 (E)
- 単位:
deg
- 値:
0 ~ 360
- 説明:
回転周期境界面を判別するための角度。
この値を超えた角度には,一方の回転周期境界面しか存在しないこと。0度から180度の間にメッシュが定義されて,スキューが無い場合は,90度とすれば十分。 固定部,可動部の入力メッシュに共通に適用される。
Note
SEPARATE_ANGLE
=90degの場合,0~90度に一方の回転周期境界面,90~180度にもう一方の回転周期境界面が存在すること。
SEPARATE_ANGLE
=0degの場合,-90~0度に一方の回転周期境界面,0~90度にもう一方の回転周期境界面が存在すること。
Caution
メッシュのスキュー角度が180度を超える場合は解析が不能のため境界面の再定義が必要。
SEPARATE_ANGLEの説明#

ヘリカル周期境界条件 (CYCLIC=4のとき)#
DXYZ#
- DXYZ(14)#
- 型:
実数配列 (E)
- 単位:
m
- 説明:
ヘリカル一周期移動方向のメッシュ長さ。
ただし,角度方向の移動量は
PITCH
で指定するので,角度変位量を除いた成分を指定する。
DX
=0.01mの場合,X方向のメッシュ長さと一致する。
JSON
フォーマットでは配列として入力。
PITCH#
- PITCH(14)#
テキストフォーマットの折りたたみセクション
[row, col] = [2, 4]
- 型:
実数 (E)
- 単位:
m
- 説明:
ヘリカル一周期移動方向のねじりピッチ長さ。
ねじりピッチとは並進周期境界条件が成立する長さ。
PITCH
>0:右ねじ方向,<0:左ねじ方向。
6本の撚り線をモデル化する場合,PITCH
=0.06m = DX
:0.01*6と一致する。
DEFORM#
- DEFORM(14)#
テキストフォーマットの折りたたみセクション
[row, col] = [2, 5]
直線上のモデルを内部で捻る場合に使用する。すでにヘリカル状に捻ったモデルを入力とする場合は0とする。
設定値 |
説明 |
---|---|
0 |
内部ヘリカル変形なし。 デフォルト値 |
1 |
内部ヘリカル変形あり。 |
Note
二次元モデルを一層ヘリカル状に捻じりたい場合,通常の二次元解析と同じ DELTA_Z_THETA
にz方向長さを指定し, DEFORM
= 1 とすること。2D_to_3D で一層積み上げたモデルには DEFORM
は機能しない。
三次元モデルや 2D_to_3D で三次元モデル化するものに対して DEFORM
は有効に機能する。なお, 2D_to_3D の機能でもヘリカル状に捻じりながら積み上げる機能がある。
ヘリカル周期境界条件の説明#

スライド運動(MOTION=2)を設定する場合#
- JSONキー:
周期境界条件設定オブジェクト
SLIDE_NDIV#
- SLIDE_NDIV(14)#
テキストフォーマットの折りたたみセクション
[row, col] = [1, 3]
- 型:
整数 (I)
- 説明:
スライド運動解析(
MOTION(2)
=2)時の運動方向分割数。メッシュ分割数と一致するのが最も精度が良い。静止側(ステータ側)と運動側(ロータ側)の分割数や分割位置が異なっていても構わない。
Note
SLIDE_NDIV
は,静止側と運動側のスライド面上の運動方向メッシュ分割の最大幅が,一周期(メッシュ領域)をこの値で割った値程度になるようにする。値が大きすぎると不定となるから注意すること。
SLIDE_MAT_ID#
- SLIDE_MAT_ID(14)#
テキストフォーマットの折りたたみセクション
[row, col] = [1, 4]
テキスト入力の場合, LINE_INPUT
=1のときは,適当な正のIDを入力すること。 JSON
フォーマットの場合は必要はなく, LINE_INPUT
キーを入力する。
<テキスト入力の場合>
=-1:スライド面を複数指定する
- 型:
整数 (I)
- 説明:
スライド運動解析(
MOTION(2)
=2)時のスライド辺(三次元メッシュ使用時)あるいはスライド点(二次元メッシュ使用時)を物性番号で指定する。スライド辺あるいはスライド点はファイル rotor_mesh 内に線要素あるいは rotor_mesh2D 内に点要素で定義されていること。
Note
スライド辺の順序,方向は任意でよいが,節点で繋がっている必要がある。回転運動において,一連の辺の始点,終点は軸上にあっても良い。この場合,固定子,回転子のスライド面上にある面は軸から放射状に SLIDE_NDIV
程度に分割されている必要がある。
FITNESS#
- FITNESS(14)#
テキストフォーマットの折りたたみセクション
[row, col] = [1, 5]
- 型:
実数 (E)
- 単位:
m
- 説明:
可動側のメッシュと固定側のメッシュが一致する場合, 運動方向のメッシュ間隔に対する比=
FITNESS
以下の位置にあるとき,メッシュは完全に一致するものとする。0.01程度が適当。計算位置が可動部と固定部のメッシュが重なるところである場合に指定。他の場合は,=0.とする。
Note
FITNESS
以下の位置にある場合,メッシュは重なるとするので,メッシュ分割が細かい場合は FITNESS
は十分小さな値とするか,0とすること。
LINE_INPUT#
- LINE_INPUT(14)#
テキストフォーマットの折りたたみセクション
[row, col] = [1, 6]
設定値 |
説明 |
---|---|
0 |
指定しない。 デフォルト値 |
1 |
スライド辺は線分上とし,線分入力とする。 |
以下のパラメータを設定する。
JSON
フォーマットでは配列として入力
START_END_XYZ#
- START_END_XYZ(14)#
- 型:
実数配列 (E)
- 単位:
m
- 説明:
スライド面をスライド辺が乗っている直線の線分で指定する。
MESH_NO
に対応するメッシュファイルのメッシュで作られる辺が,この線分上にあり,つながっていることが必要。
Note
"START_END_XYZ" = [SX, SY, SZ, EX, EY, EZ]
SX/SY/SZ:線分の始点のXYZ座標
EX/EY/EZ:線分の終点のXYZ座標
MESH_NO#
- MESH_NO(14)#
テキストフォーマットの折りたたみセクション
[row, col] = [1, 7]
設定値 |
説明 |
---|---|
0 |
pre_ geom |
1 |
rotor_mesh |
2 |
rotor_mesh2 |
スライド面を複数指定する場合(テキスト入力SLIDE_MAT_ID=-1)#
- NUMBER_SLIDING_FACES(14)#
JSON
フォーマットでは配列として入力
テキストフォーマットの折りたたみセクション
NUMBER_SLIDING_FACES(テキスト入力の場合)
[row, col] = [1, 1]
Type=I
スライド面の数
SLIDE_NDIV
, SLIDE_MAT_ID
もしくは LINE_INPUT
, FITNESS
を NUMBER_SLIDING_FACES
組入力する。