Exemple ======= Description du cas de calcul ---------------------------- Le post-traitement en fatigue vibratoire va être illustré sur le cas des ailettes des aubages 5-12 des turbines basse pression des centrales REP. Les ailettes sont fixées au disque par des doigts et des broches. Le diamètre extérieur des aubages est de l'ordre de 2 mètres. Les propriétés matériaux retenues pour cette étude sont les suivantes : - limite d'endurance : :math:`{S}_{l}=400\mathit{MPa}` - limite à la rupture : :math:`{S}_{u}=800\mathrm{MPa}` . Le chargement statique correspond à la rotation de la roue à :math:`1500\mathit{tours}/min` . Trois des premiers modes correspondent respectivement à la flexion tangentielle (:math:`f=100\mathit{Hz}` ), à la flexion axiale (:math:`f=\mathrm{180 }\mathit{Hz}` ) et à la torsion (:math:`f=360\mathit{Hz}` ) Remarque Les propriétés matériau et les chargements utilisés ici ne correspondent pas au cas réel. .. figure:: images/100002000000017F0000022B99DC73AD0382BF8E.png :name: u2.05.05-fig-maillage-paquet-ailette :width: 2.2583in :height: 3.6402in Maillage d'un paquet d'ailette de l'aubage 5-12 Résultats obtenus ----------------- On s'intéresse ici à l'amplitude maximale de vibration admissible en tête d'ailette (groupe de nœuds 'NO_CAPT' , correspondant à la position sur site du capteur BVM), afin que la durée de vie dans le premier doigt de la première ailette du paquet d'aubage soit infinie (groupe de mailles appelé 'DOI_1_1'). - *Résultats issus de CALC_FATIGUE:* L'appel à CALC_FATIGUE, pour un calcul du dommage aux points de Gauss pour le premier mode de la structure, se fait comme suit : 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, ) Puis, pour extraire le coefficient :math:`\alpha` minimale sur la zone d'intérêt : IMPR_RESU(FORMAT='RESULTAT', RESU=_F(CHAM_GD=DMG_MOD1,GROUP_MA='DOI_1_1'),); Les résultats obtenus, pour les trois premiers modes de la structure et pour une combinaison entre les deux premiers modes sont donnés dans le tableau suivant. +-----------------------------------------------------+-------------------------------+-------------------------+------------------+---------------------+ | | Mode 1 (flexion tangentielle) | Mode 2 (flexion axiale) | Mode 3 (torsion) | Mode 1 + 0,5 Mode 2 | +-----------------------------------------------------+-------------------------------+-------------------------+------------------+---------------------+ | Contrainte statique maximale | 685 MPa | +-----------------------------------------------------+-------------------------------+-------------------------+------------------+---------------------+ | Contrainte modale maximale | 13 MPa | 51 MPa | 27 MPa | | +-----------------------------------------------------+-------------------------------+-------------------------+------------------+---------------------+ | :math:`{\alpha}_{\mathrm{Gerber}}^{\min}` | 1.8 | 0.8 | 1.3 | 1.5 | +-----------------------------------------------------+-------------------------------+-------------------------+------------------+---------------------+ | :math:`{\alpha}_{\mathrm{Goodman}}^{\min}` | 3.3 | 1.5 | 2.3 | 2.8 | +-----------------------------------------------------+-------------------------------+-------------------------+------------------+---------------------+ - *Utilisation des résultats :* Une opération supplémentaire est à réaliser pour passer du coefficient :math:`\alpha` à l'amplitude de vibration admissible en un nœud donné. Le nœud considéré ici correspond à la position d'un des capteurs de déplacement. Cette opération peut par exemple être fait par des boucles python simples : # Paramètres du calcul (les mêmes que dans CALC_FATIGUE) fact_partici = [1., 0.5] nume_mode = [1,2] nbmode = len(nume_mode) # EXTRACTION DES DEPLACEMENTS DE LA 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 = tdepl.NUME_MODE==nume_mode[i] DX[i] = dmod['DX'].values()['DX'] DY[i] = dmod['DY'].values()['DY'] DZ[i] = dmod['DZ'].values()['DZ'] # EXTRACTION DU 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 DU 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 ). Cet exemple peut être retrouvé dans le cas test SDLV129A. Les résultats pour la présente étude sont donnés dans le tableau suivant. .. csv-table:: "Cas", ":math:`\mathit{DX}` (:math:`\mathit{mm}` )", ":math:`\mathit{DY}` (:math:`\mathit{mm}` )", ":math:`\mathit{DZ}` (:math:`\mathit{mm}` )", ":math:`{\alpha}_{\mathrm{Gerber}}^{\min}`", ":math:`{\mathit{DX}}^{max}` (:math:`\mathit{mm}` )", ":math:`{\mathit{DY}}^{max}` (:math:`\mathit{mm}` )", ":math:`{\mathit{DZ}}^{max}` (:math:`\mathit{mm}` )", ":math:`{D}^{max}` (:math:`\mathit{mm}` )" "Mode 1", "-0.02", "0.07", "0.99", "1.8", "0.04", "0.11", "1.78", "1.79" "Mode 2", "0.07", "0.98", "0.21", "0.8", "0.06", "0.78", "0.77", "0.8" "Mode 3", "0.02", "-0.18", "-0.82", "1.3", "0.03", "0.23", "1.07", "1.09" "Mode 1 + 0,5 Mode 2", "0.05", "0.56", "1.1", "1.5", "0.08", "0.83", "1.64", "1.84"