u4.52.17 Macro-commande POST_MODE#

Résumé :

Les masses et inerties effectives sont des paramètres calculés pour chaque mode par l’opérateur CALC_MODES. Elles peuvent servir de critères pour sélectionner les modes de plus fort intérêt. Dans ce cas, ces paramètres sont calculées en prenant en compte tout le modèle. Or il s’avère parfois utile de pouvoir disposer de ces paramètres sur une partie du modèle seulement.

Cette macro-commande permet de calculer les masses et inerties effectives dites locales pour chaque mode d’une structure de données de type mode_meca, c’est-à-dire en ne prenant en compte qu’une partie choisie du modèle.

POST_MODE produit une table avec les paramètres suivants :

NUME_ORDRE, NUME_MODE, FREQ, MASS_EFFE_DX, MASS_EFFE_DY, MASS_EFFE_DZ, INER_EFFE_DX, INER_EFFE_DY, INER_EFFE_DZ, MASS_EFFE_UN_DX, MASS_EFFE_UN_DY, MASS_EFFE_UN_DZ, INER_EFFE_UN_DX, INER_EFFE_UN_DY, INER_EFFE_UN_DZ

Syntaxe#

Détail de la syntaxe
table = POST_MODE(
    ◆ MODE = mode_meca,
    ◆ GROUP_MA = list[grma],
    ◇ CARA_ELEM = cara_elem,
    ◆ MATR_MASS = matr_asse_depl_r,
)


◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles

Principe#

Le calcul de ces masses et inerties effectives locales est fait de manière approchée. En effet, pour calculer ces grandeurs exactement, il faudrait reconstruire complètement la matrice de masse afin de ne prendre en compte que les contributions des mailles sélectionnées. POST_MODE ne calcule pas la véritable matrice de masse « locale ». Il transforme la matrice de masse globale (fournie à l’opérateur CALC_MODES) en mettant à zéro les lignes et colonnes correspondant à des degrés de liberté n’appartenant pas à la sélection de mailles définie. En procédant ainsi, on conserve, sur les degrés de liberté des nœuds aux bords du domaine sélectionné et connectés à d’autres mailles du modèle, des contributions provenant de mailles non sélectionnées.

Cette approximation est assumée. On ne cherche pas, avec cet outil, une précision parfaite, mais des valeurs suffisamment précises pour fournir de bons critères de sélection des modes.

Les formules de ces différents critères locaux sont les mêmes que les formules de ces mêmes critères globaux (présentées dans R5.01.03)

Opérandes#

Opérande MODE#

◆ MODE = mode

Nom de la structure de données mode_meca pour laquelle on souhaite calculer des critères locaux.

Opérande GROUP_MA#

◆ GROUP_MA = list[grma]

Liste des groupes de mailles définissant le sous-domaine.

Opérande CARA_ELEM#

◇ CARA_ELEM = cara_elem

Nom des caractéristiques des éléments de poutre, coque, etc.

Opérande MATR_MASS#

◆ MATR_MASS = matr_mass

Matrice de masse assemblée ayant été utilisée pour le calcul de mode_meca mode.

Exemple d’utilisation#

On calcule les critères de masses et inerties effectives, unitaires et non unitaires sur la partie du modèle souhaitée :

table_crit = POST_MODE( MODE=modes,
                        GROUP_MA=("BATIMENT2",),
                        CARA_ELEM=caraelem,
                        MATR_MASS=masse,
)

On modifie la table créée par filtrage du critère choisi, ici, masses effectives unitaires locales selon X supérieures à 5% :

table_crit = CALC_TABLE(reuse=table_crit,
                        TABLE=table_crit,
                        ACTION=_F(OPERATION="FILTRE",
                                  NOM_PARA="MASS_EFFE_UN_DX", CRIT_COMP="GT", VALE=0.05),
)

On récupère ensuite la liste des modes sélectionnés

liste_modes = table_crit.EXTR_TABLE().values()["NUME_MODE"]

et on construit un objet mode_meca ne contenant que ces modes.

EXTR = EXTR_MODE(FILTRE_MODE=_F(MODE=modes, NUME_MODE=liste_modes))