u4.61.01 Opérateur CALC_MATR_ELEM#

Syntaxe#

Détail de la syntaxe
/ matr_elem_pres_c
/ matr_elem_depl_r
/ matr_elem_temp_r
/ matr_elem_depl_c = CALC_MATR_ELEM(
    ◆ OPTION = / "RIGI_MECA",
               / "MASS_MECA",
               / "RIGI_GEOM",
               / "MASS_THER",
               / "AMOR_MECA",
               / "RIGI_THER",
               / "IMPE_MECA",
               / "ONDE_FLUI",
               / "MASS_FLUI_STRU",
               / "RIGI_FLUI_STRU",
               / "RIGI_ROTA",
               / "MECA_GYRO",
               / "RIGI_GYRO",
               / "MASS_MECA_DIAG",
               / "RIGI_ACOU",
               / "MASS_ACOU",
               / "AMOR_ACOU",
               / "RIGI_MECA_HYST",
    ◆ MODELE = modele,
    ◇ INST = float,
    # Si: equal_to("OPTION", 'RIGI_MECA')
        ◇ GROUP_MA = grma,
        ◇ CHAM_MATER = cham_mater,
        ◇ CARA_ELEM = cara_elem,
        ◇ MODE_FOURIER = int,
        ◇ CHARGE = char_meca,
        ◇ CALC_ELEM_MODELE = / "OUI" (par défaut),
                             / "NON",
    # Si: (equal_to("OPTION", 'MASS_MECA')) or (equal_to("OPTION", 'MASS_MECA_DIAG'))
        ◇ GROUP_MA = grma,
        ◇ CHAM_MATER = cham_mater,
        ◇ CARA_ELEM = cara_elem,
        ◇ CHARGE = char_meca,
    # Si: equal_to("OPTION", 'RIGI_GEOM')
        ◇ GROUP_MA = grma,
        ◆ SIEF_ELGA = cham_elem,
        ◇ CARA_ELEM = cara_elem,
        ◇ STRX_ELGA = cham_elem,
        ◇ DEPL = cham_no,
        ◇ CHAM_MATER = cham_mater,
        ◇ MODE_FOURIER = int,
    # Si: equal_to("OPTION", 'RIGI_ROTA')
        ◆ CHAM_MATER = cham_mater,
        ◇ CARA_ELEM = cara_elem,
        ◆ CHARGE = char_meca,
    # Si: equal_to("OPTION", 'MECA_GYRO')
        ◆ CHAM_MATER = cham_mater,
        ◇ CARA_ELEM = cara_elem,
        ◇ CHARGE = char_meca,
        ◇ GROUP_MA = grma,
    # Si: equal_to("OPTION", 'RIGI_GYRO')
        ◆ CHAM_MATER = cham_mater,
        ◇ CARA_ELEM = cara_elem,
        ◇ CHARGE = char_meca,
        ◇ GROUP_MA = grma,
    # Si: equal_to("OPTION", 'AMOR_MECA')
        ◇ GROUP_MA = grma,
        ◇ CARA_ELEM = cara_elem,
        ◇ CHAM_MATER = cham_mater,
        ◇ RIGI_MECA = matr_elem_depl_r,
        ◇ MASS_MECA = matr_elem_depl_r,
        ◇ CHARGE = char_meca,
        ◇ AMOR_FLUI = / "OUI" (par défaut),
                      / "NON",
        ◇ VNOR = / 1.0 (par défaut),
                 / -1.0,
        ◇ TYPE_AMOR = / "TOUT" (par défaut),
                      / "ABSO",
        # Si: equal_to("TYPE_AMOR", ('TOUT'))
        # Si: equal_to("TYPE_AMOR", 'ABSO')
    # Si: equal_to("OPTION", 'RIGI_MECA_HYST')
        ◇ GROUP_MA = grma,
        ◇ CHARGE = char_meca,
        ◇ CHAM_MATER = cham_mater,
        ◇ CARA_ELEM = cara_elem,
        ◆ RIGI_MECA = matr_elem_depl_r,
    # Si: equal_to("OPTION", 'RIGI_THER')
        ◆ CHAM_MATER = cham_mater,
        ◇ CARA_ELEM = cara_elem,
        ◇ MODE_FOURIER = int,
        ◇ CHARGE = char_ther,
    # Si: equal_to("OPTION", 'MASS_THER')
        ◆ CHAM_MATER = cham_mater,
        ◇ CARA_ELEM = cara_elem,
    # Si: equal_to("OPTION", 'RIGI_ACOU')
        ◆ CHAM_MATER = cham_mater,
        ◇ CHARGE = char_acou,
    # Si: (equal_to("OPTION", 'MASS_ACOU')) or (equal_to("OPTION", 'AMOR_ACOU'))
        ◆ CHAM_MATER = cham_mater,
        ◇ CHARGE = char_acou,
        # Si: (equal_to("OPTION", 'AMOR_ACOU'))
            ◇ VNOR = / 1.0 (par défaut),
                     / -1.0,
    # Si: equal_to("OPTION", 'RIGI_FLUI_STRU')
        ◆ CARA_ELEM = cara_elem,
        ◆ CHAM_MATER = cham_mater,
        ◆ CHARGE = char_meca,
    # Si: equal_to("OPTION", 'MASS_FLUI_STRU')
        ◇ GROUP_MA = grma,
        ◆ CARA_ELEM = cara_elem,
        ◆ CHAM_MATER = cham_mater,
        ◆ CHARGE = char_meca,
    # Si: (equal_to("OPTION", 'IMPE_MECA')) or (equal_to("OPTION", 'ONDE_FLUI'))
        ◆ CHAM_MATER = cham_mater,
        ◇ GROUP_MA = grma,
        ◇ CHARGE = char_meca,
        # Si: (equal_to("OPTION", 'IMPE_MECA'))
            ◇ VNOR = / 1.0 (par défaut),
                     / -1.0,
)


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

Opérandes#

Opérande OPTION#

♦    OPTION=

Le tableau qui suit donne la liste des matrices calculées par une option ainsi que le type d’élément auquel l’option s’applique.

Ce type d’élément est donné soit par le nom du phénomène ayant permis de définir le modèle, soit par le nom de l’opérateur ayant produit le concept charge.

Option

Phénomène ou opérateur

Matrice

“AMOR_MECA”

MEcanique

Amortissement des éléments calculé par combinaison linéaire de la rigidité et de la masse [U2.06.03] ou par affectation directe pour les éléments discrets. Amortissement des éléments de frontière absorbante appartenant aux modélisations spécifiques “3D_ABSO” ou “D_PLAN_ABSO” du modèle moet calculé à partir des caractéristiques mécaniques \(E\) , \(\nu ` et :math:\)rho ` du matériau affecté. Amortissement des éléments de frontière absorbante fluideappartenant aux modélisations spécifiques “3D_FLUI_ABSO”, “2D_FLUI_ABSO” ou “AXIS_FLUI_ABSO” du modèle moet calculé à partir des caractéristiques mécaniques \(c\) , \(\rho ` et :math:\)alpha ` du matériau affecté.

“MECA_GYRO”

MECANIQUE

Amortissement gyroscopique [R5.05.07]

“RIGI_GYRO”

MECANIQUE

Raideur gyroscopique [R5.05.07]

“IMPE_MECA”

MECANIQUE

Impédance acoustique des éléments surfaciques ou linéiques appartenant aux modélisations “3D_FLUI_ABSO” ou “2D_FLUI_ABSO” ou’AXIS_FLUI_ABSO” du modèle mo[U4.53.11] exclusivement pour la modélisation \(u-p-\phi\) . En particulier, on évaluer la matrice de troisième ordre utilisable pour le calcul harmonique.

“MASS_FLUI_STRU”*

MEcanique

Masse des éléments du modèle moavec prise en compte des fluides externe et interne à la structure et du coefficient de confinement.

“MASS_MECA”

MEcanique

Masse des éléments du modèle mo. Amortissement des éléments de frontière absorbante fluideappartenant aux modélisations spécifiques “3D_FLUI_ABSO”, “2D_FLUI_ABSO” ou “AXIS_FLUI_ABSO” pour la formulation \(u-p-\phi\) du modèle moet calculé à partir des caractéristiques mécaniques \(R\) , \(\rho ` et :math:\)alpha ` du matériau affecté. Cet amortissement est rajouté comme une contribution de masse.

“MASS_MECA_DIAG”

MEcanique

Masse (diagonale) des éléments du modèle mo.

“ONDE_FLUI”

MECANIQUE

Impédance acoustique des éléments surfaciques du modèle moappartenant aux modélisations “3D_FLUIDE” et “2D_FLUIDE”. Cette impédance correspond à l’influence d’une onde incidente harmonique de pression [U4.53.11].

“RIGI_FLUI_STRU”*

MEcanique

Rigidité des éléments du modèle moavec prise en compte des fluides externe et interne à la structure et du coefficient de confinement.

“RIGI_GEOM”

MEcanique

Rigidité géométrique des éléments du modèle mo.

“RIGI_MECA”

MEcanique

Partie réelle de la rigidité des éléments du modèle mo. Amortissement des éléments de frontière absorbante fluideappartenant aux modélisations spécifiques “3D_FLUI_ABSO”, “2D_FLUI_ABSO” ou “AXIS_FLUI_ABSO” pour les formulations \(u-p\) et \(u-\psi\) du modèle moet calculé à partir des caractéristiques mécaniques \(R\) , \(\rho ` et :math:\)alpha ` du matériau affecté. Cet amortissement est rajouté comme une contribution de rigidité.

AFFE_CHAR_MECA

Matrice associée aux multiplicateurs de Lagrange de lchar.

“RIGI_MECA_HYST”

MEcanique

Rigidité complexe des éléments du modèle.Calculée par la multiplication par un nombre complexe de la rigidité réelle[U2.06.03] ou par assemblage des parties réelles et imaginaires de la rigidité d’un matériau viscoélastique.

AFFE_CHAR_MECA

Matrice associée aux multiplicateurs de Lagrange de lchar.

“RIGI_ROTA”

MECANIQUE

Rigidité de rotation des éléments du modèle mo

“RIGI_THER”

THERMIQUE

Rigidité des éléments du modèle mo.

AFFE_CHAR_THER

Rigidité provenant des conditions d’échange de lchar.

AFFE_CHAR_THER

Matrice associée aux multiplicateurs de Lagrange de lchar.

“MASS_THER”

THERMIQUE

Masse des éléments du modèle mo.

“AMOR_ACOU”

ACOUSTIQUE

Amortissement des éléments du modèle mo.

“MASS_ACOU”

ACOUSTIQUE

Masse des éléments du modèle mo.

“RIGI_ACOU”

ACOUSTIQUE

Rigidité des éléments du modèle mo.

AFFE_CHAR_ACOU

Matrice associée aux multiplicateurs de Lagrange de lchar.

Les options marquées * concernent la résorption du logiciel FLUSTRU:

Ces deux options: “RIGI_FLUI_STRU” et “MASS_FLUI_STRU” permettent de calculer les matrices de masse et rigidité (et donc une base modale) pour une structure de poutre (SEG2) baignée par un fluide externe. La relation de comportement du matériau doit être ELAS_FLU.

Opérandes MODELE / CHAM_MATER / CARA_ELEM#

♦    MODELE= mo

Cet opérande sert à indiquer les éléments pour lesquels doivent être effectués les calculs élémentaires: on rappelle que les éléments finis sont pour la plupart définis dans le modèle.

Il y a deux exceptions:

  1. Les éléments de dualisation des conditions de DIRICHLET, c’est-à-dire les éléments permettant d’imposer des conditions sur les degrés de liberté de déplacement en mécanique, les degrés de liberté de température en thermique et les degrés de liberté de pression en acoustique.

  2. Les éléments de chargement nodal.

Ces éléments sont définis dans les concepts de type char_meca, char_ther ou char_acou.

On doit donc fournir l’argument l_char pour le calcul des matrices élémentaires de rigidité: RIGI_MECA, RIGI_THER, RIGI_ACOU, RIGI_MECA_HYST.

◊    CHAM_MATER= chmat

Nom du champ de matériau où sont définies les caractéristiques des matériaux des éléments.

Cet argument est presque toujours nécessaire .

En pratique, on peut s’en passer:

  • pour les éléments discrets dont les matrices élémentaires sont définies dans le concept cara_elem. Voir AFFE_CARA_ELEM [U4.42.01],

  • pour le calcul des rigidités dues à la dualisation des conditions aux limites.

◊    INST= tps

L’argument tps est utilisé lorsque les caractéristiques matérielles ou les chargements dépendent du temps. Un cas assez fréquent est celui d’un matériau mécanique dépendant de la température qui elle même dépend du temps.

◊    CARA_ELEM= carac

Les caractéristiques élémentaires carac sont nécessaires s’il existe dans le modèle des éléments de poutre, coque ou des éléments discrets ou si un repère d’anisotropie a été défini sur des éléments massifs (mot clé MASSIF de la commande AFFE_CARA_ELEM).

Opérande CHARGE#

◊    CHARGE = char

Cet opérande a plusieurs fonctions distinctes:

  1. Permettre le calcul des matrices de rigidité élémentaire correspondant à la dualisation de certaines conditions aux limites de Dirichlet,

  2. Pour l’option “ONDE_FLUI”: donner la valeur de la pression de l’onde incidente,

  3. Pour l’option “RIGI_ROTA”: donner la valeur de la rotation imposée au modèle.

Opérande MODE_FOURIER#

◊    MODE_FOURIER=     / nh

/ 0 [DEFAUT]

Entier positif ou nul indiquant l’harmonique de Fourier sur laquelle on calcule les matrices élémentaires.

Opérande CALC_ELEM_MODELE#

◊    CALC_ELEM_MODELE=    / 'OUI'                                            [DEFAUT]

/ “NON”

Cet opérande permet de calculer la matrice élémentaire de rigidité associée uniquement aux macro-éléments du modèle (“NON”). Par défaut, la matrice est calculée sur l’ensemble du modèle (“OUI”).

Opérande GROUP_MA#

◊    GROUP_MA = lgma,

Cet opérande permet de ne calculer les matrices élémentaires que sur les mailles des groupes lgma. L’opérande est autorisé pour les options de gyroscopie, RIGI_MECA, RIGI_MECA_HYST, AMOR_MECA, MASS_MECA, IMPE_MECA, MASS_MECA_DIAG et MASS_FLUI_STRU.

Opérande SIEF_ELGA (option “RIGI_GEOM”)#

♦    SIEF_ELGA= sig

Le champ de contraintes sig donné pour le calcul de l’option “RIGI_GEOM” doit en principe avoir été calculé avec l’option “SIEF_ELGA” (champ de contraintes aux points de Gauss des éléments) (cf. commande CALC_CHAMP [U4.81.04]). La théorie du flambement linéaire suppose en effet une théorie des petits déplacements élastiques.

Opérandes RIGI_MECA et MASS_MECA (options “AMOR_MECA” et “RIGI_MECA_HYST”)#

♦    RIGI_MECA=

Partie réelle des matrices élémentaires de rigidité (“RIGI_MECA”) nécessaires au calcul des matrices :

  • d’amortissement (“AMOR_MECA”)

  • de rigidité hystérétique par amortissement hystérétique global (“RIGI_MECA_HYST”) voir « Notice d’utilisation de l’amortissement et de la rigidité hystérétique » [U2.06.03].

  • de rigidité complexe pour les matériaux viscoélastiques, l’option “RIGI_MECA_HYST” calcul la partie imaginaire de la matrice de rigidité élémentaire et l’assemble à la partie réelle passée en argument de l’option.

◊    MASS_MECA=

Matrices élémentaires de masse (“MASS_MECA” ou “MASS_MECA_DIAG”) nécessaires au calcul des matrices d’amortissement (“AMOR_MECA”).

Remarque :

Pour l’option “RIGI_MECA_HYST”, le résultat du calcul contiendra en plus de la rigidité hystérétique des éléments du modèle, la matrice associée aux multiplicateurs de Lagrange induits par la dualisation des charges fournies.

Remarque :

Pour un modèle contenant uniquement des Éléments Finis sans masse (par exemple “3D_ABSO” ou “D_PLAN_ABSO”) , l’utilisateur peut construire une matrice d’amortissement sans avoir à construire une matrice de masse en passant par l’opérateur ASSEMBLAGE.

Opérandes AMOR_FLUI et VNOR#

◊ AMOR_FLUI =

Cette option nous permet de désactiver la contribution des frontières fluides absorbantes (“3D_FLUI_ABSO”, “2D_FLUI_ABSO” et “AXIS_FLUI_ABSO”). En particulier, si on utilise la formulation fluide \(u-p-\phi\) dans un calcul harmonique, on a la possibilité de prendre en compte la contribution des frontières fluides absorbantes via le calcul d’une matrice de troisième ordre (avec l’option IMPE_MECA). Cette matrice de troisième ordre est utilisable seulement dans un calcul harmonique (opérande MATR_IMPE_PHI dans DYNA_VIBRA) et nous permet de symétriser la matrice (au contraire du calcul de cette contribution via AMOR_MECA). L’option AMOR_FLUI = ‘NON’ nous évite de calculer cette contribution deux fois. Par défaut, AMOR_FLUI = ‘OUI’. Cet opérande est disponible exclusivement pour l’option AMOR_MECA.

◊ VNOR=

Cette option nous permet de prendre en compte le cas d’une frontière émissive. Le cas le plus commun est celui radiative (ou partiellement radiatif si on définit un coefficient de réflexion \(\alpha \ne 0\) ). Dans le cas d’une frontière radiative VNOR = 1. (option activée par défaut). Dans le cas d’une frontière émissive VNOR = -1. Ce coefficient est multiplié à la valeur de l’impédance des frontières fluides absorbantes (“3D_FLUI_ABSO”, “2D_FLUI_ABSO” et “AXIS_FLUI_ABSO”). Cet opérande est disponible exclusivement pour les options AMOR_MECA, IMPE_MECA et AMOR_ACOU.

Opérande TYPE_AMOR#

◊ TYPE_AMOR=

Cette option nous permet de calculer toutes les sources d’amortissement présentes dans le modèle ou seulement la source liée aux éléments de frontière absorbante (fluide ou non). L’option par défaut (TYPE_AMOR= ‘TOUT’) prend en compte l’éventuel amortissement de Rayleigh, l’amortissement venant des éléments discret et celui venant des éléments de frontière absorbante. Dans ce cas on est obligé de fournir soit les matrices de masse et rigidité pour l’amortissement de Rayleigh (et le champ matériau), soit les caractéristiques des éléments discrets. Si on est en présence du seul amortissement venant des éléments de frontière absorbante, il faut spécifier TYPE_AMOR= ‘ABSO’ et fournir en entrée seulement le champ matériau.

Exemples de calculs avec CALC_MATR_ELEM#

Matrice de rigidité géométrique pour le flambement d’Euler#

rigigeom = CALC_MATR_ELEM (    OPTION='RIGI_GEOM',    MODELE= mo ,

CARA_ELEM= carac , SIEF_ELGA= chsig )

Matrice de « masse » en acoustique#

massacou = CALC_MATR_ELEM (    OPTION='MASS_ACOU',    MODELE= mo ,

CHAM_MATER= chmat )

Matrice de rigidité en mécanique#

rigibloc = CALC_MATR_ELEM (    OPTION='RIGI_MECA',    CHARGE= ch_bloc )