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.

Correspondence Between Two- and Three-Dimensional Meshes#

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_LAYERS Text format: number of element layers in the z ( \(\theta\) ) direction

NO_BASE_MAT_IDS Text format: number of material-property IDs extended from the two-dimensional mesh to three dimensions.

NO_LAYERES_DATA Text format: number of material-property ID specification data in the three-dimensional mesh

NO_Z_DATA Text format: number of coordinate specification data in the z ( \(\theta\) ) direction

NO_SURFACES Text format: number of data items for surfaces offset in the z direction

COORD_ID local coordinate-system ID used to specify three-dimensional coordinates

EX_DIRECT direction in which to extend the two-dimensional mesh to three dimensions

PITCH twist pitch used when extending two-dimensional mesh elements to a three-dimensional mesh

ROTOR_PITCH twist pitch used when extending two-dimensional mesh elements to a three-dimensional mesh

2_Expansion_positions JSON key: 2_Expansion_positions object

Z_BASE_POSITION reference position in the z ( \(\theta\) ) direction

DIVISIONS array specifying the number of divisions in each layer

Z_POSITIONS array specifying coordinate positions in the z ( \(\theta\) ) direction

DIVISION_RATIO array specifying the division ratio of each layer

TWIST array specifying the twist angle of each layer

LAYER_NO Text format: array specifying each layer number

Z_COORDINATE Text format: array specifying coordinate positions in the z ( \(\theta\) ) direction

DIVISION_RATIO Text format: array specifying the division ratio of each layer

TWIST Text format: array specifying the twist angle of each layer

3_Expansion_of_materials JSON key: 3_Expansion_of_materials object

BASE_MAT_IDS array mapping two-dimensional mesh material-property IDs to three-dimensional mesh material-property IDs

DIVISIONS array specifying the number of divisions in each layer

MAT_IDS array 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_IDS array mapping two-dimensional mesh material-property IDs to three-dimensional mesh material-property IDs

SURFACE_MAT_IDS array specifying material-property IDs for surfaces offset in the z direction

LAYER_POSITIONS array 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#

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]
    }
}

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)

Fixed parameter set 1#
[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)

Fixed parameter set 2#
[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)

Fixed parameter set 3#
[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)

Fixed parameter set 4#
[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
Fixed parameter set 5#
[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.

Text-format section
NO_SURFACES(IV-6)#

NO_SURFACES (text)

Fixed parameter set 6#
[row, col] = [1, 6]
Type=I

Number of data items for surfaces offset in the z direction.

EX_DIREC#

EX_DIRECT(IV-7)#
Text-format section
Fixed parameter set 7#
[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
Fixed parameter set 8#
[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
Fixed parameter set 9#
[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)

Fixed parameter set 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)#
Fixed parameter set 2#
[row, col] = [2, 2]
Type:

Real number (E)

Description:

z ( \(\theta\) ) coordinate of the node layer.

DIVISION_RATIO(IV-3)#
Fixed parameter set 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)#
Fixed parameter set 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 with TWIST =1, and the upper end ring with TWIST =-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
Fixed parameter set 1#
[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 DIVISION count specified by 2_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)

Fixed parameter set 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
Fixed parameter set 1#
[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>

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 key:

4_Surface_creation object

BASE_MAT_IDS#

BASE_MAT_IDS(IV-1)#
Text-format section
Fixed parameter set 1#
[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
Fixed parameter set 1#
[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
Fixed parameter set 1#
[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.