u4.52.12 Opérateur EXTR_MODE#
Syntaxe#
Détail de la syntaxe
/ mode_gene
/ mode_meca
/ mode_meca_c = EXTR_MODE(
◆ FILTRE_MODE = _F(
◆ MODE = mode_gene / mode_meca / mode_meca_c,
◆ / TOUT_ORDRE = / "NON",
/ "OUI",
/ NUME_ORDRE = int,
/ NUME_MODE = int,
/ NUME_MODE_EXCLU = int,
/ FREQ_MIN = float,
/ CRIT_EXTR = / "INER_EFFE",
/ "INER_EFFE_UN",
/ "MASS_EFFE",
/ "MASS_EFFE_UN",
/ "MASS_GENE",
# Si: exists("FREQ_MIN")
◆ FREQ_MAX = float,
◇ PRECISION = float (défaut: 0.001),
# Si: exists("CRIT_EXTR")
◆ | SEUIL = float,
| SEUIL_X = float,
| SEUIL_Y = float,
| SEUIL_Z = float,
),
◇ TITRE = text,
◇ IMPRESSION = _F(
◇ CUMUL = / "NON" (par défaut),
/ "OUI",
◇ CRIT_EXTR = / "INER_EFFE",
/ "INER_EFFE_UN",
/ "MASS_EFFE",
/ "MASS_EFFE_UN" (par défaut),
/ "MASS_GENE",
),
)
◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles
Opérandes#
Mot-clé FILTRE_MODE#
On répète ce mot-clé autant de fois qu’il y a de structures de données de type mode_meca_* ou mode_gene à filtrer et à concaténer.
Opérande MODE#
Nom de la structure de données mode_meca_* ou mode_gene à trier et à concaténer aux autres.
Filtrage des modes#
Pour filtrer les modes, trois possibilités s’offrent à l’utilisateur.
Opérandes NUME_MODE / NUME_ORDRE / TOUT_ORDRE#
Liste des numéros d’ordre ou des positions modales des modes que l’on souhaite conserver.
Opérandes NUME_MODE_EXCLU#
Liste des positions modales des modes que l’on souhaite supprimer.
Opérandes FREQ_MIN / FREQ_MAX / PRECISION#
On garde tous les modes qui correspondent à des fréquences comprises entre f_min et f_max à la précision relative prec. On doit avoir f_min inférieure à f_max.
Opérande CRIT_EXTR#
Choix du paramètre qui sert de critère pour le filtrage des modes. Les paramètres sont définis dans la documentation de référence [R5.01.03].
Si le critère est “MASS_EFFE_UN” ou “MASS_EFFE” un mode sera retenu dès qu’une de ses masses modales effectives unitaires, ou non, directionnelles est supérieure à un seuil fixé par l’utilisateur.
Si le critère est “INER_EFFE_UN” ou “INER_EFFE” un mode sera retenu dès qu’une de ses inerties modales effectives unitaires, ou non, directionnelles est supérieure à un seuil fixé par l’utilisateur.
Si le critère est “MASS_GENE” un mode sera retenu dès que le rapport de la masse généralisée sur la somme des masses généralisées des modes de la structure filtrée est supérieure à un seuil fixé par l’utilisateur.
Ces critères ont un sens seulement pour les structures de données de type mode_meca_* .
Opérandes SEUIL, SEUIL_X, SEUIL_Y, SEUIL_Z#
Valeur limite du critère en dessous de laquelle on considère qu’on peut filtrer le mode.
Cette valeur, dans le cas des paramètres actuellement pris en compte, est une valeur relative adimensionnelle.
On peut appliquer le même seuil dans toutes les directions (mot-clé SEUIL) ou différencier les seuils selon les directions \(X\) , \(Y\) ou \(Z\) (SEUIL_X, SEUIL_Y, SEUIL_Z)
Mot-clé IMPRESSION#
Ce mot-clé permet d’imprimer un tableau de cumul de certains paramètres. Ces paramètres peuvent être différents de ceux choisis dans les mots clés FILTRE_MODE.
Opérande CUMUL#
Impression ou non impression des cumuls du paramètre modal retenu par CRIT_EXTR pour la structure de données résultat resu_mod.
Opérande CRIT_EXTR#
Choix du paramètre d’impression pour lequel on effectue l’opération de cumul. Si le critère est “MASS_EFFE_UN” (masse effective unitaire), on cumule séparément les valeurs des paramètres “MASS_EFFE_UN_DX”, “MASS_EFFE_UN_DY”, “MASS_EFFE_UN_DZ” (masse modale effective unitaire dans la direction D*) des modes extraits.
Si le critère est “MASS_GENE” on cumule les valeurs du paramètre MASS_GENE (masse généralisée) des modes extraits.
Les paramètres mentionnés dans ce paragraphe sont définis plus précisément dans la documentation de référence [R5.01.03].
Mot-clé TITRE#
Titre attaché au concept produit par cet opérateur [U4.03.01].
Exécution#
On vérifie que le paramètre pour lequel on effectue le filtrage existe bien dans la structure de données d’entrée mod. Si ce paramètre n’est pas renseigné, on sort en erreur fatale. Par contre, pour le mot-clé IMPRESSION, si les paramètres MASS_EFFE_UN_* ne sont pas renseignés, on émet seulement une alarme.
En sortie, le concept produit resu_mod ne doit pas être vide, sinon on sort en erreur fatale.
On vérifie également que tous les concepts mode_meca_* ou mode_gene sont de même type et qu’ils proviennent du même problème initial (mêmes matrices).
Après avoir filtré les modes intéressants, on vérifie qu’ils ont tous une position modale différente. Dans le cas contraire, on émet un message d’alarme. Pour supprimer ces modes dupliqués, il faut réutiliser la commande EXTR_MODE et activer l’opérande NUME_MODE_EXCLU.
A ce jour, on ne vérifie pas que les structures de données de type mode_meca_* correspondent à une même norme.
Exemples d’impression#
Si le mot-clé facteur IMPRESSION est présent, l’opérateur EXTR_MODE écrit dans le fichier MESSAGE un certain nombre de paramètrres sur les modes extraits.
Exemple d’impression, avec les mot-clés CRIT_EXTR=”MASS_EFFE_UN” et CUMUL=”OUI” :
CONCEPT MODESX DE TYPE MODE_MECA ISSU DE L OPERATEUR EXTR_MODE
M A S S E E F
NUME_ORDRE NUME_MODE FREQUENCE MASS_EFFE_UN_DX CUMUL_DX
1 1 2.66902D-01 4.12685D-02 4.12685D-02
2 11 6.49621D+01 1.18667D-01 1.59935D-01
3 19 2.56692D+02 1.02927D-02 1.70228D-01
F E C T I V E U N I T A I R E
MASS_EFFE_UN_DY CUMUL_DY MASS_EFFE_UN_DZ CUMUL_DZ
2.22156D-25 2.22156D-25 3.80903D-01 3.80903D-01
4.69363D-25 6.91519D-25 3.11195D-03 3.84015D-01
4.22168D-27 6.95741D-25 7.06977D-03 3.91085D-01
Le NUME_ORDRE est la position du mode dans la structure de donnée, le NUME_MODE est la position modale dans le spectre (cf. opérateur CALC_MODES [U4.52.02]).
FREQUENCE est la fréquence propre du mode.
MASS_EFFE_UN_D* est la masse modale effective unitaire dans la direction * (* = Xou You Z).
Ces grandeurs sont définies dans la documentation de référence [R5.01.03].
CUMUL_* sont les sommes cumulées des masses effectives unitaires par direction.
Exemple d’impression, avec les mot-clés CRIT_EXTR=”MASS_GENE” et CUMUL=”OUI”:
CONCEPT MODESX DE TYPE MODE_MECA ISSU DE L OPERATEUR EXTR_MODE
MASSE GENERALISEE
NUME_ORDRE NUME_MODE FREQUENCE MASS_GENE CUMUL_MASS_GENE
1 1 2.66902D-01 1.00000D+00 1.00000D+00
2 11 6.49621D+01 1.00000D+00 2.00000D+00
3 19 2.56692D+02 1.00000D+00 3.00000D+00
MASS_GENE est la masse généralisée du mode, définie dans la documentation de référence [R5.01.03].
CUMUL_MASS_GENE est la somme cumulée des masses généralisées.
Exemple d’utilisation#
Voici un exemple présentant les différentes possibilités de la commande EXTR_MODE pour une analyse modale réalisée par 5 recherches de modes successives:
# Calcul de la masse totale de la structure (pour vérification)
massestr = POST_ELEM (... MASS_INER = (...));
# Calcul des 17 premières fréquences (NUME_ORDRE de 1 à 17 ; NUME_MODE de 1 à 17)
mode1 = CALC_MODES(MATR_RIGI = rigidité,
MATR_MASS = masse,
OPTION = 'PLUS_PETITE',
CALC_FREQ = _F( NMAX_FREQ = 17 ))
mode1 = NORM_MODE(MODE = mode1, reuse = mode1,
NORME = 'TRAN_ROTA')
# Calcul d’autres fréquences (NUME_ORDRE de 1 à 5 ; NUME_MODE de 18 à 22)
mode2 = CALC_MODES(MATR_RIGI = rigidité,
MATR_MASS = masse,
OPTION = 'BANDE',
CALC_FREQ =_F ( FREQ = (20. , 25.) ),)
mode2 = NORM_MODE(MODE = mode2, reuse = mode2,
NORME = 'TRAN_ROTA')
# Calcul d’autres fréquences (NUME_ORDRE de 1 à 6 ; NUME_MODE de 23 à 28)
mode3 = CALC_MODES (MATR_RIGI = rigidité,
MATR_MASS = masse,
OPTION = 'BANDE',
CALC_FREQ =_F ( FREQ = (25. , 30.) ),)
mode3 = NORM_MODE(MODE = mode3,
reuse = mode3,
NORME ='TRAN_ROTA',)
# Calcul d’autres fréquences (NUME_ORDRE de 1 à 3 ; NUME_MODE de 28 à 30)
mode4 = CALC_MODES(MATR_RIGI = rigidité,
MATR_MASS = masse,
OPTION = 'BANDE',
CALC_FREQ =_F( FREQ = (29. , 32.) ),)
mode4 = NORM_MODE(MODE = mode4,
reuse = mode4,
NORME ='TRAN_ROTA',)
# Calcul d’autres fréquences (NUME_ORDRE de 1 à 6 ; NUME_MODE de 31 à 34)
mode5 = CALC_MODES(MATR_RIGI = rigidité,
MATR_MASS = masse,
OPTION = 'BANDE',
CALC_FREQ =_F ( FREQ = (32. , 35.) ),)
mode5 = NORM_MODE(MODE = mode5,
reuse = mode5,
NORME = 'TRAN_ROTA')
# Extraction des modes
mode = EXTR_MODE(FILTRE_MODE =(_F(MODE = mode1,
TOUT_ORDRE = 'OUI' ),
_F(MODE = mode2,
NUME_MODE = (18,19,20,21,22)),
_F(MODE = mode3,
FREQ_MIN = 25.,
FREQ_MAX = 30. ),
_F(MODE = mode4,
NUME_MODE_EXCLU = 28 ),
_F(MODE = mode5,
CRITERE = 'MASS_EFFE_UN',
SEUIL = 0.005 ),
),
IMPRESSION =_F ( CUMUL = 'OUI' ))