3. Data analysis of « rotating machines » studies#

Conventionally, the data processing of rotating machine studies involves the use of operators AFFE_MODELE, to inform the modeling, AFFE_CARA_ELEM, to fill in the characteristics of the elements, AFFE_CHAR_MECA, to define the boundary conditions. It is proposed to describe these steps in the following. The calculation of elementary matrices and their assemblies will also be discussed.

3.1. Assigning models#

After reading the mesh by operator LIRE_MAILLAGE, the creation of a simple model of the rotor represented by Figure 1.1-a is created by operator AFFE_MODELE as follows:

MODELE = AFFE_MODELE (MAILLAGE = MAIL,

AFFE =( _F (GROUP_MA =” ROTOR “,

PHENOMENE =” MECANIQUE “,

MODELISATION =” POU_D_T “,),

_F (GROUP_MA =( “DISQUE”),

PHENOMENE =” MECANIQUE “,

MODELISATION =” DIS_TR “,),),);

As indicated above, the elements selected for the modeling of the rotors are generally Timoshenko beams” POU_D_T “. The modeling of the disks and fins is generally carried out by “DIS_TR”.

3.2. Assignment of elementary characteristics#

After the definition (DEFI_MATERIAU) and the assignment (AFFE_MATERIAU) of the materials, the description of the geometric characteristics for the data setting of the model (the rotor, the bearings and possibly the support) is carried out via the operator AFFE_CARA_ELEM. First, the characteristics of the support members (bearings, thrust bearings) and, possibly, those of the support must be described.

Note:

In the presence of sudden changes in section, it is preferable to build two structures of the cara_elem type, for stiffness and for mass. It is also important to note that, for dynamic calculations, the structures produced can be included in a Python loop since they depend on the speed of rotation.

3.2.1. Definition of support organs#

The operator DEFI_FONCTION can be used to describe the variation in the characteristics of the support members as a function of the speed of rotation. For example, the level represented on Figure 1.1-a is filled in by the following function describing the variation in stiffness in the \(x\) direction:

KXX1 = DEFI_FONCTION (NOM_PARA =” INST “,

NOM_RESU =” KXX1 “,

VALE =( 1500.0,8600000000.0, 750.0,13000000000.0,),

PROL_DROITE =” CONSTANT “, PROL_GAUCHE =” CONSTANT”, VERIF =” NON “,);

In a similar manner, the damping and mass coefficients (for the stops) are entered in all directions.

These characteristics are used to inform the discrete elements representing the influence of the levels (K_ TR_L, A_ TR_Let M_ TR_L).

3.2.2. Simplified support definition#

The operator DEFI_FONCTION can be used to describe the variation in the characteristics (stiffness, damping, mass) of the simplified support as a function of the speed of rotation, in a manner similar to the definition of support members.

We then also use the discrete elements K_ TR_L, A_ TR_Let M_ TR_Lpour to describe the influence of the simplified support on the behavior of the tree line.

3.2.3. Definition of discrete elements and orientation#

The inertia of the disks and fins is modelled by discrete elements of the M_ TR_D_N type.

Note on the orientation of the tree line and discrete elements:

Whatever the system studied, the axis of rotation of the shaft line is fixed in Code_Aster: it is the axis \(z\), which also corresponds to the axis of rotation fixed in EDYOS.

Discrete elements should be defined in the local coordinate system, for example:

_F (CARA =”M_ TR_D_N “,

MAILLE =” DISQUE “,

REPERE =” LOCAL “,

VALE =( 1967.0,0.0,0.0,0,0,0,0,0.,0.,0.,0.,0,,0.),),

The ORIENTATIONpermet keyword then defines the local references associated with each discrete element.

ORIENTATION =_F (GROUP_MA =( “MS1Z1”),

CARA =” ANGL_NAUT “,

VALE =( 0, -90.0,0),),

3.2.4. Bilan#

Based on the rotor shown on Figure 1.1-a and in the case where the support is considered rigid, we have:

CARELEM = AFFE_CARA_ELEM (MODELE = MODELE,

POUTRE =_F (GROUP_MA =” ROTOR “,

SECTION =” CERCLE “,

CARA =”R”,

VALE =( .025),),

DISCRET =( _F (CARA =”K_ TR_L “,

MAILLE =” SP1 “,

SYME =” OUI “,

VALE =( KXX1 (NbTour), KXY1 (NBTour), KYY1 (NBTour), (NBTour) ,0,0,0,0,0,0,0,0,0,0,0, - KXX1 (NbTour), KXY1 (NbTour) ,0,0,0,0, ,0,0,0,, KXX1 (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NbTour), (NBTtour), KXY1 KYY1 KXY1 KYY1

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),),

_F (CARA =”M_ TR_D_N “,

GROUP_MA =” DISQUE “,

REPERE =” LOCAL “,

VALE =( 0.0383,3.E-6,1.8E-6,1.8E,

6,0.,0.,0.,0.,0.,0,,0.),),)

ORIENTATION =_F (GROUP_MA =( “MA_MAS”),

CARA =” ANGL_NAUT “,

VALE =( 0, -90.0,0),),);

Note:

Code_Aster allows the construction of beam elements with variable circular cross-section (cross-section with homothetic variation): it is introduced by making the approximation that the average inertia of the beam is the average of its inertias at both ends. The validation method used to measure the effect of this hypothesis is purely numerical [V2.02.127].

3.3. Boundary conditions#

Boundary conditions are typically entered using the AFFE_CHAR_MECA operator.

For groups of nodes designating linear levels, the following degrees of freedom are blocked: DRX, DRY, DRZ, DZ. When the level is non-linear, the blocks following DXet DZ are added to the previous conditions. On the other hand, if the torsional behavior of the tree line is not evaluated, the nodes of the tree line following DRZ are blocked. In the same way, if the compression behavior of the tree line is not evaluated, the nodes of the tree line following DZ are blocked. In the presence of a crack, the degrees of freedom DX, DY, DRXet, DY,, DRYdes, groups of nodes surrounding the crack are blocked.

The boundary conditions also make it possible to take into account the chain of the tree line (delineation due to the effect of own weight).

3.3.1. Example: taking into account the chain of the tree line#

For calculations integrating the chain of the tree line, the altimetry of the various nodes of the bearings is imposed. These moving boundary conditions for the nodes (with or without chain) are achieved using the DDL_IMPO keyword, in the AFFE_CHAR_MECA command. For example, the boundary conditions for the study of a line of P4-P’4 shafts in bending with consideration of the chain may be as follows:

POIDS = AFFE_CHAR_MECA (MODELE = MODELE,

DDL_IMPO =( _F (GROUP_NO =” NO_LA “, DRZ =0, DZ=0.,),

_F (GROUP_NO =” NO_PAL “, DRX =0., =0., =0., =0.,), DRY DRZ

_F (GROUP_NO =” SUP “, DX=0., DY=0., DY=0., DZ=0., DRX =0., DRY =0., DRZ =0.,),

_F (NOEUD =”N2”, DY=-0.0160,),

_F (NOEUD =”N40”, DY=-0.0049,),

_F (NOEUD =”N110”, DY= 0.0040,),

_F (NOEUD =”N180”, DY= 0.0020,),

_F (NOEUD =”N247”, DY=-0.0059,),

_F (NOEUD =”N258”, DY=-0.0089,),

_F (NOEUD =”N291”, DY=-0.0210,),),

PESANTEUR =( _F (GRAVITE =9.81,

DIRECTION =( 1.,0.,0.,),),),),);

3.4. Calculation of elementary matrices and assembly#

3.4.1. Mechanical stiffness, mass and damping matrices#

The calculation of the elementary stiffness and mass matrices is done via the operator CALC_MATR_ELEM, options RIGI_MECA and MASS_MECA:

RIGI_ELE = CALC_MATR_ELEM (OPTION =” RIGI_MECA “,

MODELE = MODELE,

CHAM_MATER = CHMAT,

CARA_ELEM = CARELEM,

CHARGE = CONDLIM,);

MASS_ELE = CALC_MATR_ELEM (OPTION =” MASS_MECA “,

MODELE = MODELE,

CHAM_MATER = CHMAT,

CARA_ELEM = CARELEM,

CHARGE = CONDLIM,);

Then an sd-nume_ddl concept must be created to generate the numbering of degrees of freedom:

NUMEDDL = NUME_DDL (MATR_RIGI = RIGI_ELE,);

The elementary matrices are then assembled with the operator ASSE_MATRICE:

RIGIDITE = ASSE_MATRICE (MATR_ELEM = RIGI_ELE,

NUME_DDL = NUMEDDL,);

MASSE = ASSE_MATRICE (MATR_ELEM = MASS_ELE,

NUME_DDL = NUMEDDL,);

Note:

All of the three operations described above can be performed via the macro command ASSEMBLAGE.

The mechanical damping matrix (in the bearings) is generated in the same way:

AMOR_ELE = CALC_MATR_ELEM (OPTION =” AMOR_MECA “,

MODELE = MODELE,

CHAM_MATER = CHMAT,

CARA_ELEM = CARELEM,

RIGI_MECA = RIGI_ELE,

MASS_MECA = MASS_ELE,

CHARGE = CONDLIM,);

AMOR = ASSE_MATRICE (MATR_ELEM = AMOR_ELE,

NUME_DDL = NUMEDDL,);

3.4.2. Gyroscopic matrices#

Gyrocopy is available in Code_Aster for solid elements, discrete elements, and right beam elements such as Euler and Timoshenko, possibly multi-fiber with warping.

For beam elements and discrete elements, the gyroscopic damping and stiffness matrices are calculated as follows:

GYRO_ELE = CALC_MATR_ELEM (OPTION =” MECA_GYRO “,

MODELE = MODELE,

CHAM_MATER = CHMAT,

CARA_ELEM = CARELEM,);

GYRO = ASSE_MATRICE (MATR_ELEM = GYRO_ELE,

NUME_DDL = NUMEDDL,);

RIGY_ELE = CALC_MATR_ELEM (OPTION =” RIGI_GYRO “,

MODELE = MODELE,

CHAM_MATER = CHMAT,

CARA_ELEM = CARELEM,);

RIGY = ASSE_MATRICE (MATR_ELEM = RIGY_ELE,

NUME_DDL = NUMEDDL,);

For solid elements, we must first define a loading unit rotation (rotation speed equal to 1 rpm) around the desired axis of rotation as follows:

CL_ROTA = AFFE_CHAR_MECA (MODELE = MODELE,

ROTATION =_F (VITESSE =1,

AXE =( nx, ny, nz),),);

With, for example, nx=0, ny=0 and nz=1 for a rotation around the Z axis. The user will ensure that the defined vector (nx, ny, nz) is set to 1.

Next, the gyroscopic damping and stiffness matrices are calculated using load CL_ROTA as follows:

GYRO_ELE = CALC_MATR_ELEM (OPTION =” MECA_GYRO “,

MODELE = MODELE,

CHAM_MATER = CHMAT,

CHARGE = CL_ROTA,);

GYRO = ASSE_MATRICE (MATR_ELEM = GYRO_ELE,

NUME_DDL = NUMEDDL,);

RIGY_ELE = CALC_MATR_ELEM (OPTION =” RIGI_GYRO “,

MODELE = MODELE,

CHAM_MATER = CHMAT,

CHARGE = CL_ROTA,);

RIGY = ASSE_MATRICE (MATR_ELEM = RIGY_ELE,

NUME_DDL = NUMEDDL,);

The contributions of the gyroscopic damping and stiffness matrices must be multiplied by the angular speed and acceleration respectively, expressed in rad/s and rad/s/s, and are combined after assembly with the conventional damping and stiffness matrices by the operator COMB_MATR_ASSE by the following operator **** as follows:

NAME=1500. *pi/30.# To get the rotation speed in \(\mathit{rad}\mathrm{/}s\)

GYOM = COMB_MATR_ASSE (COMB_R =( _F (MATR_ASSE = GYRO, COEF_R =OM,),

_F (MATR_ASSE = AMOR, COEF_R =1.,),))

For more details on the use of damping and gyroscopic stiffness in*Code_Aster*, the reader can refer to the [U2.06.31] documentation.