example ===== Description of the calculation case ---------------------------- Vibratory fatigue post-treatment will be illustrated in the case of the blades of 5-12 blades of low-pressure turbines in REP power plants. The fins are attached to the disc by fingers and pins. The outer diameter of the blades is of the order of 2 meters. The material properties selected for this study are as follows: - endurance limit: :math:`{S}_{l}\mathrm{=}400\mathit{MPa}` - limit at breakage: :math:`{S}_{u}=800\mathrm{MPa}`. Static loading corresponds to the rotation of the wheel at :math:`1500\mathit{tours}\mathrm{/}\mathit{min}`. Three of the first modes correspond to tangential bending (:math:`f=100\mathit{Hz}`), axial flexure (:math:`f=\mathrm{180 }\mathit{Hz}`), and torsional (:math:`f\mathrm{=}360\mathit{Hz}`) respectively Note: *The material properties and loads used here do not correspond to the real case.* * .. image: images/100002000000017f0000022b99 DC73AD0382BF8E .png :width: 2.2583 in :height: 3.6402 in .. _refImage_100002000000017f0000022b99 DC73AD0382BF8E .png: Figure 5.1-1: Meshing of a 5-12 blade fin pack Achieved results ----------------- Here, we are interested in the maximum amplitude of vibration admissible at the head of the fin (group of nodes' NO_CAPT ', corresponding to the position on site of the sensor BVM), so that the lifespan in the first finger of the first fin of the blade package is infinite (group of elements called' DOI_1_1 '). - *Results from* *CALC_FATIGUE :* The call to CALC_FATIGUE, for a calculation of the damage at Gauss points for the first mode of the structure, is done as follows: DMG_MOD1 = CALC_FATIGUE (TYPE_CALCUL = 'FATIGUE_VIBR', OPTION = 'DOMA_ELGA_SIGM', HISTOIRE = _F (RESULTAT = PRECONT, MODE_MECA = MODE, NUME_MODE =1, FACT_PARTICI = 1,), DOMMAGE = 'WOHLER', CORR_SIGM_MOYE = 'GOODMAN', MATER = MATE, ) Then, to extract the minimum :math:`\alpha` coefficient for the area of interest: IMPR_RESU (FORMAT =' RESULTAT ', RESU =_F (CHAM_GD = DMG_MOD1, GROUP_MA =' DOI_1_1 '),); The results obtained, for the first three modes of the structure and for a combination between the first two modes, are given in the following table. +---------------------------------------------------+---------------------------+----------------------+--------------+-------------------+ | |Mode 1 (tangential bending)|Mode 2 (axial flexure)|Mode 3 (twist)|Mode 1 + 0.5 Mode 2| +---------------------------------------------------+---------------------------+----------------------+--------------+-------------------+ |Maximum static stress |685 MPa | +---------------------------------------------------+---------------------------+----------------------+--------------+-------------------+ |Maximum modal constraint |13 MPa |51 MPa |27 MPa | | +---------------------------------------------------+---------------------------+----------------------+--------------+-------------------+ |:math:`{\alpha }_{\mathrm{Gerber}}^{\mathrm{min}}` |1.8 |0.8 |1.3 |1.5 | +---------------------------------------------------+---------------------------+----------------------+--------------+-------------------+ |:math:`{\alpha }_{\mathrm{Goodman}}^{\mathrm{min}}`|3.3 |1.5 |2.3 |2.8 | +---------------------------------------------------+---------------------------+----------------------+--------------+-------------------+ *- Use of results* *:* An additional operation is required to pass from the coefficient :math:`\alpha` to the admissible vibration amplitude at a given node. The node considered here corresponds to the position of one of the displacement sensors. For example, this operation can be done by simple Python loops: # Calculation parameters (same as in CALC_FATIGUE) fact_partici = [:ref:`1., 0.5 <1., 0.5>`] nume_mode = [:ref:`1,2 <1,2>`] nbmode = len (nume_mode) # EXTRACTION DES DEPLACEMENTS FROM THE TABLE TDEP = POST_RELEVE_T (ACTION =_F (GROUP_NO =' NO_CAPT ', INTITULE ='Depl. modal', RESULTAT = MODE, NOM_CHAM =' DEPL ', TOUT_CMP =' OUI ', OPERATION =' EXTRACTION ',),); DX = [None] *nbmode DY = [None] *nbmode DZ = [None] *nbmode tdepl = TDEP. EXTR_TABLE () For i in range (nbmode): dmod = such. NUME_MODE ==nume_mode [i] DX [i] = dmod ['DX'] .values () ['DX'] DY [i] = dmod ['DY'] .values () ['DY'] DZ [i] = dmod ['DZ'] .values () ['DZ'] EXTRACTION FROM COEFFICIENT AMIN TDMG12 = POST_RELEVE_T (ACTION =_F (GROUP_NO =' ELTS ', INTITULE =' (MODE 1) + 0.5 * (MODE 2) ', CHAM_GD =D_ MOD12, TOUT_CMP =' OUI ', OPERATION =' EXTREMA ',),); AMIN = TDMG12. EXTR_TABLE () AMIN = AMIN. EXTREMA ==' MIN ' AMIN = AMIN ['VALE'] .values () ['VALE'] CALCUL FROM DEPLACEMENT MAXIMAL ADMISSIBLE DXmax = 0. DYmax = 0. DZmax = 0. For i in range (nbmode): DXmax = DXmax + AMIN [0] *fact_partici [i]* abs (DX [i] [0]) DYmax = DYmax + AMIN [0] *fact_partici [i]* abs (DY [i] [0]) DZmax = DZmax + AMIN [0] *fact_partici [i]* abs (DZ [i] [0]) Dtot = sqrt (DXmax *DXmax + DYmax* + *DYmax + DZmax* DZmax). This example can be found in test case SDLV129A. The results for the present study are given in the following table. .. csv-table:: "Case", ":math:`\mathit{DX}` (:math:`\mathit{mm}`)", ":math:`\mathit{DY}` (:math:`\mathit{mm}`)", ":math:`\mathit{DZ}` (:math:`\mathit{mm}`)", ":math:`{\alpha }_{\mathrm{Gerber}}^{\mathrm{min}}` "," :math:`{\mathit{DX}}^{\mathit{max}}` (:math:`\mathit{mm}`)", ":math:`{\mathit{DY}}^{\mathit{max}}` (:math:`\mathit{mm}`)", ":math:`{\mathit{DZ}}^{\mathit{max}}` (:math:`\mathit{mm}`)", ":math:`{D}^{\mathit{max}}` (:math:`\mathit{mm}`)" "Mode 1", "-0.02", "0.07", "0.07", "0.99", "0.99", "1.8", "0.04", "0.11", "1.78", "1.79" "Mode 2", "0.07", "0.98", "0.98", "0.21", "0.21", "0.8", "0.06", "0.78", "0.77", "0.8" "Mode 3", "0.02", "-0.18", "-0.18", "-0.82", "0.3", "0.03", "0.23", "1.07", "1.07", "1.09" "Mode 1 + 0.5 Mode 2", "0.05", "0.05", "0.56", "0.56", "1.1", "1.5", "0.08", "0.83", "1.64", "1.64", "1.84"