Vous êtes sur la page 1sur 18

Code_Aster

Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 1/18 Cl : U2.06.01 Rvision : 11026

Mise en uvre d'un calcul de modes propres d'une structure


Rsum Ce document prsente une vue globale des diffrentes approches disponibles dans Code_Aster pour calculer les modes propres de vibration d'une structure mcanique. Ces approches sont dcrites en partant de la plus simple mettre en uvre, pour des tudes standard, et en allant progressivement vers des mises en uvre plus labores pour des tudes avances. On prsente les enchanements ncessaires des oprateurs de Code_Aster, sans entrer dans le dtail de chaque oprateur.

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 2/18 Cl : U2.06.01 Rvision : 11026

Table des Matires


1 Rappels : formulation du problme.....................................................................................................3 2 Mise en donne du problme..............................................................................................................3 3 Calcul des modes propres de vibration d'une structure.......................................................................4 3.1 tudes les plus simples................................................................................................................4 3.2 Fonctionnalits plus avances : via un calcul pralable des matrices assembles......................5 3.2.1 Enchanement des commandes Code_Aster......................................................................5 3.2.2 Utilit d'un calcul intermdiaire des matrices assembles : quelques exemples................6 3.2.2.1 Comptage pralable des frquences propres..........................................................7 3.2.2.2 Structures avec amortissement hystrtique..........................................................7 3.2.2.3 Prise en compte de pr-contraintes.........................................................................7 3.2.2.4 Prise en compte de la gyroscopie (machines tournantes).......................................8 3.2.2.5 Utilisation des modes pour un calcul dynamique sur base modale.........................8 3.2.3 Amliorer la qualit des modes propres..............................................................................8 3.2.4 Optimisation des performances CPU................................................................................10 3.2.4.1 Dcoupage de la bande frquentielle de recherche..............................................10 3.2.4.2 Paralllisme...........................................................................................................11 3.2.4.3 Rduction de modle : calcul par sous-structuration.............................................13 4 Paramtres contenus dans un rsultat de calcul modal....................................................................13 5 Post-traitements des modes propres.................................................................................................16 5.1 Visualisation................................................................................................................................16 5.2 Normalisation des modes...........................................................................................................17 5.3 Filtrage des modes selon un critre............................................................................................17

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 3/18 Cl : U2.06.01 Rvision : 11026

Rappels : formulation du problme


On considre une structure mcanique reprsente, dans le cadre d'une modlisation par lments finis, par ses matrices de raideur K , de masse M et ventuellement d'amortissement C . L'quation rgissant l'volution de la structure s'crit M x K x= 0 . C x On veut caractriser les vibrations libres de la structure mcanique, dfinies par des frquences

i ( i : pulsation propre du mode n i ) et les dformes modales x i associes (et 2 les amortissements modaux i si le modle contient de l'amortissement).
propres

f i=

En l'absence d'amortissement (cas le plus simple et le plus frquent), le calcul modal consiste 2 trouver les couples i , xi tels que K i M x i =0 .

Mise en donne du problme


La mise en donne pour un calcul de modes propres de vibrations est classique et commune la plupart des calculs de mcanique dans Code_Aster : lecture du maillage (oprateur LIRE_MAILLAGE), affectation des caractristiques du modle : modle de type poutre ou 3D ou ? (AFFE_MODELE), dfinition et affectation des matriaux (DEFI_MATERIAU et AFFE_MATERIAU) et / ou affectation des caractristiques des lments de structure (AFFE_CARA_ELEM), imposition ventuelle de conditions aux limites (tape absente si la structure est compltement libre). La particularit du calcul modal dans Code_Aster actuellement est qu'il faut en gnral que les conditions aux limites de dplacement, s'il y en a, soient imposes par dualisation (AFFE_CHAR_MECA, mot-cl facteur DDL_IMPO le plus courant ou FACE_IMPO ou ARETE_IMPO) plutt que par des charges cinmatiques (AFFE_CHAR_CINE). La Figure 2-a schmatise la mise en donne d'un problme de calcul modal.

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 4/18 Cl : U2.06.01 Rvision : 11026

LIRE_MAILLAGE Lecture du
maillage

AFFE_MODELE

Caractristiques du modle (3D, poutre, ...)

et / ou

DEFI_MATERIAU
matriaux

AFFE_CARA_ELEM

Caractristiques des lments de structure

AFFE_MATERIAU

et / ou

AFFE_CARA_ELEM AFFE_CHAR_MECA Conditions mot-cl DISCRET mot-cl *_IMPO aux limites oprande K_*
de dplacement par raideurs discrtes

tape absente si structure libre

Figure 2-a : Mise en donne d'un problme de calcul modal. Remarques : Pour un calcul modal, aucune excitation n'est ncessaire, sauf si on veut prendre en compte l'effet de raideur gomtrique apport par un chargement statique (tude avance). Le cas chant, le paragraphe 3.2.2.3 indique la dmarche adopter (tude avance). Pour une tude simple, la structure n'est pas prcontrainte : les ventuelles conditions aux limites en dplacement sont gnralement nulles. Si on veut prendre en compte la prcontrainte engendre par des dplacements non nuls, il faut adopter l aussi la dmarche indique au paragraphe 3.2.2.3.

Calcul des modes propres de vibration d'une structure


partir des donnes d'entre vues au paragraphe prcdent, on prsente ici les diffrentes possibilits offertes par Code_Aster pour calculer les modes propres d'une structure, en allant de la plus simple de mise en uvre, des enchanements plus compliqus.

3.1

tudes les plus simples


Fascicule u2.06 : Dynamique

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 5/18 Cl : U2.06.01 Rvision : 11026

Pour les tudes simples (on considre ici une structure modlise sans amortissement, sans prcontrainte, sans interaction fluide structure, sans gyroscopie, , et avec un nombre de degrs de libert raisonnable ), la solution la plus ergonomique est d'utiliser l'oprateur CALC_MODAL dont la syntaxe est trs synthtique. Cet oprateur ralise le calcul des modes propres directement partir des donnes d'entre du problme mcanique, en ralisant, de manire transparente pour l'utilisateur, le calcul des matrices assembles reprsentant la structure. Pour un premier calcul, on conseille de laisser les paramtres par dfaut de l'algorithme de rsolution et de vrification des rsultats : l'utilisateur doit seulement renseigner sa zone de recherche des frquences propres grce au mot-cl facteur CALC_FREQ.

donnes d'entre

CALC_MODAL mot-cl facteur CALC_FREQ

Calcul des modes propres

Figure 3.1-a : Calcul des modes propres par la procdure la plus simple. Exemple : calcul du mode propre le plus proche de

50 Hz :

modes = CALC_MODAL( MODELE = modele, CHAM_MATER = ch_mat, CARA_ELEM = cara_el, CHARGE = c_limite, CALC_FREQ = _F( OPTION = 'CENTRE', FREQ = 50., NMAX_FREQ = 1 )); Remarque : L'oprateur CALC_MODAL permet aussi de traiter des structures avec amortissement visqueux. Il faut pour cela renseigner le mot-cl facteur AMORTISSEMENT='OUI'.

3.2

Fonctionnalits plus avances : via un calcul pralable des matrices assembles


L'oprateur CALC_MODAL est en ralit une macro-commande qui enchane certaines commandes lmentaires de manire prdfinie. Son champ d'application est donc ncessairement limit des tudes relativement simples. Pour des tudes avances, on aura besoin de connatre les matrices assembles (raideur, masse, amortissement) reprsentant la structure. Des exemples de leur utilit sont donns au paragraphe 3.2.2.

3.2.1

Enchanement des commandes Code_Aster


partir des donnes d'entre, on procde ainsi : calcul des matrices assembles (oprateur ASSEMBLAGE avec les options 'RIGI_MECA' et 'MASS_MECA' ; d'autres options existent pour calculer des matrices plus spcifiques, par exemple la rigidit gomtrique, l'amortissement, la gyroscopie, etc.) ; calcul des modes propres. Pour cela, on dispose de deux oprateurs qui diffrent par leurs algorithmes de rsolution : MODE_ITER_SIMULT et MODE_ITER_INV.

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 6/18 Cl : U2.06.01 Rvision : 11026

MODE_ITER_SIMULT est privilgier pour ses performances CPU si on cherche un nombre relativement important de modes (jusqu' 50 80 ; au-del, on recommande dcouper la recherche en plusieurs sous-bandes, cf paragraphe 3.2.4.1), notamment avec l'option de recherche sur un bande donne (OPTION='BANDE') pour une meilleure robustesse. Au contraire, MODE_ITER_INV, beaucoup plus coteux, est utiliser plutt pour calculer quelques modes avec une trs bonne qualit, par exemple si on veut affiner des premires estimations de modes propres (cf. paragraphe 3.2.3). Dans un premier temps, il est conseill de laisser les paramtres par dfaut de ces oprateurs, et de prciser seulement la zone de recherche des frquences propres.

donnes d'entre

ASSEMBLAGE

Calcul des matrices assembles Comptage a priori des frquences propres (facultatif mais recommand)

INFO_MODE

ou

MODE_ITER_SIMULT Calcul des mot-cl facteur modes propres CALC_FREQ

MODE_ITER_INV mot-cl facteur CALC_FREQ

Figure 3.2.1-a : Calcul des modes en passant par les matrices assembles. Exemple : calcul des modes propres sur la bande

[ 20 ; 300 ] Hz :

ASSEMBLAGE( MODELE = modele, CHAM_MATER = ch_mat, CARA_ELEM = cara_el, CHARGE = c_limite, NUME_DDL = CO("numerota"), # cration d'une numrotation des # DDL MATR_ASSE =( _F( MATRICE= CO("matr_k"), OPTION= 'RIGI_MECA'), _F( MATRICE= CO("matr_m"), OPTION= 'MASS_MECA'), ) ) modes = MODE_ITER_SIMULT( MATR_RIGI = matr_k, MATR_MASS = matr_m, CALC_FREQ =_F( OPTION = 'BANDE', FREQ = (20., 300.) ) )

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 7/18 Cl : U2.06.01 Rvision : 11026

3.2.2

Utilit d'un calcul intermdiaire des matrices assembles : quelques exemples

3.2.2.1 Comptage pralable des frquences propres Avant le calcul proprement dit des modes propres, il est fortement recommand de raliser un comptage des modes propres contenus dans une ou des bandes de frquences donnes (dans le cas standard de modes rels ; si les modes calculer sont complexes, il s'agira d'un comptage autour d'un point du plan complexe). Ce comptage est beaucoup plus rapide que le calcul proprement parler des modes propres. Le comptage des modes propres est ralis par l'oprateur INFO_MODE . La connaissance a priori du nombre de frquences propres contenues dans la bande recherche a une double utilit de vrification et d'optimisation des performances CPU du calcul modal : vrification : on peut vrifier que le nombre de modes propres calcules par le solveur modal est effectivement gal au nombre de modes propres compt a priori ; optimisation CPU : si le nombre de frquences propres comptes sur la bande frquentielle de recherche est trop lev (un seuil compris entre 50 et 80 est couramment constat), lutilisateur pourra dcouper sa bande de recherche en plusieurs sous-bandes, grce l'oprateur MACRO_MODE_MECA (cf paragraphe 3.2.4.1 ). Dans une premire approche, l'utilisateur peut se contenter de renseigner dans le cas standard de modes rels : les matrices de la structure avec les mot-cls MATR_* ainsi que sa (ses) bande(s) de recherche avec le mot-cl FREQ ; dans le cas de modes complexes (par exemple : structures avec amortissement, ) : il faut prciser TYPE_MODE='COMPLEXE' et renseigner le disque de recherche dans le plan complexe par RAYON_CONTOUR (et ventuellement CENTRE_CONTOUR) la place de FREQ. 3.2.2.2 Structures avec amortissement hystrtique L'oprateur simple CALC_MODAL ne permet pas de calculer les modes propres d'une structure avec amortissement hystrtique. Il faut donc calculer explicitement la matrice assemble de rigidit totale incluant la contribution hystrtique (matrice complexe). L'enchanement des oprateurs est le suivant : calcul des matrices assembles de rigidit totale (rigidit classique + rigidit hystrtique) et de masse ( ASSEMBLAGE avec les options 'RIGI_MECA_HYST' et 'MASS_MECA' respectivement) ; calcul modal avec comme entre la matrice de rigidit totale (complexe) et la matrice de masse ( MODE_ITER_SIMULT ou MODE_ITER_INV ). On se reportera la documentation [U2.06.03] pour plus d'informations sur la prise en compte de l'amortissement hystrtique dans Code_Aster. 3.2.2.3 Prise en compte de pr-contraintes La prise en compte de pr-contraintes (conditions aux limites non nulles, chargements extrieurs statiques, ...) ncessite de calculer les matrices assembles de rigidit mcanique et gomtrique. On peut alors les combiner pour former la matrice assemble de rigidit totale qui est celle utilise pour le calcul modal. L'enchanement des oprateurs est le suivant, dans un cas relativement simple de chargement extrieur statique : dfinition du chargement extrieur (oprateur AFFE_CHAR_MECA, avec par exemple le mot-cl FORCE_NODALE), calcul du champ de contraintes associ ce chargement (oprateur MECA_STATIQUE ou STAT_NON_LINE ou MACRO_ELAS_MULT pour calculer la rponse statique, puis CREA_CHAMP avec le mot-cl OPERATION='EXTR' pour rcuprer le champ de contraintes), calcul des matrices assembles de rigidit mcanique, rigidit gomtrique associe au champ de contrainte, et de masse (ASSEMBLAGE), combinaison des matrices de rigidit mcanique et rigidit gomtrique pour former la matrice de rigidit totale (COMB_MATR_ASSE),
Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html) Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 8/18 Cl : U2.06.01 Rvision : 11026

calcul modal avec comme entre la matrice de rigidit totale et la matrice de masse (MODE_ITER_SIMULT ou MODE_ITER_INV).

Exemple : Le cas-test SDLL101 prsente un exemple de calcul des modes d'une poutre soumise des forces statiques. 3.2.2.4 Prise en compte de la gyroscopie (machines tournantes) En plus des autres matrices assembles (de raideur, masse et ventuellement amortissement autre que gyroscopique), il faut calculer la matrice d'amortissement gyroscopique avec l'option 'MECA_GYRO'. L'oprateur CALC_MODE_ROTATION permet alors de calculer les modes propres de la structure pour diffrentes vitesses de rotation dfinies par l'utilisateur sous le mot-cl VITE_ROTA. On peut alors tracer le diagramme de Campbell (volution des frquences propres en fonction de la vitesse de rotation) de la structure tournante grce l'oprateur IMPR_DIAG_CAMPBELL. Remarque : L'oprateur CALC_MODE_ROTATION est en ralit une macro-commande apppelant MODE_ITER_SIMULT : au besoin, l'utilisateur peut donc raliser les diffrentes tapes lmentaires de CALC_MODE_ROTATION la main mais de manire beaucoup moins ergonomique. Le cas-test SDLL129 illustre la dmarche dans le cas d'un rotor avec paliers dont les caractristiques dpendent de la vitesse de rotation. 3.2.2.5 Utilisation des modes pour un calcul dynamique sur base modale Il faut l aussi avoir accs aux matrices assembles : leur projection sur une base modale fournit les matrices gnralises utilisables pour un calcul dynamique, avec des performances CPU bien meilleures que l'utilisation directe des matrices assembles. Cette mthode de rduction de modle est dcrite dans les documentations de rfrence [R5.06.01] et d'utilisation [U2.06.04] .

3.2.3

Amliorer la qualit des modes propres


On attire l'attention sur le fait que la qualit d'un calcul modal dpend avant tout de la qualit des donnes d'entre et de la modlisation physique. On peut notamment citer : le choix des conditions aux limites : sont-elles reprsentative de la ralit ? Leur influence est forte sur le rsultat du calcul ; la finesse du maillage : une tude de convergence du maillage est ncessaire, comme pour toute tude numrique ; le choix de la modlisation : par lments de structure (poutre, coque, ) ou en 3D ? Par exemple, pour une structure lance, une modlisation en poutre sera gnralement meilleure qu'une modlisation 3D mme avec une bonne finesse de maillage. Si les donnes d'entre et la modlisation sont figes, il est possible d'amliorer la qualit informatique du rsultat. Pour cela, un premier calcul par la mthode de sous-espace (oprateur MODE_ITER_SIMULT) donne une premire estimation des modes propres (frquences propres, dformes modales, ) d'une structure. Cette premire estimation est gnralement dj bonne et satisfaisante. Pour des modles plus compliqus, il est toutefois conseill d'affiner cette estimation par un second calcul par la mthode des puissances inverses (oprateur MODE_ITER_INV). L'enchanement des commandes est alors le suivant :

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE
donnes d'entre

Version default
Date : 14/05/2013 Page : 9/18 Cl : U2.06.01 Rvision : 11026

ASSEMBLAGE

Calcul des matrices assembles

INFO_MODE

Comptage a priori des frquences propres (facultatif mais recommand)

MODE_ITER_SIMULT mot-cl facteur CALC_FREQ

Calcul des modes propres : 1re estimation

MODE_ITER_INV Calcul des mot-cl facteur CALC_FREQ modes propres : oprande FREQ alimente affinement par la 1re estimation

Figure 3.2.3-a : Amlioration de la qualit des modes propres. Exemple : Le premier calcul de modes sur la bande [0 ; 2000] Hz avec la commande ci-dessous : mode1 = MODE_ITER_SIMULT( MATR_RIGI = k_asse, MATR_MASS = m_asse, CALC_FREQ =_F( OPTION = 'BANDE', FREQ= (0., 2000.), ), ) donne les rsultats suivants, visibles dans le fichier MESSAGE : -----------------------------------------------------------------------LES FREQUENCES CALCULEES INF. ET SUP. SONT: FREQ_INF : 4.65661E+01 FREQ_SUP : 1.60171E+03 -----------------------------------------------------------------------CALCUL MODAL: METHODE D'ITERATION SIMULTANEE METHODE DE SORENSEN NUMERO FREQUENCE (HZ) NORME D'ERREUR 1 4.65661E+01 1.82405E-07 2 2.91827E+02 3.47786E-09 3 8.17182E+02 9.83625E-11 4 1.60171E+03 4.31692E-11 NORME D'ERREUR MOYENNE: 0.46506E-07 -----------------------------------------------------------------------VERIFICATION A POSTERIORI DES MODES DANS L'INTERVALLE ( 4.64496E+01, 1.60571E+03)
Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html) Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 10/18 Cl : U2.06.01 Rvision : 11026

IL Y A BIEN 4 FREQUENCE(S) -----------------------------------------------------------------------On peut alors affiner par exemple les deux premiers modes propres, en lanant le second calcul partir des frquences propres prcdemment calcules : mode2 = MODE_ITER_INV( MATR_RIGI = k_asse, MATR_MASS = m_asse, CALC_FREQ =_F( OPTION = 'PROCHE', FREQ = ( 46.6, 291.8 ), ), ) ce qui donne -----------------------------------------------------------------------CALCUL MODAL: METHODE D'ITERATION INVERSE INVERSE NUMERO FREQUENCE (HZ) AMORTISSEMENT NB_ITER PRECISION NORME D'ERREUR 1 4.65661E+01 0.00000E+00 3 3.33067E-16 3.99228E-08 2 2.91827E+02 0.00000E+00 3 2.22045E-16 1.23003E-09 On observe que la norme d'erreur est lgrement amliore (certes faiblement mais il s'agit ici d'un cas trs simple). Remarque : On peut aussi automatiser la rcupration des frquences propres issues de la premire estimation pour alimenter le second calcul, grce au langage Python : # rcupration de la la liste des frquences propres estimes dans la variable Python f_estimation : f_estimation = MODE1.LIST_VARI_ACCES()['FREQ'] mode2 = MODE_ITER_INV( MATR_RIGI = k_asse, MATR_MASS = m_asse, CALC_FREQ =_F( OPTION = 'PROCHE', FREQ = f_estimation, ), )

3.2.4

Optimisation des performances CPU

3.2.4.1 Dcoupage de la bande frquentielle de recherche Si on recherche beaucoup de modes propres (soit car la bande de recherche est trs large, soit car la densit modale est forte), les performances du calcul modal seront meilleures en dcoupant la bande de recherche globale [ f min ; f max ] en plusieurs ( n ) sous-bandes : [ f min ; f 2 ] , [ f 2 ; f 3 ] , , Cela est fait grce l'oprateur MACRO_MODE_MECA en prcisant le dcoupage frquentiel avec le mot-cl FREQ=(fmin,f2,...,fn,fmax). Pour dfinir les sous-bandes, l'utilisateur peut s'appuyer sur le comptage a priori des frquences propres fourni par l'oprateur INFO_MODE qui peut lui aussi fonctionner par sous-bandes.

[ f n ; f max ] .

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 11/18 Cl : U2.06.01 Rvision : 11026

donnes d'entre

ASSEMBLAGE

Calcul des matrices assembles

INFO_MODE

Comptage a priori des frquences propres

Calcul des MACRO_MODE_MECA modes propres mot-cl FREQ=(fmin,f2,,fn,fmax) par sous-bandes

Figure 3.2.4.1-a : Calcul des modes propres par dcoupage en sous-bandes. Exemple : identique au paragraphe 3.2.1 en dcoupant la bande

[ 20 ; 300 ] Hz en trois sous-bandes :

ASSEMBLAGE( MODELE = modele, CHAM_MATER = ch_mat, CARA_ELEM = cara_el, CHARGE = c_limite, NUME_DDL = CO("numerota"), # cration d'une numrotation des # DDL MATR_ASSE =( _F( MATRICE= CO("matr_k"), OPTION= 'RIGI_MECA'), _F( MATRICE= CO("matr_m"), OPTION= 'MASS_MECA'), ) ); nb_modes = INFO_MODE( MATR_RIGI = matr_k, MATR_MASS = matr_m, FREQ = (20.,300.), ); modes = MACRO_MODE_MECA( MATR_RIGI = matr_k, MATR_MASS = matr_m, CALC_FREQ =_F( FREQ = (20., 100., 200., 300.) ) ); Remarques : Il y a un gain en performance CPU mme lorsque les sous-bandes sont traites squentiellement (ce qui est le cas par dfaut). La mise en uvre du paralllisme (cf paragraphe suivant) permet d'amliorer encore plus les performances. Pour des performances optimales, il est conseill d'avoir des sous-bandes les plus quilibres possibles (soit avec un nombre de modes recherchs par sous-bande relativement uniforme). 3.2.4.2 Paralllisme Pour le calcul modal, le paralllisme peut tre mis en uvre deux niveaux : paralllisation des calculs modaux mens sur chaque sous-bande, dans les oprateurs INFO_MODE et MACRO_MODE_MECA ;
Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html) Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 12/18 Cl : U2.06.01 Rvision : 11026

paralllisme au niveau du solveur linaire MUMPS, dans les oprateurs INFO_MODE, MODE_ITER_SIMULT, MODE_ITER_INV et MACRO_MODE_MECA.

Pour mettre en uvre le paralllisme, il faut : disposer d'une version de Code_Aster construite avec un compilateur parallle (par exemple : OpenMPI, ). Sur le serveur centralis Aster4, des versions parallles existent dj : STAxx_impi ; slectionner dans ASTK une version parallle de Code_Aster ;

Figure 3.2.4.2-a : Slection dans ASTK d'une version parallle de Code_Aster (exemple sur le serveur centralis Aster4). spcifier dans ASTK le nombre de processeurs et de nuds de calcul exploiter ; il faut utiliser au moins autant de processeurs que de sous-bandes frquentielles non vides, et on conseille d'utiliser un nombre de processeurs multiple du nombre de sous-bandes non vides (par exemple : s'il y a 5 sous-bandes non vides, utiliser 10 ou 15 ou processeurs) ;

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique

Figure 3.2.4.2-b : Dclaration dans ASTK du nombre de processeurs et nuds de calcul exploiter.

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 13/18 Cl : U2.06.01 Rvision : 11026

Dans le fichier de commande Code_Aster : pour utiliser le mode basique avec INFO_MODE ou MACRO_MODE_MECA (paralllisation des sous-bandes uniquement), il n'y a rien faire : les mot-cls par dfaut activent la paralllisation des sous-bandes ; pour utiliser le mode avanc (paralllisation des sous-bandes pour INFO_MODE et MACRO_MODE_MECA, et du solveur linaire pour tous les oprateurs modaux) : utiliser le solveur linaire MUMPS (mot-cl facteur SOLVEUR, oprande METHODE='MUMPS' ; on recommande galement de paramtrer les oprandes RENUM='QAMD' et GESTION_MEMOIRE='IN_CORE'). Exemple : identique au paragraphe 3.2.4.1 en paralllisant la fois les calculs sur les sous-bandes et le solveur linaire : modes = MACRO_MODE_MECA( MATR_RIGI = matr_k, MATR_MASS = matr_m, CALC_FREQ =_F( FREQ = (20., 100., 200., 300.) ), NIVEAU_PARALLELISME = 'COMPLET', SOLVEUR =_F( METHODE = 'MUMPS', RENUM = 'QAMD', GESTION_MEMOIRE = 'IN_CORE' ), ); Remarque : Pour des performances optimales, il est conseill d'avoir des sous-bandes les plus quilibres possibles (i.e. : avec un nombre de modes recherchs par sous-bande relativement uniforme). La mise en uvre du paralllisme est prsente de manire plus dtaille dans la documentation gnrique [U2.08.06] et les documentations d'utilisation de INFO_MODE [U4.52.01] et de MACRO_MODE_MECA [U4.52.02]. 3.2.4.3 Rduction de modle : calcul par sous-structuration Lorsque le modle numrique comporte un nombre lev de degrs de libert ou que la structure tudie est un assemblage de composants maills sparment, on peut utiliser des mthodes de rduction de modle par sous-structuration, qui reposent sur un partitionnement gomtrique de la structure globale. Sur des grands modles, ces mthodes prsentent de meilleures performances CPU qu'un calcul direct. Sous-structuration dynamique Cette mthode a un champ d'application trs gnral. La documentation [U2.07.05] dtaille sa mise en uvre. Sous-structuration cyclique Cette mthode a un champ d'application beaucoup plus restrictif que la prcdente : elle permet de traiter uniquement des structures rptitivit cyclique (par exemple : roue aubage, ). Le cas-test SDLV301 donne un exemple de mise en uvre.

Paramtres contenus dans un rsultat de calcul modal


L'excution de l'un des oprateurs de calcul modal s'accompagne de l'impression automatique de certains paramtres dans le fichier RESULTAT : -----------------------------------------------------------------------LE NOMBRE DE DDL

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 14/18 Cl : U2.06.01 Rvision : 11026

TOTAL EST: DE LAGRANGE EST:

234 120

LE NOMBRE DE DDL ACTIFS EST: 54 -----------------------------------------------------------------------L'OPTION CHOISIE EST: CENTRE LA VALEUR DE DECALAGE EN FREQUENCE EST : 5.00000E+01 -----------------------------------------------------------------------INFORMATIONS SUR LE CALCUL DEMANDE: NOMBRE DE MODES RECHERCHES : 1

LA DIMENSION DE L'ESPACE REDUIT EST : 0 ELLE EST INFERIEURE AU NOMBRE DE MODES, ON LA PREND EGALE A 4

============================================= = METHODE DE SORENSEN (CODE ARPACK) = = VERSION : 2.4 = = DATE : 07/31/96 = ============================================= NOMBRE DE REDEMARRAGES = NOMBRE DE PRODUITS OP*X = NOMBRE DE PRODUITS B*X = NOMBRE DE REORTHOGONALISATIONS (ETAPE 1) = NOMBRE DE REORTHOGONALISATIONS (ETAPE 2) = NOMBRE DE REDEMARRAGES DU A UN V0 NUL =

2 7 20 6 0 0

-----------------------------------------------------------------------LES FREQUENCES CALCULEES INF. ET SUP. SONT: FREQ_INF : 5.22037E+01 FREQ_SUP : 5.22037E+01 -----------------------------------------------------------------------CALCUL MODAL: METHODE D'ITERATION SIMULTANEE METHODE DE SORENSEN

frquences propres

NUMERO FREQUENCE (HZ) NORME D'ERREUR 2 5.22037E+01 7.02498E-10 3 6.74211E+01 9.12843E-10 NORME D'ERREUR MOYENNE: 0.80767E-09

position du mode dans le spectre global

-----------------------------------------------------------------------VERIFICATION A POSTERIORI DES MODES DANS L'INTERVALLE ( 5.20730E+01, 5.23340E+01) IL Y A BIEN 1 FREQUENCE(S) -----------------------------------------------------------------------Si les modes calculs sont complexes, il y a en plus une colonne donnant les amortissements modaux :
Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html) Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 15/18 Cl : U2.06.01 Rvision : 11026

-----------------------------------------------------------------------LE NOMBRE DE DDL TOTAL EST: DE LAGRANGE EST: 74 44

LE NOMBRE DE DDL ACTIFS EST: 8 -----------------------------------------------------------------------INFORMATIONS SUR LE CALCUL DEMANDE: NOMBRE DE MODES RECHERCHES : 5 le problme trait tant quadratique, on double l'espace de recherche Mthode QZ dans MODE_ITER_SIMULT: On trouve un nombre de valeurs propres 17 diffrent du nombre de ddls physiques actifs 8 ! votre problme est fortement amorti. valeur(s) propre(s) relle(s) : valeur(s) propre(s) complexe(s) avec conjugue : valeur(s) propre(s) complexe(s) sans conjugue : CALCUL MODAL: METHODE GLOBALE DE TYPE QR frquences propres (amorties) ALGORITHME QZ_SIMPLE NUMERO FREQUENCE (HZ) AMORTISSEMENT 1 5.52718E+00 8.68241E-03 2 1.08852E+01 1.71010E-02 3 1.59105E+01 2.50000E-02 4 2.04500E+01 3.21394E-02 5 2.43661E+01 3.83022E-02 NORME D'ERREUR MOYENNE: 0.12067E-12 14 10 0

NORME D'ERREUR 4.00918E-13 7.31808E-14 5.40182E-14 4.03817E-14 3.48265E-14

amortissements modaux

Attention : pour l'instant, il n'y a pas de vrification de type STURM (comptage du bon nombre des valeurs propres calcules) lorsqu'on est dans le plan complexe : problme modal gnralis avec MATR_RIGI complexe, ou problme modal gnralis avec matrice(s) non symtrique(s), ou problme modal quadratique (prence du mot-cl MATR_AMOR). -----------------------------------------------------------------------VERIFICATION A POSTERIORI DES MODES -----------------------------------------------------------------------En outre, la structure de donnes informatique produite lors d'un calcul modal peut contenir les paramtres suivants :

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 16/18 Cl : U2.06.01 Rvision : 11026

Intitul du paramtre dans Code_Aster FREQ AMOR_GENE AMOR_REDUIT FACT_PARTICI_D* MASS_EFFE_D* MASS_EFFE_UN_D* MASS_GENE OMEGA2 RIGI_GENE (* = X ou Y ou Z) (* = X ou Y ou Z) (* = X ou Y ou Z)

Dfinition Frquence propre (amortie, le cas chant) Amortissement modal gnralis Amortissement modal rduit Facteur de participation du mode dans la direction D* Masse modale effective dans la direction D* Masse modale effective unitaire dans la direction D* Masse gnralise du mode Pulsation propre (amortie, le cas chant) au carr Raideur gnralise du mode

Tableau 4.1 : liste des paramtres modaux. Ces paramtres sont dfinis mathmatiquement dans la documentation de rfrence [R5.01.03]. L'utilisateur y a accs en imprimant le contenu de la structure de donne avec l'oprateur IMPR_RESU au FORMAT='RESULTAT' avec l'option TOUT_PARA='OUI'.

5
5.1

Post-traitements des modes propres


Visualisation
Les dformes modales calcules par l'une des mthodes dcrites prcdemment peuvent tre exportes dans diffrents formats afin d'tre visualises dans des plates-formes de calcul mcanique : format MED pour la plate-forme Salom, format UNV, L'utilisateur peut ainsi caractriser graphiquement les modes calculs : mode de flexion ? mode dans un plan donn ? mode local ? etc. Exemple : impression au format MED. modes = ... # calcul par l'une des mthodes prcdemment dcrites

IMPR_RESU( FORMAT = 'MED', RESU=_F( RESULTAT = modes ) ); On peut alors ouvrir le fichier cr dans la plateforme Salome pour visualiser la dforme modale, l'animer,

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 17/18 Cl : U2.06.01 Rvision : 11026

Figure 5.1-a : Visualisation d'un mode dans Salom (module ParaVis) : ici le mode de flexion d'ordre 2 d'une poutre.

5.2

Normalisation des modes


Les dformes modales sont dfinies un facteur multiplicatif prs (cf formulation du problme modal au paragraphe 1). Par dfaut, les modes calculs par les oprateurs CALC_MODAL, MODE_ITER_SIMULT et MODE_ITER_INV sont norms de manire ce que la plus grande composante physique soit gale 1. L'utilisateur peut modifier cette normalisation grce l'oprateur NORM_MODE [U4.52.11], qui calcule galement ou met jour les paramtres modaux suivants, qui dpendent de la normalisation choisie : FACT_PARTICI_D*, MASS_GENE et RIGI_GENE. Il enrichit galement la structure de donne avec les paramtres MASS_EFFE_UN_D* (qui sont eux indpendants de la normalisation). Ces paramtres (dfinis au paragraphe 4) peuvent tre utiles notamment pour liminer d'une base modale certains modes non dsirs (cf paragraphe 5.3). Exemple : norme par rapport la masse. modes = ... # calcul par l'une des mthodes prcdemment dcrites

modes = NORM_MODE( reuse = modes, MODE = modes, NORME = 'MASS_GENE' ); Remarque : si l'utilisateur calcule les modes avec l'oprateur MACRO_MODE_MECA , il peut choisir la norme directement l'intrieur de cet oprateur, avec le mot-cl facteur NORM_MODE .

5.3

Filtrage des modes selon un critre


Fascicule u2.06 : Dynamique

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Code_Aster
Titre : Mise en uvre d'un calcul de modes propres d'une s[...] Responsable : Nicolas BRIE

Version default
Date : 14/05/2013 Page : 18/18 Cl : U2.06.01 Rvision : 11026

Dans la perspective d'un calcul de rponse transitoire par exemple, l'utilisateur peut choisir de conserver dans sa base modale de projection, seulement certains modes jugs importants dans la rponse dynamique ou remplissant un critre donn. Cela est fait grce l'oprateur EXTR_MODE [U4.52.12] qui permet de filtrer les modes selon diffrentes options : partir de leur numro dans le spectre global, de leur masse gnralise, etc. Exemple : limination des modes dont la masse effective unitaire dans la direction DX est infrieure 5 %, et affichage dans le fichier RESULTAT du cumul des masses effectives unitaires des modes conservs. modes = ... # calcul par l'une des mthodes prcdemment dcrites

modes_f = EXTR_MODE( FILTRE_MODE =_F( MODE = modes, CRIT_EXTR = 'MASS_EFFE_UN', SEUIL_X = 0.05 ), IMPRESSION =_F( CRIT_EXTR = 'MASS_EFFE_UN', CUMUL = 'OUI'), ); Remarque : si l'utilisateur calcule les modes avec l'oprateur MACRO_MODE_MECA , il peut raliser ce filtre directement l'intrieur de cet oprateur, avec le mot-cl facteur FILTRE_MODE .

Manuel d'utilisation Document diffus sous licence GNU FDL (http://www.gnu.org/copyleft/fdl.html)

Fascicule u2.06 : Dynamique