IV-1. 2D_to_3D File#
This section describes the format of the 2D_to_3D input file used to convert two-dimensional data into a three-dimensional mesh for analysis.
When GEOMETRY(12) = 4 is specified in the input file, the 2D_to_3D file is required. This process converts a two-dimensional ATLAS-format mesh into a three-dimensional mesh. The input file is pre_geom2D, and the output file is pre_geom. A two-dimensional mesh in another format is first converted to ATLAS format and then to a three-dimensional mesh. For sliding-motion analysis (MOTION(2) = 2), the moving-part mesh rotor_mesh2D is converted in the same way.
Two-dimensional mesh data must contain nodes, planar elements (quadrilateral and triangular elements), two-node line elements, and point elements. For extension in the z direction (EX_DIREC =0), define the two-dimensional mesh in the x-y plane; it is extended into multiple layers along the local z axis. For extension in the \(\theta\) direction (EX_DIREC =1), define the mesh in the x-z plane (x≥0); it is extended into multiple layers in the local \(\theta\) direction. Only first-order elements are supported, and the analysis uses NODE_ORDER(4) = EDGE_ORDER(4) =1.
The correspondence between two- and three-dimensional elements is as follows.
Two-dimensional mesh |
-> |
Three-dimensional mesh |
|---|---|---|
Quadrilateral element |
-> |
Hexahedral element |
Triangular element |
-> |
Pentahedral prism element |
Two-node line element |
-> |
Quadrilateral element |
Point element |
-> |
Two-node line element |
For extension in the \(\theta\) direction, an element touching the central z axis must be a quadrilateral with one edge on the axis; it is extended into a triangular prism. Two-node line elements and point elements on the axis are not allowed.
Material-property IDs defined for elements of the two-dimensional mesh can be redefined for each layer in the three-dimensional mesh. Elements defined in the two-dimensional mesh are included unchanged in the three-dimensional mesh. However, node numbers of surface elements are changed to the positive orientation (the right-hand direction when traversing node order is the z( \(\theta\) ) direction). Surface elements can also be offset in the z( \(\theta\) ) direction and placed in the three-dimensional mesh; their orientation can be reversed. The orientation of a surface element generated from a line element is defined so that the right-hand direction is positive when rotating from the line element’s start node to its end node.
Caution
For text format, enter the data in the 2D_to_3D file using the same format conventions as the input file.
For JSON format, append the data to the end of the input.json file.
Setting Items#
2D_to_3D_expansion JSON key: 2D_to_3D_expansion object
1_Optional_parameters JSON key: 1_Optional_parameters object
NO_LAYERSText format: number of element layers in the z ( \(\theta\) ) direction
NO_BASE_MAT_IDSText format: number of material-property IDs extended from the two-dimensional mesh to three dimensions.
NO_LAYERES_DATAText format: number of material-property ID specification data in the three-dimensional mesh
NO_Z_DATAText format: number of coordinate specification data in the z ( \(\theta\) ) direction
NO_SURFACESText format: number of data items for surfaces offset in the z direction
COORD_IDlocal coordinate-system ID used to specify three-dimensional coordinates
EX_DIRECTdirection in which to extend the two-dimensional mesh to three dimensions
PITCHtwist pitch used when extending two-dimensional mesh elements to a three-dimensional mesh
ROTOR_PITCHtwist pitch used when extending two-dimensional mesh elements to a three-dimensional mesh
2_Expansion_positions JSON key: 2_Expansion_positions object
Z_BASE_POSITIONreference position in the z ( \(\theta\) ) direction
DIVISIONSarray specifying the number of divisions in each layer
Z_POSITIONSarray specifying coordinate positions in the z ( \(\theta\) ) direction
DIVISION_RATIOarray specifying the division ratio of each layer
TWISTarray specifying the twist angle of each layer
LAYER_NOText format: array specifying each layer number
Z_COORDINATEText format: array specifying coordinate positions in the z ( \(\theta\) ) direction
DIVISION_RATIOText format: array specifying the division ratio of each layer
TWISTText format: array specifying the twist angle of each layer
3_Expansion_of_materials JSON key: 3_Expansion_of_materials object
BASE_MAT_IDSarray mapping two-dimensional mesh material-property IDs to three-dimensional mesh material-property IDs
DIVISIONSarray specifying the number of divisions in each layer
MAT_IDSarray mapping two-dimensional mesh material-property IDs to three-dimensional mesh material-property IDs
4_Surface_creation JSON key: 4_Surface_creation object
BASE_MAT_IDSarray mapping two-dimensional mesh material-property IDs to three-dimensional mesh material-property IDs
SURFACE_MAT_IDSarray specifying material-property IDs for surfaces offset in the z direction
LAYER_POSITIONSarray specifying positions of surfaces offset in the z direction
Setting Format#
Text-format section
- Type:
Fixed parameter set
- Number of lines:
2
- Number of parameters:
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 Format#
"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]
}
}
Detailed Description#
2D_to_3D_expansion#
- 2D_to_3D_expansion#
- JSON key:
2D_to_3D_expansion object
1_Optional_parameters#
- 1_Optional_parameters#
- JSON key:
1_Optional_parameters object
Text-format section
- NO_LAYERS(IV-1)#
NO_LAYERS (text)
[row, col] = [1, 1]
Type=I
Number of element layers in the z ( \(\theta\) ) direction.
- NO_BASE_MAT_IDS(IV-2)#
NO_BASE_MAT_IDS (text)
[row, col] = [1, 2]
Type=I
Number of material-property IDs extended from the two-dimensional mesh to three dimensions.
- NO_LAYERES_DATA(IV-3)#
NO_LAYERES_DATA (text)
[row, col] = [1, 3]
Type=I
Number of material-property ID specification data in the three-dimensional mesh.
- NO_Z_DATA(IV-4)#
NO_Z_DATA (text)
[row, col] = [1, 4]
Type=I
Number of coordinate specification data in the z( \(\theta\) ) direction. When 0, specify NO_LAYERS +1 z( \(\theta\) ) coordinates in ascending order.
COORDINATE_ID#
- COORDINATE_ID(IV-5)#
Text-format section
[row, col] = [1, 5]
Type=I
- Type:
Integer (I)
- Description:
Local coordinate-system ID (
COORD_ID(12)) used to specify three-dimensional coordinates. 0 indicates the global coordinate system.
EX_DIREC#
- EX_DIRECT(IV-7)#
Text-format section
[row, col] = [1, 7]
Type=I
- Type:
Integer (I)
- Value:
0, 1
- Description:
Specifies the direction in which to extend the two-dimensional mesh to three dimensions.
=0: Extend in the z direction.
=1: Extend in the \(\theta\) direction.
For extension in the z direction, define the two-dimensional mesh in the x-y plane; it is extended into multiple layers along the local z axis.
For extension in the \(\theta\) direction, define the two-dimensional mesh in the x-z plane (x≥0); it is extended into multiple layers in the local \(\theta\) direction.
- Default value:
0
PITCH#
- PITCH(IV-8)#
Text-format section
[row, col] = [1, 8]
Type=E
- Type:
Real number (E)
- Unit:
m
- Description:
Specifies the twist pitch used when extending elements of the two-dimensional pre_geom2D mesh to a three-dimensional mesh.
Specifies the twist pitch; available only for extension in the z direction (
EX_DIRECT=0).PITCH > 0: right-handed direction
PITCH < 0: left-handed direction
For twist-pitch extension in the z direction, the z=0 plane is the reference.
- Default value:
0
ROTOR_PITCH#
- ROTOR_PITCH(IV-9)#
Text-format section
[row, col] = [1, 1]
Type=E
- Type:
Real number (E)
- Unit:
m
- Description:
Specifies the twist pitch used when extending elements of the two-dimensional rotor_mesh2D mesh to a three-dimensional mesh.
Specifies the twist pitch; available only for extension in the z direction (
EX_DIRECT=0).PITCH > 0: right-handed direction
PITCH < 0: left-handed direction
For twist-pitch extension in the z direction, the z=0 plane is the reference.
- Default value:
0
2_Expansion_positions#
- 2_Expansion_positions#
- JSON key:
2_Expansion_positions object
Z_BASE_POSITION#
- Z_BASE_POSITION(IV-1)#
- Type:
Real number (E)
- Description:
Reference position in the z ( \(\theta\) ) direction.
Because layers are stacked in the +z (+ \(\theta\) ) direction, specify the z ( \(\theta\) ) coordinate of the bottom layer as the reference position.
When the value is 0, z=0 is the reference position.
DIVISIONS#
- DIVISIONS(IV-1)#
- Type:
Integer array (I)
- Value:
1 or greater
- Description:
Array specifying the number of divisions in each layer.
Z_POSITIONS#
- Z_POSITIONS(IV-1)#
- Type:
Real-number array (E)
- Description:
Array specifying coordinate positions in the z ( \(\theta\) ) direction.
DIVISION_RATIO#
- DIVISION_RATIO(IV-1)#
- Type:
Real-number array (E)
- Description:
Array specifying the geometric division ratio of each layer. Default =1
For a negative value, the reciprocal is used as the division ratio.
TWIST#
- TWIST(IV-1)#
- Type:
Integer array (I)
- Description:
Array specifying the twist setting for each layer.
Specifies twist-pitch extension. Default =-1
=-1: linear extension.
=1: twist extension.
Caution
For JSON format, these are the same setting parameters as EMSI; for text format, the conventional setting parameters are used.
Text-format section
When NO_Z_DATA ≠0, enter NO_Z_DATA +1 sets of line-2 data.
For the last line, specify LAYER_NO and Z_COORDINATE. DIVISION_RATIO and TWIST data are not required.
LAYER_NO(IV-1) .. paramdef:: LAYER_NO(IV-1)
[row, col] = [2, 1]
- Type:
Integer (I)
- Description:
Number of the node layer for which to enter a z coordinate. Its value ranges from 1 to NO_LAYERS+1. It is 1 for the first data item and NO_LAYERS+1 for data item NO_Z_DATA+1.
- Z_COORDINATE(IV-2)#
[row, col] = [2, 2]
- Type:
Real number (E)
- Description:
z ( \(\theta\) ) coordinate of the node layer.
- DIVISION_RATIO(IV-3)#
[row, col] = [2, 3]
- Type:
Real number (E)
- Description:
Geometric division ratio to the next node-layer coordinate. For a negative value, the reciprocal is used. It is not required for data item NO_Z_DATA+1.
- TWIST(IV-4)#
[row, col] = [2, 4]
- Type:
Integer (I)
- Value:
(-1, 1)
- Description:
Specifies twist-pitch extension. Default=-1. =-1: linear extension. =1: twist extension.
Note
For an induction motor with 34 rotor bars and a rotor shaft length of 42 mm, skewing the rotor bars by one slot pitch causes them to complete one period and align at
ROTOR_PITCH=34×42=1.428 m.When extending the model, including end rings, with 2D_to_3D, extend the lower end ring into the Z<0 region with
TWIST=-1, the rotor core from Z=0 to 42 mm withTWIST=1, and the upper end ring withTWIST=-1.
3_Expansion_of_materials#
- 3_Expansion_of_materials#
- JSON key:
3_Expansion_of_materials object
BASE_MAT_IDS#
- BASE_MAT_IDS(IV-1)#
Text-format section
[row, col] = [NO_BASE_MAT_IDS]
- Type:
Integer array (I)
- Description:
Material-property ID defined in the two-dimensional mesh.
MAT_ID(16.1)
DIVISIONS#
- DIVISIONS(IV-1)#
- Type:
Integer array (I)
- Description:
Array specifying the number of divisions for material-property IDs (
MAT_ID(16.1)) in each layer.The number of material-property IDs is the same as
NO_BASE_MAT_IDS.The count need not equal the
DIVISIONcount specified by2_Expansion_positions, but the totals must match.
Text-format section
Enter NO_LAYERES_DATA sets of line-2 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
For element layers from LAYER_FROM through LAYER_TO, generate extended elements with material-property IDs MAT_IDS corresponding to BASE_MAT_IDS. In the first data item, LAYER_FROM=1; in the last, LAYER_TO=NO_LAYERS.
MAT_IDS#
- MAT_IDS(IV-1)#
Text-format section
[row, col] = [NO_BASE_MAT_IDS]
- Type:
Two-dimensional integer array (I)
- Description:
Material-property ID in the three-dimensional mesh.
When =0, no elements are generated in the corresponding element layer.
Hint
Because a three-dimensional mesh is created by stacking a two-dimensional mesh, you can change material-property IDs during stacking, for example from iron to air to iron.
When stacking point or line elements, you can generate elements only in specified layers. Set all other layers to =0.
Because point and line elements are created by stacking two-dimensional mesh elements, their two-dimensional mesh material-property IDs must be specified.
<Setting example>
"MAT_IDS" :
[
[ 1, 4, 3, 4 ],
[ 1, 4, 4, 4 ],
[ 4, 4, 4, 4 ]
]
4_Surface_creation#
- 4_Surface_creation#
- JSON key:
4_Surface_creation object
BASE_MAT_IDS#
- BASE_MAT_IDS(IV-1)#
Text-format section
[row, col] = [NO_BASE_MAT_IDS]
- Type:
Integer array (I)
- Description:
Material-property ID defined in the two-dimensional mesh.
MAT_ID(16.1)
SURFACE_MAT_IDS#
- SURFACE_MAT_IDS(IV-1)#
Text-format section
[row, col] = [NO_BASE_MAT_IDS]
- Type:
Integer array (I)
- Description:
Material-property ID in the three-dimensional mesh.
LAYER_POSITIONS#
- LAYER_POSITIONS(IV-1)#
Text-format section
[row, col] = [NO_BASE_MAT_IDS]
- Type:
Integer array (I)
- Description:
Copies and generates surface elements identical to those of the two-dimensional mesh in node layer
LAYER_POSITION.For a negative value (<0), reverse the surface orientation.
Note
LAYER_POSITION ranges from 1 to NO_LAYERS +1: the bottom surface is 1 and the top surface is NO_LAYERS +1.
NO_LAYERS is the sum of DISIVIONS.