u4.42.01 Opérateur AFFE_CARA_ELEM#

Syntaxe#

Détail de la syntaxe
cara_elem = AFFE_CARA_ELEM(
    ◆ MODELE = modele,
    ◇ INFO = / 1 (par défaut),
             / 2,
    ◇ VERIF = / "NON",
              / "OUI",
    ◆ | POUTRE = _F(
           ◆ SECTION = / "CERCLE",
                       / "COUDE",
                       / "GENERALE",
                       / "RECTANGLE",
           # Si: equal_to("SECTION", 'GENERALE')
               ◆ GROUP_MA = list[grma],
               ◇ VARI_SECT = / "CONSTANT" (par défaut),
                             / "HOMOTHETIQUE",
               # Si: equal_to("VARI_SECT", 'CONSTANT')
                   ◇ / TABLE_CARA = table,
                     / CARA = / "A",
                              / "AI",
                              / "AY",
                              / "AZ",
                              / "EY",
                              / "EZ",
                              / "IY",
                              / "IYR2",
                              / "IZ",
                              / "IZR2",
                              / "JG",
                              / "JX",
                              / "RT",
                              / "RY",
                              / "RZ",
                   ◇ & NOM_SEC = text,
                   ◇ & VALE = list[float], de 4 à 15 valeurs attendues,
               # Si: equal_to("VARI_SECT", 'HOMOTHETIQUE')
                   ◆ CARA = / "A1",
                            / "A2",
                            / "AY1",
                            / "AY2",
                            / "AZ1",
                            / "AZ2",
                            / "EY1",
                            / "EY2",
                            / "EZ1",
                            / "EZ2",
                            / "IY1",
                            / "IY2",
                            / "IYR21",
                            / "IYR22",
                            / "IZ1",
                            / "IZ2",
                            / "IZR21",
                            / "IZR22",
                            / "JG1",
                            / "JG2",
                            / "JX1",
                            / "JX2",
                            / "RT1",
                            / "RT2",
                            / "RY1",
                            / "RY2",
                            / "RZ1",
                            / "RZ2",
                   ◆ VALE = list[float], de 8 à 30 valeurs attendues,
           # Si: equal_to("SECTION", 'RECTANGLE')
               ◆ GROUP_MA = list[grma],
               ◇ VARI_SECT = / "AFFINE",
                             / "CONSTANT" (par défaut),
                             / "HOMOTHETIQUE",
               # Si: equal_to("VARI_SECT", 'CONSTANT')
                   ◆ CARA = / "EP",
                            / "EPY",
                            / "EPZ",
                            / "H",
                            / "HY",
                            / "HZ",
                   ◆ VALE = list[float], de 1 à 4 valeurs attendues,
               # Si: equal_to("VARI_SECT", 'HOMOTHETIQUE')
                   ◆ CARA = / "EP1",
                            / "EP2",
                            / "EPY1",
                            / "EPY2",
                            / "EPZ1",
                            / "EPZ2",
                            / "H1",
                            / "H2",
                            / "HY1",
                            / "HY2",
                            / "HZ1",
                            / "HZ2",
                   ◆ VALE = list[float], de 2 à 8 valeurs attendues,
               # Si: equal_to("VARI_SECT", 'AFFINE')
                   ◆ CARA = / "EPY",
                            / "EPZ1",
                            / "EPZ2",
                            / "HY",
                            / "HZ1",
                            / "HZ2",
                   ◆ VALE = list[float], de 3 à 6 valeurs attendues,
           # Si: equal_to("SECTION", 'CERCLE')
               ◇ VARI_SECT = / "CONSTANT" (par défaut),
                             / "HOMOTHETIQUE",
               # Si: equal_to("VARI_SECT", 'CONSTANT')
                   ◆ GROUP_MA = list[grma],
                   ◆ CARA = / "EP",
                            / "R",
                   ◆ VALE = list[float], de 1 à 2 valeurs attendues,
               # Si: equal_to("VARI_SECT", 'HOMOTHETIQUE')
                   ◆ GROUP_MA = list[grma],
                   ◆ CARA = / "EP_DEBUT",
                            / "EP_FIN",
                            / "R_DEBUT",
                            / "R_FIN",
                   ◆ VALE = list[float], de 2 à 4 valeurs attendues,
               ◇ MODI_METRIQUE = / "NON" (par défaut),
                                 / "OUI",
               ◇ FCX = fonction / formule / nappe,
               ◇ TUYAU_NSEC = int, dans [8, 32] (défaut: 16),
               ◇ TUYAU_NCOU = int, dans [1, 10] (défaut: 3),
           # Si: equal_to("SECTION", 'COUDE')
               ◆ GROUP_MA = list[grma],
               ◇ / COEF_FLEX = float, dans [0.0, ∞[,
                 / COEF_FLEX_XY = float, dans [0.0, ∞[,
               ◇ / COEF_FLEX_XZ = float, dans [0.0, ∞[,
               ◇ / INDI_SIGM = float, dans [0.0, ∞[,
                 / INDI_SIGM_XY = float, dans [0.0, ∞[,
               ◇ / INDI_SIGM_XZ = float, dans [0.0, ∞[,
        ),
      | BARRE = _F(
           ◆ GROUP_MA = list[grma],
           ◆ SECTION = / "CERCLE",
                       / "GENERALE",
                       / "RECTANGLE",
           # Si: equal_to("SECTION", 'GENERALE')
               ◆ / TABLE_CARA = table,
               ◇ & NOM_SEC = text,
                 / AIRE = float,
                 / CARA = "A" (ou non renseigné),
               ◇ & VALE = float,
           # Si: equal_to("SECTION", 'RECTANGLE')
               ◆ CARA = / "EP",
                        / "EPY",
                        / "EPZ",
                        / "H",
                        / "HY",
                        / "HZ",
               ◆ VALE = list[float], de 1 à 4 valeurs attendues,
           # Si: equal_to("SECTION", 'CERCLE')
               ◆ CARA = / "EP",
                        / "R",
               ◆ VALE = list[float], de 1 à 2 valeurs attendues,
           ◇ FCX = fonction / formule / nappe,
        ),
      | CABLE = _F(
           ◆ GROUP_MA = list[grma],
           ◆ N_INIT = float,
           ◆ / AIRE = float,
             / RAYON = float,
             / DIAMETRE = float,
           ◇ FCX = fonction / formule / nappe,
        ),
      | COQUE = _F(
           ◆ GROUP_MA = list[grma],
           ◆ / EPAIS = float,
             / EPAIS_FO = fonction / formule / nappe,
           ◇ / ANGL_REP = list[float], 2 valeurs attendues,
             / VECTEUR = list[float], 3 valeurs attendues,
           ◇ A_CIS = float (défaut: 0.8333333),
           ◇ COEF_RIGI_DRZ = float (défaut: 1e-05),
           ◇ COQUE_NCOU = int (défaut: 1),
           ◇ / EXCENTREMENT = float,
           ◇ & INER_ROTA = "OUI" (ou non renseigné),
             / EXCENTREMENT_FO = fonction / formule / nappe,
           ◇ MODI_METRIQUE = / "NON" (par défaut),
                             / "OUI",
        ),
      | DISCRET = _F(
           ◇ REPERE = / "GLOBAL" (par défaut),
                      / "LOCAL",
           ◇ AMOR_HYST = float,
           ◇ SYME = / "NON",
                    / "OUI" (par défaut),
           # Si: equal_to("SYME", 'OUI')
               ◇ CARA = / "A_TR_D_L",
                        / "A_TR_D_N",
                        / "A_TR_L",
                        / "A_TR_N",
                        / "A_T_D_L",
                        / "A_T_D_N",
                        / "A_T_L",
                        / "A_T_N",
                        / "K_TR_D_L",
                        / "K_TR_D_N",
                        / "K_TR_L",
                        / "K_TR_N",
                        / "K_T_D_L",
                        / "K_T_D_N",
                        / "K_T_L",
                        / "K_T_N",
                        / "M_TR_D_L",
                        / "M_TR_D_N",
                        / "M_TR_L",
                        / "M_TR_N",
                        / "M_T_D_L",
                        / "M_T_D_N",
                        / "M_T_L",
                        / "M_T_N",
               # Si: ((equal_to("CARA", 'K_T_D_N')or(equal_to("CARA", 'A_T_D_N'))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 3 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_T_D_L')or(equal_to("CARA", 'A_T_D_L'))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 3 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_D_N')or(equal_to("CARA", 'A_TR_D_N'))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 6 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_D_L')or(equal_to("CARA", 'A_TR_D_L'))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 6 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_T_N') or
               #      (equal_to("CARA", 'A_T_N') or
               #      (equal_to("CARA", 'M_T_N')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 6 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_T_L') or
               #      (equal_to("CARA", 'A_T_L') or
               #      (equal_to("CARA", 'M_T_L')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 21 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_N') or
               #      (equal_to("CARA", 'A_TR_N') or
               #      (equal_to("CARA", 'M_TR_N')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 21 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_L') or
               #      (equal_to("CARA", 'A_TR_L') or
               #      (equal_to("CARA", 'M_TR_L')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 78 valeurs attendues,
               # Si: (equal_to("CARA", 'M_T_D_N'))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = float,
               # Si: (equal_to("CARA", 'M_T_D_L'))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = float,
               # Si: (equal_to("CARA", 'M_TR_D_N'))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 10 valeurs attendues,
               # Si: (equal_to("CARA", 'M_TR_D_L'))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 4 valeurs attendues,
           # Si: equal_to("SYME", 'NON')
               ◇ CARA = / "A_TR_L",
                        / "A_TR_N",
                        / "A_T_L",
                        / "A_T_N",
                        / "K_TR_L",
                        / "K_TR_N",
                        / "K_T_L",
                        / "K_T_N",
                        / "M_TR_L",
                        / "M_TR_N",
                        / "M_T_L",
                        / "M_T_N",
               # Si: ((equal_to("CARA", 'K_T_N') or
               #      (equal_to("CARA", 'A_T_N') or
               #      (equal_to("CARA", 'M_T_N')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 9 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_T_L') or
               #      (equal_to("CARA", 'A_T_L') or
               #      (equal_to("CARA", 'M_T_L')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 36 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_N') or
               #      (equal_to("CARA", 'A_TR_N') or
               #      (equal_to("CARA", 'M_TR_N')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 36 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_L') or
               #      (equal_to("CARA", 'A_TR_L') or
               #      (equal_to("CARA", 'M_TR_L')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 144 valeurs attendues,
        ),
      | DISCRET_2D = _F(
           ◇ REPERE = / "GLOBAL" (par défaut),
                      / "LOCAL",
           ◇ AMOR_HYST = float,
           ◇ SYME = / "NON",
                    / "OUI" (par défaut),
           # Si: equal_to("SYME", 'OUI')
               ◇ CARA = / "A_TR_D_L",
                        / "A_TR_D_N",
                        / "A_TR_L",
                        / "A_TR_N",
                        / "A_T_D_L",
                        / "A_T_D_N",
                        / "A_T_L",
                        / "A_T_N",
                        / "K_TR_D_L",
                        / "K_TR_D_N",
                        / "K_TR_L",
                        / "K_TR_N",
                        / "K_T_D_L",
                        / "K_T_D_N",
                        / "K_T_L",
                        / "K_T_N",
                        / "M_TR_D_L",
                        / "M_TR_D_N",
                        / "M_TR_L",
                        / "M_TR_N",
                        / "M_T_D_L",
                        / "M_T_D_N",
                        / "M_T_L",
                        / "M_T_N",
               # Si: ((equal_to("CARA", 'K_T_D_N')or(equal_to("CARA", 'A_T_D_N'))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 2 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_T_D_L')or(equal_to("CARA", 'A_T_D_L'))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 2 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_D_N')or(equal_to("CARA", 'A_TR_D_N'))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 3 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_D_L')or(equal_to("CARA", 'A_TR_D_L'))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 3 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_T_N') or
               #      (equal_to("CARA", 'A_T_N') or
               #      (equal_to("CARA", 'M_T_N')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 3 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_T_L') or
               #      (equal_to("CARA", 'A_T_L') or
               #      (equal_to("CARA", 'M_T_L')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 10 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_N') or
               #      (equal_to("CARA", 'A_TR_N') or
               #      (equal_to("CARA", 'M_TR_N')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 6 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_L') or
               #      (equal_to("CARA", 'A_TR_L') or
               #      (equal_to("CARA", 'M_TR_L')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 21 valeurs attendues,
               # Si: (equal_to("CARA", 'M_T_D_N'))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = float,
               # Si: (equal_to("CARA", 'M_T_D_L'))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = float,
               # Si: (equal_to("CARA", 'M_TR_D_N'))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 4 valeurs attendues,
               # Si: (equal_to("CARA", 'M_TR_D_L'))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 2 valeurs attendues,
           # Si: equal_to("SYME", 'NON')
               ◇ CARA = / "A_TR_L",
                        / "A_TR_N",
                        / "A_T_L",
                        / "A_T_N",
                        / "K_TR_L",
                        / "K_TR_N",
                        / "K_T_L",
                        / "K_T_N",
                        / "M_TR_L",
                        / "M_TR_N",
                        / "M_T_L",
                        / "M_T_N",
               # Si: ((equal_to("CARA", 'K_T_N') or
               #      (equal_to("CARA", 'A_T_N') or
               #      (equal_to("CARA", 'M_T_N')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 4 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_T_L') or
               #      (equal_to("CARA", 'A_T_L') or
               #      (equal_to("CARA", 'M_T_L')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 16 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_N') or
               #      (equal_to("CARA", 'A_TR_N') or
               #      (equal_to("CARA", 'M_TR_N')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 9 valeurs attendues,
               # Si: ((equal_to("CARA", 'K_TR_L') or
               #      (equal_to("CARA", 'A_TR_L') or
               #      (equal_to("CARA", 'M_TR_L')))))
                   ◆ GROUP_MA = list[grma],
                   ◆ VALE = list[float], 36 valeurs attendues,
        ),
      | GRILLE = _F(
           ◆ GROUP_MA = list[grma],
           ◆ / SECTION = float,
             / SECTION_FO = fonction / formule / nappe,
           ◆ / ANGL_REP_1 = list[float], 2 valeurs attendues,
             / ANGL_REP_2 = list[float], 2 valeurs attendues,
             / VECT_1 = list[float], 3 valeurs attendues,
             / VECT_2 = list[float], 3 valeurs attendues,
           ◇ / EXCENTREMENT = float,
             / EXCENTREMENT_FO = fonction / formule / nappe,
           ◇ REPERE = / "CYLINDRIQUE",
                      / "GLOBAL" (par défaut),
           # Si: (equal_to("REPERE", "CYLINDRIQUE"))
               ◆ ORIGINE = list[float], 3 valeurs attendues,
               ◆ AXE_Z = list[float], 3 valeurs attendues,
           ◇ COEF_RIGI_DRZ = float (défaut: 1e-10),
        ),
      | MASSIF = _F(
           ◆ / GROUP_MA = list[grma],
             / TOUT = "OUI" (ou non renseigné),
           ◆ / CHAM_ORIE = carte / cham_no,
             / ANGL_REP = list[float], de 1 à 3 valeurs attendues,
             / ORIG_AXE = list[float], de 2 à 3 valeurs attendues,
             / ANGL_EULER = list[float], de 1 à 3 valeurs attendues,
           ◇ & ANGL_AXE = list[float], 2 valeurs attendues,
        ),
      | MASS_REP = _F(
           ◆ GROUP_MA = grma,
           ◆ GROUP_MA_POI1 = grma,
           ◆ VALE = float,
           ◆ TYPE = / "LINEIQUE",
                    / "SURFACIQUE",
                    / "TOTALE",
           ◇ FONC_MULT = fonction / formule / nappe,
        ),
      | MEMBRANE = _F(
           ◆ GROUP_MA = list[grma],
           ◆ EPAIS = float, dans [0.0, ∞[,
           ◇ / ANGL_REP_1 = list[float], 2 valeurs attendues,
             / ANGL_REP_2 = list[float], 2 valeurs attendues,
             / VECT_1 = list[float], 3 valeurs attendues,
             / VECT_2 = list[float], 3 valeurs attendues,
           ◇ N_INIT = float, dans [0.0, ∞[ (défaut: 0.0),
        ),
      | MULTIFIBRE = _F(
           ◆ GROUP_MA = list[grma],
           ◆ GROUP_FIBRE = list[text],
           ◇ PREC_AIRE = float (défaut: 0.01),
           ◇ PREC_INERTIE = float (défaut: 0.1),
        ),
      | RIGI_PARASOL = _F(
           ◆ GROUP_MA = list[grma],
           ◆ / GROUP_MA_POI1 = grma,
             / GROUP_MA_SEG2 = grma,
           ◆ / FONC_GROUP = list[fonction / formule / nappe],
             / COEF_GROUP = list[float],
           ◇ REPERE = / "GLOBAL" (par défaut),
                      / "LOCAL",
           ◆ CARA = / "A_TR_D_L",
                    / "A_TR_D_N",
                    / "A_T_D_L",
                    / "A_T_D_N",
                    / "K_TR_D_L",
                    / "K_TR_D_N",
                    / "K_T_D_L",
                    / "K_T_D_N",
           # Si: exists("CARA") and (len(CARA)==1 or (len(CARA)==2 and CARA[0][2:]==CARA[1][2:]))
               ◆ VALE = list[float],
           ◆ / GROUP_NO_CENTRE = grno,
             / COOR_CENTRE = list[float], de 2 à 3 valeurs attendues,
           ◇ UNITE = unit,
        ),
      | RIGI_GRILLE = _F(
           ◆ GROUP_MA = grma,
           ◆ GROUP_MA_SEG2 = grma, 5 valeurs attendues,
           ◆ VALE = float, 5 valeurs attendues,
           ◆ GROUP_NO_CENTRE = grno, 5 valeurs attendues,
           ◇ OPTION = "RIGI" (par défaut),
        ),
      | MASS_REP = _F(
           ◆ GROUP_MA = grma,
           ◆ GROUP_MA_POI1 = grma,
           ◆ VALE = float,
           ◆ TYPE = / "LINEIQUE",
                    / "SURFACIQUE",
                    / "TOTALE",
           ◇ FONC_MULT = fonction / formule / nappe,
        ),
    ◇ ORIENTATION = _F(
         ◆ CARA = / "ANGL_NAUT",
                  / "ANGL_VRIL",
                  / "GENE_TUYAU",
                  / "VECT_MAIL_Y",
                  / "VECT_MAIL_Z",
                  / "VECT_X_Y",
                  / "VECT_Y",
                  / "VECT_Z",
         # Si: (equal_to("CARA", 'VECT_Y'))
             ◆ GROUP_MA = list[grma],
             ◆ VALE = list[float], 3 valeurs attendues,
             ◇ PRECISION = float,
         # Si: (equal_to("CARA", 'VECT_Z'))
             ◆ GROUP_MA = list[grma],
             ◆ VALE = list[float], 3 valeurs attendues,
             ◇ PRECISION = float,
         # Si: (equal_to("CARA", 'VECT_MAIL_Y'))
             ◆ GROUP_MA = list[grma],
             ◆ TABLE_CARA = table,
             ◆ NOM_SEC = text,
             ◆ VALE = list[float], 3 valeurs attendues,
             ◇ PRECISION = float,
         # Si: (equal_to("CARA", 'VECT_MAIL_Z'))
             ◆ GROUP_MA = list[grma],
             ◆ TABLE_CARA = table,
             ◆ NOM_SEC = text,
             ◆ VALE = list[float], 3 valeurs attendues,
             ◇ PRECISION = float,
         # Si: (equal_to("CARA", 'ANGL_VRIL'))
             ◆ GROUP_MA = list[grma],
             ◆ VALE = float,
             ◇ PRECISION = float,
         # Si: (equal_to("CARA", 'VECT_X_Y'))
             ◆ GROUP_MA = list[grma],
             ◆ VALE = list[float], 6 valeurs attendues,
             ◇ PRECISION = float,
         # Si: (equal_to("CARA", 'ANGL_NAUT'))
             ◆ GROUP_MA = list[grma],
             ◆ VALE = list[float], 3 valeurs attendues,
             ◇ PRECISION = float,
         # Si: (equal_to("CARA", 'GENE_TUYAU'))
             ◆ GROUP_NO = grno,
             ◆ VALE = list[float], 3 valeurs attendues,
             ◇ PRECISION = float (défaut: 0.0001),
             ◇ CRITERE = / "ABSOLU",
                         / "RELATIF" (par défaut),
      ),
    ◇ POUTRE_FLUI = _F(
         ◆ GROUP_MA = list[grma],
         ◆ B_T = float,
         ◆ B_N = float,
         ◇ B_TN = float (défaut: 0.0),
         ◆ A_FLUI = float,
         ◆ A_CELL = float,
         ◆ COEF_ECHELLE = float,
      ),
    ◇ RIGI_MISS_3D = _F(
         ◆ GROUP_MA_POI1 = grma,
         ◇ GROUP_MA_SEG2 = grma,
         ◆ FREQ_EXTR = float,
         ◇ UNITE_RESU_IMPE = unit (défaut: 30),
      ),
    ◇ MASS_AJOU = _F(
         ◆ GROUP_MA = grma,
         ◆ GROUP_MA_POI1 = grma,
         ◆ FONC_GROUP = fonction / formule / nappe,
      ),
    ◇ & GEOM_FIBRE = gfibre,
)


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

Opérandes généraux#

⬥ MODELE = mo
Concept du type MODELE, produit par l’opérateur AFFE_MODELE sur lequel sont affectées les caractéristiques des éléments. Notons que le modèle doit contenir explicitement au moins un des éléments de structure, sur lequel va porter l’affectation (sinon le calcul s’arrête).
⬦ VERIF = [ “NON” | “OUI” ]
Si VERIF n’est pas présent ou VERIF="OUI", les caractéristiques sont affectées aux éléments. Des vérifications de cohérences entre les caratéristiques et les éléments affectés sont réalisées. S’il y a une incohérence un message est émis.
Si VERIF="NON", les caractéristiques sont affectées aux éléments. Certaines vérifications de cohérences ne sont plus réalisées. Dans ce cas une erreur peut être levée par la suite dans une autre commandes. Cette option est à utiliser avec prudence. Elle existe pour des raisons de performance CPU, notamment lorsque de nombreux calculs doivent être lancés (optimisation, combinaison de chargement, …)
⬦ INFO = [ 1, 2 ],
Si 1, aucune impression,
si 2, Imprime dans le fichier “MESSAGE”, pour tous les éléments, la liste de valeurs affectées aux éléments :
* angles d’orientation en degrés (poutres et discrets),
* caractéristiques des sections transversales de poutres et de barres,
* impressions des matrices élémentaires (discrets). »

Définition du domaine d’affectation#

Le choix des éléments du modèle MO sur lesquels porte l’affectation se fait en deux étapes :

  • le choix du type d’élément concerné par l’affectation (poutre, DISCRET, …),

  • les mailles (du type d’élément défini) à affecter.

Le choix du mot clé facteur définissant le type d’éléments (POUTRE, DISCRET, …) implique qu’il existe dans le modèle les types d’éléments adaptés (vérification effectuée systématiquement).

Les types d’éléments concernés dépendent de la modélisation:

  • phénomène MECANIQUE

Mot clé

Modélisation

BARRE

BARRE, CABLE_GAINE

CABLE

CABLE, CABLE_POULIE

COQUE

COQUE_AXIS, COQUE_C_PLAN, COQUE_D_PLAN, DKT, DST, DKQ, DSQ, Q4G, COQUE_3D, DKTG, Q4GG

DISCRET

DIS_T, DIS_TR, 2D_DIS_T, 2D_DIS_TR

POUTRE

POU_D_E, POU_D_T, POU_D_TG, POU_D_T_GD, FLUI_STRU, TUYAU_3M, TUYAU_6M, POU_D_EM, POU_D_TGM

MASSIF

3D, AXIS, AXIS_FOURIER, C_PLAN, D_PLAN, TUYAU_3M, TUYAU_6M

GRILLE

GRILLE_EXCENTRE, GRILLE_MEMBRANE

MEMBRANE

MEMBRANE

POUTRE_FLUI

3D_FAISCEAU

MULTI_FIBRE

POU_D_EM, POU_D_TGM

RIGI_PARASOL

DIS_TR

RIGI_MISS_3D

DIS_T

  • phénomène THERMIQUE

Mot clé

Modélisation

COQUE

COQUE_AXIS, COQUE_PLAN, COQUE

MASSIF

3D, AXIS, PLAN

Opérande GROUP_MA#

⬥ GROUP_MA
Affectation à tous les éléments des groupes de mailles spécifiés.

Comme dans les autres commandes, la règle de surcharge s’applique Les grands principes de fonctionnement de Code_Aster

Affectation de valeurs#

Deux méthodes sont utilisables pour affecter des valeurs de caractéristiques:

  • la méthode classique: opérande dont le nom évoque la caractéristique traitée suivi d’une valeur ou d’une liste de valeurs. Exemples:

COQUE = _F(EPAIS = 1.E-2, GROUP_MA = ’G1’),

COQUE = _F(ANGL_REP = (0., 90.), GROUP_MA = ’G2’),

  • pour les affectations concernant BARRE, POUTRE et DISCRET, ainsi que ORIENTATION pour les éléments de poutre et les éléments discrets, le grand nombre de caractéristiques pouvant être affectés a conduit à une syntaxe mieux adaptée:

CARA= (…) # liste de noms de caractéristiques

VALE= (…) # liste des valeurs correspondant aux caractéristiques

On donne ci-dessous un exemple pour illustrer ce cas.

../../../../_images/affectation-valeur.png

Fig. 71  : Affectation des valeurs.#

Description des mailles :

SEG2 M1 N1 N2 M2 N2 N3 M3 N3 N4 M4 N5 N4 M5 N5 N6 M6 N6 N7 FINSF

Fichier de commandes :

cara = AFFE_CARA_ELEM(
    POUTRE= (
        _F(SECTION=’CERCLE’,CARA=(’R’,’EP’),VALE=(0.1,0.02),GROUP_MA=(’M1’,’M5’)),
        _F(SECTION=’CERCLE’,CARA=(’R’,’EP’),VALE=(0.2,0.05),GROUP_MA= ’M3’),
        _F(SECTION=’CERCLE’,CARA=(’R’,’EP’),VALE=(0.09,0.01),GROUP_MA= ’M6’),
        _F(SECTION=’CERCLE’,CARA=(’R1’,’R2’),VALE=(0.1,0.2),GROUP_MA=(’M2’,’M4’)),
        _F(SECTION=’CERCLE’,CARA=(’EP1’,’EP2’),VALE=(0.02,0.05),GROUP_MA=(’M2’,’M4’)),
    ),
)

Il est possible d’utiliser les fonctionnalités du langage python. L’exemple ci-dessous récupère des grandeurs calculées par la commande MACR_CARA_POUTRE, pour ensuite les affecter. L’utilisation de python nécessite de mettre PAR_LOT=’NON’ dans la commande DEBUT.

SECTION = MACR_CARA_POUTRE( NOEUD= ’N1’, GROUP_MA_BORD= ’BORD’ )

ii = 2
alpha0 = SECTION[ ’ALPHA’ , ii ]
cdgx0 = SECTION[ ’CDG_X’ , ii ]
cdgy0 = SECTION[ ’CDG_Y’ , ii ]
AIRE0 = SECTION[ ’AIRE’ , ii ]
IY0 = SECTION[ ’IY_PRIN_G’, ii ]
IZ0 = SECTION[ ’IZ_PRIN_G’, ii ]
EY0 = SECTION[ ’EY’ , ii ]
EZ0 = SECTION[ ’EZ’ , ii ]
JX0 = SECTION[ ’CT’ , ii ]
JG0 = SECTION[ ’JG’ ,ii ]
AY0 = SECTION[ ’AY’ , ii ]
AZ0 = SECTION[ ’AZ’ , ii ]
IYR20 = SECTION[ ’IYR2_PRIN_G’ , ii ]
IZR20 = SECTION[ ’IZR2_PRIN_G’, ii ]

carelem=AFFE_CARA_ELEM( MODELE=mod,
    POUTRE = (
        _F( GROUP_MA=(’POUT1’,’POUT2’), SECTION=’GENERALE’,
            CARA= (’A’, ’IY’,’IZ’,’AY’,’AZ’,’EY’,’EZ’,’JX’,’JG’,’IYR2’,’IZR2’),
            VALE= (AIRE0,IY0, IZ0, AY0, AZ0, EY0, EZ0, JX0, JG0, IYR20, IZR20),
        ),
    ),
)

Si le maillage section contient un groupe de maille surfacique nommé ‘carre’, il est possible d’utiliser directement la table issue de macr_cara_poutre de la façon suivante :

SECTION = MACR_CARA_POUTRE(MAILLAGE=mail, NOEUD= ’N1’, GROUP_MA_BORD= ’BORD’ )

carelem=AFFE_CARA_ELEM( MODELE=mod,
    POUTRE = (
        _F( GROUP_MA=(’POUT1’,’POUT2’), SECTION=’GENERALE’,
            TABLE_CARA=SECTION, NOM_SEC=’CARRE’,
        )
    )
)

Mot clé BARRE#

Caractéristiques affectables#

Permet d’affecter les caractéristiques des sections transversales d’éléments de type BARRE ou CABLE_GAINE. On peut traiter trois types de sections transversales définies par l’opérande SECTION.

À chaque type de section, il est possible d’affecter différentes caractéristiques identifiées par un ou plusieurs noms (opérande CARA) auxquels on associe autant de valeurs (opérande VALE). Il est également possible de donner les caractéristiques par l’intermédiaire d’une table dans le cas de la section générale, voir la documentation de la commande MACR_CARA_POUTRE.

Syntaxe#

BARRE = _F(
    ◆ GROUP_MA = list[grma],
    ◆ SECTION = / "CERCLE",
                / "GENERALE",
                / "RECTANGLE",
    # Si: equal_to("SECTION", 'GENERALE')
        ◇ / TABLE_CARA = table,
          & NOM_SEC = text,
        ◇ / AIRE = float,
        ◇ / CARA = "A" (ou non renseigné),
          & VALE = float,
    # Si: equal_to("SECTION", 'RECTANGLE')
        ◆ CARA = / "EP",
                 / "EPY",
                 / "EPZ",
                 / "H",
                 / "HY",
                 / "HZ",
        ◆ VALE = list[float], de 1 à 4 valeurs attendues,
    # Si: equal_to("SECTION", 'CERCLE')
        ◆ CARA = / "EP",
                 / "R",
        ◆ VALE = list[float], de 1 à 2 valeurs attendues,
    ◇ FCX = fonction / formule / nappe,
),
Règle d’utilisation :

On ne peut pas surcharger un type de section (CERCLE, RECTANGLE, GENERALE) par un autre.

Opérandes#

Opérande SECTION = “GENERALE”#

La seule caractéristique à fournir dans ce cas est l’aire de la section transversale de la barre “A”. Elle peut être lue dans une table (mots-clés TABLE_CARA et NOM_SEC).

Opérande SECTION = “CERCLE”#

CARA

Signification

Valeur par défaut

R

Rayon extérieur du tube

Obligatoire

EP

Épaisseur dans le cas d’un tube creux

Tube plein (EP=R)

../../../../_images/section-cercle.png

Fig. 72  : Section de type CERCLE.#

Ces valeurs sont utilisées pour calculer l’aire \(A\) de la section.

Opérande SECTION = “RECTANGLE”#

CARA

Signification

Valeur par défaut

/ HY

Dimension du rectangle suivant GY

Obligatoire

HZ

Dimension du rectangle suivant GZ

Obligatoire

/ H

Longueur de l’arête (si le rectangle est carré)

Obligatoire

/ EPY

Épaisseur suivant GYdans le cas d’un tube creux

HY/2

EPZ

Épaisseur suivant GZdans le cas d’un tube creux

HZ/2

/ EP

Épaisseur suivant les deux axes dans le cas d’un tube creux

Tube plein

../../../../_images/section-rectangle.png

Fig. 73  : Section de type RECTANGLE.#

Règles d’utilisation :

Pour une maille donnée

  • H est incompatible avec HZ et HY

  • EP est incompatible avec EPY et EPZ.

Opérande “FCX”#

⬦ FCX = fv
Affectation d’une fonction décrivant la dépendance de la force répartie vis-à-vis de la vitesse de vent relative. Voir par exemple test SSNL118.

Mot clé CABLE#

Caractéristiques affectables#

Permet d’affecter une section constante aux éléments de type câble ou câble-poulie.

Syntaxe#

CABLE = _F(
    ◆ GROUP_MA = list[grma],
    ◆ N_INIT = float,
    ◆ / AIRE = float,
      / RAYON = float,
      / DIAMETRE = float,
    ◇ FCX = fonction / formule / nappe,
),

Opérandes#

⬥ GROUP_MA
Liste des groupes de mailles de type CABLE.
⬥ / AIRE = aire
    / RAYON = rayon
    / DIAMETRE = diametre
Permet de définir l’aire de la section transversale du câble. Il faut donner l’une des caractéristiques suivantes : AIRE, RAYON, DIAMETRE.
⬦ / FCX = fv
Affectation d’une fonction décrivant la dépendance de la force répartie vis-à-vis de la vitesse de vent relative. Voir par exemple test SDNL102.
⬥ / N_INIT = n_init
Permet de définir la tension initiale dans le câble.

Mot clé COQUE#

Caractéristiques affectables#

Les caractéristiques que l’on peut affecter sur les éléments de plaque ou de coque sont:

  • pour tous les éléments de ce type, une épaisseur constante sur chaque maille, puisque le maillage ne représente que le feuillet moyen (ou d’épure pour les excentrées),

  • pour tous les éléments de ce type, le nombre de couches utilisées pour l’intégration dans l’épaisseur,

  • pour tous les éléments de ce type, l’orientation du repère local propre à chaque maille,

  • pour certains modèles de coque, des caractéristiques particulières: coefficient de cisaillement, métrique, excentrement, etc.

Syntaxe#

COQUE = _F(

♦ GROUP_MA = lgma, [l_gr_maille]

♦ / EPAIS = ep, [réel]

/ EPAIS_FO = epfct [fonction]

◊ / ANGL_REP = / (0.0, 0.0), [défaut]

/ (\(\alpha\) , \(\beta\) ), [l_réel]

/ VECTEUR = (vx ,vy ,vz), [l_réel]

◊ MODI_METRIQUE = [’NON’|’OUI’], [défaut)]

◊ COEF_RIGI_DRZ = KRZ (1.E-5), [réel (défaut)]

◊ EXCENTREMENT = e (0.0), [réel (défaut)]

EXCENTREMENT_FO = efct [fonction]

◊ INER_ROTA = ’OUI’,

◊ A_CIS = kappa (0.8333333), [réel (défaut)]

◊ COQUE_NCOU = n (1), [entier (défaut)]

)

Opérandes#

Opérande EPAIS#

♦ / EPAIS = ep

/ EPAIS_FO = epfct

EPAIS représente l’épaisseur de la coque qui doit être exprimée dans les mêmes unités que les coordonnées des nœuds du maillage.

EPAIS_FO est une fonction qui donne l’épaisseur de la coque, dans les mêmes unités que les coordonnées des nœuds du maillage. Cette fonction dépend de la géométrie (X,Y,Z) et est évaluée au centre de gravité de la maille.

Opérandes EXCENTREMENT / EXCENTREMENT_FO#

◊ excentrement = / e (0.0), [réel (défaut)]

excentrement_F0 = efct [fonction]

excentrement: définir la distance entre la surface maillée et la surface moyenne, dans le sens de la normale (modélisations DKT, DST, GRILLE_EXCENTRE).

excentrement_FO: Fonction qui donne la distance entre la surface maillée et la surface moyenne, dans le sens de la normale (modélisations DKT, DST, GRILLE_EXCENTRE). Cette fonction dépend de la géométrie (X,Y,Z) et est évaluée au centre de gravité de la maille.

La prise en compte de l’excentrement influe sur le comportement de flexion et éventuellement sur le comportement de membrane en présence de couplage (il n’y a pas d’effet sur le cisaillement).

Opérandes MODI_METRIQUE / COEF_RIGI_DRZ / INER_ROTA#

◊ modi_metrique = ’non’

Fait l’hypothèse que l’épaisseur de l’élément est faible. Lors des intégrations dans l’épaisseur on ne tient pas compte de la variation du rayon de courbure (option par défaut pour toutes les coques).

◊ modi_metrique = ’oui’

Pour la modélisation: COQUE_AXIS, les intégrations se font en prenant en compte les variations du rayon de courbure en fonction de l’épaisseur, voir par exemple [R3.07.02]

◊ iner_rota = ’oui’

Prise en compte de l’inertie de rotation pour la modélisation DKT, DST et Q4G. Elle est obligatoire en cas d’excentrement. On peut omettre ce mot clé pour des coques minces, où les termes d’inertie de rotation sont négligeables par rapport aux autres dans la matrice de masse [R3.07.03].

◊ coef_rigi_drz = krz,

KRZ est un coefficient de rigidité fictive (nécessairement petit) sur le degré de liberté de rotation autour de la normale à la coque. Il est nécessaire pour empêcher que la matrice de rigidité soit singulière, mais doit être choisi le plus petit possible. La valeur par défaut de \({10}^{-5}\) convient pour la plupart des situations (c’est une valeur relative: la rigidité autour de la normale est égale à KRZ fois le plus petit terme diagonal de la matrice de rigidité de l’élément). Pour les DKT, il y a deux modes de fonctionnement. COEF_RIGI_DRZ négatif et COEF_RIGI_DRZ positif. Dans le cas COEF_RIGI_DRZ positif, le degré de liberté DRZ a toujours un sens de rotation fictive qui empêche la matrice d’être singulière dans le repère global. Dans le cas d’un COEF_RIGI_DRZ négatif, on renforce par une écriture variationnelle la cinématique de rotation de l’élément plaque autour de sa normale. Le degré de liberté DRZ a donc un sens physique. On conseille une valeur de \({10}^{-8}\) .

Remarque:

Attention, dans STAT/DYNA_NON_LINE, ce coefficient peut entraîner des itérations de Newton supplémentaires (plus d’une itération pour un problème linéaire par exemple).

Opérande ANGL_REP / VECTEUR#

Les mots clés ANGL_REP ou VECTEUR permettent de renseigner le repère «utilisateur» en chaque élément de coque. C’est dans ce repère que sont exprimées par exemple les contraintes dans la coque ou les efforts généralisés [U2.01.05].

L’utilisateur fournit à l’aide de ces mots clés un vecteur \(V\) qui permettra de définir entièrement le repère. La construction de ce repère «utilisateur» à partir de \(V\) est effectuée en tout point \(P\) de la façon suivante (cf. Figure ):

  • la projection de \(V\) sur le plan tangent fournit l’axe \({x}_{l}\) ,

  • le vecteur \({z}_{l}\) est colinéaire à la normale \(n\) au plan de la coque qui est connue pour chaque élément, son orientation peut être changée par MODI_MAILLAGE/ORIE_NORM_COQUE[U4.23.04],

  • le vecteur \({y}_{l}\) est construit de manière à avoir un repère orthonormé.

Le repère «utilisateur» est donc: \((P,{x}_{l},{y}_{l},{z}_{l})\) avec: \({z}_{l}=n\) et \({y}_{l}={z}_{l}\text{^}{x}_{l}\)

../../../../_images/repere-utilisateur-coque.png

Fig. 74  : Définition du repère utilisateur d’une coque.#

Les mots clés ANGL_REP et VECTEUR sont exclusifs, le vecteur \(V\) est défini à l’aide de l’un ou de l’autre.

◊ ANGL_REP= (\(\alpha\) , \(\beta\) )

Le mot-clé ANGL_REP définit le vecteur \(V\) dans le repère global \((O,X,Y,Z)\) à partir de deux angles nautiques \(\alpha\) et \(\beta\) comme expliqué Figure et Figure .

../../../../_images/angle-alpha.png

Fig. 75  : Représentation de l’angle \(\alpha\)#

La rotation \(\alpha\) autour de \(\mathrm{OZ}\) transforme \((\mathrm{OXYZ})\) en \(({\mathrm{OX}}_{1}{Y}_{1}Z)\) avec \({Z}_{1}\equiv Z\) .

../../../../_images/angle-beta.png

Fig. 76  : Représentation de l’angle \(\beta\)#

La rotation \(\beta\) autour de \({\mathrm{OY}}_{1}\) transforme \({\mathrm{OX}}_{1}\) en \({\mathrm{OX}}_{2}\). Sur la figure l’angle \(\beta\) est négatif.

En représentation tridimensionnelle, le vecteur est obtenu comme suit [Figure].

../../../../_images/repere-angle-vect.png

Fig. 77  : Représentation 3D du vecteur \(V\) défini par ANGL_REP.#

◊ VECTEUR = \((\mathrm{vx},\mathrm{vy},\mathrm{vz})\)

Le vecteur \(V\) est défini par ses coordonnées dans le repère global \((O,X,Y,Z)\) .

Remarques:

Si aucun des mots clés ci-dessus n’est renseigné, c’est donc l’axe global \(X\) qui détermine, par projection sur le plan tangent de la coque, le repère «utilisateur» de chaque maille.

Le repère «utilisateur» sert également à la définition de l’orientation des fibres dans les coques composites (DEFI_COMPOSITE, [U4.42.03] ).

Opérande COQUE_NCOU#

◊ COQUE_NCOU = / n (1), [entier, défaut]

Il s’agit du nombre de couches utilisées pour l’intégration dans l’épaisseur de la coque. Le nombre de couches détermine également le nombre de sous-points du champ de contraintes: \(2n+1\) .

En non-linéaire, il est nécessaire d’utiliser plus d’une couche pour intégrer correctement les contraintes dans l’épaisseur, cf. [U2.02.01].

Opérande A_CIS#

◊ A_CIS = / kappa (0.8333333), [réel, défaut]

Ce paramètre est à utiliser si on souhaite, pour une coque épaisse se situer dans le cadre du modèle Love-Kirchhoff. Il n’est applicable que pour les modélisations COQUE_C_PLAN, COQUE_D_PLAN, COQUE_AXIS et COQUE_3D. Pour plus de détail l’utilisateur se reportera à la notice [U2.02.01].

Remarque sur l’utilisation de ELAS_COQUE#

Lorsqu’on utilise ELAS_COQUE les raideurs de flexion et de membrane sont rentrées à la main par l’utilisateur dans DEFI_MATERIAU. Dans ce cas, l’épaisseur renseigné dans AFFE_CARA_ELEM ne sert qu’à calculer la masse en dynamique et ne contribue pas à la raideur.

Mot clé POUTRE#

Caractéristiques affectables#

Ce mot clé permet d’affecter les caractéristiques des sections transversales d’éléments de type poutre (modélisations POU_D_E, pou_d_em, POU_D_T, POU_D_TG, POU_D_TGM, POU_D_T_GD, TUYAU_3M, TUYAU_6M).

On peut traiter plusieurs types de sections définies par l’opérande SECTION:

  • GENERALE: Les caractéristiques mécaniques sont données.

  • RECTANGLE: Les dimensions de la section sont données. Code_Aster calcule les caractéristiques mécaniques nécessaires: aire, inerties, …

  • CERCLE: Les dimensions de la section sont données. Code_Aster calcule les caractéristiques mécaniques nécessaires: aire, inerties, …

  • COUDE: Sert à définir les coefficients de correction des inerties et d’amplification des contraintes dans le cas où l’on souhaite tenir compte de l’ovalisation de la section, qui ne peut pas être pris en compte par la théorie des poutres. Les caractéristiques mécaniques sont données par SECTION qui peut prendre la valeur GENERALE ou RECTANGLE ou CERCLE.

À chaque type de section, il est possible d’affecter différentes caractéristiques identifiées par un ou plusieurs noms (opérande CARA) auxquels on associe autant de valeurs (opérande VALE). Il est également possible de donner les caractéristiques par l’intermédiaire d’une table dans le cas de la section générale, voir la documentation de la commande macr_cara_poutre.

Il est possible de traiter des poutres de section constante (nom de caractéristique sans suffixe) ou de section variable (nom de caractéristique avec suffixe 1 ou 2). Le mode de variation de la section est défini par le mot-clé VARI_SECT (cf. [§ 9.4.1 ]). On donne alors les caractéristiques de la section au nœud initial (nom avec suffixe 1) et au nœud final (nom avec suffixe 2) (“initial” et “final” relativement à la numérotation de la maille support). On doit également utiliser ce mot clé pour définir la constante de torsion pour la modélisation (POU_D_EM).

Syntaxe#

POUTRE = _F(
        ◆ SECTION = / "CERCLE",
                    / "COUDE",
                    / "GENERALE",
                    / "RECTANGLE",
        # Si: equal_to("SECTION", 'GENERALE')
            ◆ GROUP_MA = grma,
            ◇ VARI_SECT = / "CONSTANT" (par défaut),
                            / "HOMOTHETIQUE",
            # Si: equal_to("VARI_SECT", 'CONSTANT')
                ◇ / TABLE_CARA = table,
                    / CARA = / "A",
                            / "AI",
                            / "AY",
                            / "AZ",
                            / "EY",
                            / "EZ",
                            / "IY",
                            / "IYR2",
                            / "IZ",
                            / "IZR2",
                            / "JG",
                            / "JX",
                            / "RT",
                            / "RY",
                            / "RZ",
                ◇ & NOM_SEC = text,
                ◇ & VALE = float, de 4 à 15 valeurs attendues,
            # Si: equal_to("VARI_SECT", 'HOMOTHETIQUE')
                ◆ CARA = / "A1",
                        / "A2",
                        / "AY1",
                        / "AY2",
                        / "AZ1",
                        / "AZ2",
                        / "EY1",
                        / "EY2",
                        / "EZ1",
                        / "EZ2",
                        / "IY1",
                        / "IY2",
                        / "IYR21",
                        / "IYR22",
                        / "IZ1",
                        / "IZ2",
                        / "IZR21",
                        / "IZR22",
                        / "JG1",
                        / "JG2",
                        / "JX1",
                        / "JX2",
                        / "RT1",
                        / "RT2",
                        / "RY1",
                        / "RY2",
                        / "RZ1",
                        / "RZ2",
                ◆ VALE = float, de 8 à 30 valeurs attendues,
        # Si: equal_to("SECTION", 'RECTANGLE')
            ◆ GROUP_MA = grma,
            ◇ VARI_SECT = / "AFFINE",
                            / "CONSTANT" (par défaut),
                            / "HOMOTHETIQUE",
            # Si: equal_to("VARI_SECT", 'CONSTANT')
                ◆ CARA = / "EP",
                        / "EPY",
                        / "EPZ",
                        / "H",
                        / "HY",
                        / "HZ",
                ◆ VALE = float, de 1 à 4 valeurs attendues,
            # Si: equal_to("VARI_SECT", 'HOMOTHETIQUE')
                ◆ CARA = / "EP1",
                        / "EP2",
                        / "EPY1",
                        / "EPY2",
                        / "EPZ1",
                        / "EPZ2",
                        / "H1",
                        / "H2",
                        / "HY1",
                        / "HY2",
                        / "HZ1",
                        / "HZ2",
                ◆ VALE = float, de 2 à 8 valeurs attendues,
            # Si: equal_to("VARI_SECT", 'AFFINE')
                ◆ CARA = / "EPY",
                        / "EPZ1",
                        / "EPZ2",
                        / "HY",
                        / "HZ1",
                        / "HZ2",
                ◆ VALE = float, de 3 à 6 valeurs attendues,
        # Si: equal_to("SECTION", 'CERCLE')
            ◇ VARI_SECT = / "CONSTANT" (par défaut),
                            / "HOMOTHETIQUE",
            # Si: equal_to("VARI_SECT", 'CONSTANT')
                ◆ GROUP_MA = grma,
                ◆ CARA = / "EP",
                        / "R",
                ◆ VALE = float, de 1 à 2 valeurs attendues,
            # Si: equal_to("VARI_SECT", 'HOMOTHETIQUE')
                ◆ GROUP_MA = grma,
                ◆ CARA = / "EP_DEBUT",
                        / "EP_FIN",
                        / "R_DEBUT",
                        / "R_FIN",
                ◆ VALE = float, de 2 à 4 valeurs attendues,
            ◇ MODI_METRIQUE = / "NON" (par défaut),
                                / "OUI",
            ◇ FCX = fonction / formule / nappe,
            ◇ TUYAU_NSEC = int, dans [8, 32] (défaut: 16),
            ◇ TUYAU_NCOU = int, dans [1, 10] (défaut: 3),
        # Si: equal_to("SECTION", 'COUDE')
            ◆ GROUP_MA = grma,
            ◇ / COEF_FLEX = float, dans [0.0, ∞[,
                / COEF_FLEX_XY = float, dans [0.0, ∞[,
            ◇ / COEF_FLEX_XZ = float, dans [0.0, ∞[,
            ◇ / INDI_SIGM = float, dans [0.0, ∞[,
                / INDI_SIGM_XY = float, dans [0.0, ∞[,
            ◇ / INDI_SIGM_XZ = float, dans [0.0, ∞[,
    ),

Règles d’utilisation#

Remarque:

L’orientation des éléments de poutres se fait par le mot clé ORIENTATION[§ 10 ]. L’angle de vrille (qui permet d’orienter la section transverse de la poutre autour de sa fibre neutre) est toujours donné pour orienter les axes principaux de la section ce qui est peu pratique, car ces axes sont en général inconnus avant le calcul des caractéristiques géométriques de la section, cf. MACR_CARA_POUTRE[U4.42.02] .

Il est possible de fournir via des variables python, les caractéristiques des sections (générale) issues d’un calcul avec MACR_CARA_POUTRE(Cf. le test SSLL107F).

Les différents noms de caractéristiques des arguments de l’opérande CARA sont décrits plus loin pour chaque argument de l’opérande SECTION .

  • Pour une maille donnée:

On ne peut pas surcharger un type de variation de section (constante ou variable) par un autre.

On ne peut pas surcharger un type de section ( CERCLE , RECTANGLE , GENERALE ) par un autre.

Pour les poutres de section variable, les noms avec suffixe 1ou 2 sont incompatibles avec les noms sans suffixe. Exemple: \(A\) est incompatible avec \(\mathit{A1}\) et \(\mathit{A2}\) .

\(H\) est incompatible avec \(\mathit{HZ}\) et \(\mathit{HY}\) (ainsi que \(\mathit{H1}\) , \(\mathit{H2}\) , …)

\(\mathit{EP}\) est incompatible avec \(\mathit{EPY}\) et \(\mathit{EPZ}\) (ainsi que \(\mathit{EP1}\) , \(\mathit{EP2}\) , …).

\(\mathit{RY}\) , \(\mathit{RZ}\) et \(\mathit{RT}\) n’interviennent que pour le calcul des contraintes.

Opérandes#

Opérande VARI_SECT#

Permet de définir le type de variation de section entre les deux nœuds extrémités de l’élément de poutre, éléments POU_D_E et POU_D_T [R3.08.01].

Les possibilités sont:

Section

Affine

Homothétique

cercle

non

oui

rectangle

oui (suivant \(y\) )

oui

générale

non

oui

  • “Affine” signifie que l’aire de la section varie de façon linéaire entre les deux nœuds. Les dimensions dans la direction y sont constantes (\(\mathit{HY}\) , \(\mathit{EPY}\) ) et celle dans la direction \(z\) varient linéairement (\(\mathit{HZ1}\) , \(\mathit{HZ2}\) , \(\mathit{EPZ1}\) , \(\mathit{EPZ2}\) ).

  • “Homothétique” signifie que les dimensions de la section varient linéairement entre les valeurs données aux deux nœuds extrémités. Dans ce cas, l’aire de la section évolue de façon quadratique.

Dans le cas des sections creuses circulaires, pour que la section soit considérée comme homothétique, il faut que \({\mathit{EP}}_{\mathit{DEBUT}}/{R}_{\mathit{DEBUT}}={\mathit{EP}}_{\mathit{FIN}}/{R}_{\mathit{FIN}}\) . Dans le cas de non respect de l’homothétie la solution donnée par Code_Aster est approchée [R3.08.01].

Opérande MODI_METRIQUE#

Permet de définir pour les éléments TUYAU le type d’intégration dans l’épaisseur (modélisations TUYAU_3M, TUYAU_6M):

  • MODI_METRIQUE= “NON” conduit à assimiler dans les intégrations le rayon au rayon moyen. Ceci est donc valable pour les tuyaux de faible épaisseur (relativement au rayon),

  • MODI_METRIQUE= “OUI” implique une intégration complète, plus précise pour des tuyauteries épaisses, mais pouvant dans certains cas conduire à des oscillations de la solution.

Remarque

L’option MODI_METRIQUE=”OUI” a été désactivée suite à la constatation de résultats faux lors de son emploi. Pour le moment, seule l’option MODI_METRIQUE=”NON” est autorisée.

Opérande SECTION = ’GENERALE’#

Section constante#

CARA

Signification

Valeur par défaut

A

Aire de la section

Obligatoire

IZ

Moment d’inertie géométrique principal par rapport à \(\mathrm{GZ}\)

Obligatoire

IY

Moment d’inertie géométrique principal par rapport à \(\mathrm{GY}\)

Obligatoire

AY

Coefficient de cisaillement dans la direction \(\mathrm{GY}\)

Obligatoire si POU_D_T, POU_D_TG. 0. si POU_D_E

AZ

Coefficient de cisaillement dans la direction \(\mathrm{GZ}\)

idem

EY

Excentrement du centre de torsion (composante de \(\mathrm{CG}\) suivant \(\mathrm{GY}\) )

EZ

Excentrement du centre de torsion (composante de \(\mathrm{CG}\) suivant \(\mathrm{GZ}\) )

JX

Constante de torsion

Obligatoire

RY

Distance d’une fibre externe mesurée suivant \(y\)

RZ

Distance d’une fibre externe mesurée suivant \(z\)

RT

Rayon de torsion efficace

JG

Constante de gauchissement (POU_D_TG, POU_D_TGM)

IYR2

Nécessaire au calcul de la rigidité géométrique (POU_D_TGet POU_D_TGM)

IZR2

Nécessaire au calcul de la rigidité géométrique (POU_D_TGet POU_D_TGM)

AI

Aire de la section de passage du fluide à l’intérieur de la poutre.

obligatoire pour une modélisation FLUI_STRU

Dans ce cas précis, les caractéristiques de section peuvent être données par les mots clés table_cara et nom_sec au lieu de cara et vale. On peut également donner à TABLE_CARA une table issue de la macro-commande macr_cara_poutreen renseignant dans le mot-clé NOM_SEC:

  • le nom du maillage donné à macr_cara_poutre, si la section correspond à tout le maillage.

  • le nom du groupe de mailles auquel correspond la section.

  • On peut également lui donner une table issue de l’opérateur lire_table. Pour cela la table doit être définie de la façon suivante:

NOM_SEC

A

IY

IZ

AY

AZ

SEC_1

a1

iy1

iz1

ay1

az1

SEC_2

a2

iy2

iz2

ay2

az1

Les noms des colonnes sont les noms des caractéristiques de la section. Si une colonne contient des valeurs non réelles (excepté dans la colonne NOM_SEC), elle sera ignorée. Si le nom d’une colonne n’est pas dans la liste des caractéristiques possibles elle sera ignorée.

Dans ce cas nom_sec peut prendre la valeur \({\mathit{sec}}_{1}\) ou \({\mathit{sec}}_{2}\) .

Section homothétique#

On définit les caractéristiques pour chaque maille, aux deux nœuds.

CARA

Signification

Valeur par défaut

A1, A2

Aire de la section

Obligatoire

IZ1, IZ2

Moment d’inertie géométrique principal par rapport à \(\mathrm{GZ}\)

Obligatoire

IY1, IY2

Moment d’inertie géométrique principal par rapport à \(\mathrm{GY}\)

Obligatoire

AY1, AY2

Coefficient de cisaillement dans la direction \(\mathrm{GY}\)

Obligatoire si POU_D_T, POU_D_TG. 0. si POU_D_E

AZ1, AZ2

Coefficient de cisaillement dans la direction \(\mathrm{GZ}\)

idem

EY1, EY2

Excentrement du centre de torsion (composante de \(\mathrm{CG}\) suivant \(\mathrm{GY}\) )

EZ1, EZ2

Excentrement du centre de torsion (composante de \(\mathrm{CG}\) suivant \(\mathrm{GZ}\) )

JX1, JX2

Constante de torsion

Obligatoire

RY1, RY2

Distance d’une fibre externe mesurée suivant \(y\)

RZ1, RZ2

Distance d’une fibre externe mesurée suivant \(z\)

RT1, RT2

Rayon de torsion efficace

JG1, JG2

Constante de gauchissement (POU_D_TG)

IYR21, IYR22

Nécessaire au calcul de la rigidité géométrique (POU_D_TGet POU_D_TGM)

IZR21, IZR22

Nécessaire au calcul de la rigidité géométrique (POU_D_TGet POU_D_TGM)

../../../../_images/section-generale.png

Fig. 78  : Section GENERALE.#

Définition des caractéristiques :

\(\mathit{IZ}=\underset{s}{\int}{y}^{2}\mathit{ds}\)

\(\mathit{IY}=\underset{s}{\int}{z}^{2}\mathit{ds}\)

\(\mathit{AY}=\frac{A}{{A}_{y}^{'}}=\frac{A}{{\mathit{IZ}}^{2}}\underset{{y}_{1}}{\overset{{y}_{2}}{\int}}\frac{{m}_{y}^{2}(y)}{{b}_{y}(y)}\mathit{dy}\)

\(\mathit{AZ}=\frac{A}{{A}_{z}^{'}}=\frac{A}{{\mathit{IY}}^{2}}\underset{{z}_{1}}{\overset{{z}_{2}}{\int}}\frac{{m}_{z}^{2}(z)}{{b}_{z}(z)}\mathit{dz}\)

avec \({m}_{y}(y)=\underset{y}{\overset{{R}_{y}}{\int}}{\mathit{t.b}}_{y}(t)\mathit{dt}\) \({b}_{y}(t)\) épaisseur suivant \(z\) , en \(z=t\)

\({m}_{z}(z)=\underset{z}{\overset{{R}_{z}}{\int}}{\mathit{t.b}}_{z}(t)\mathit{dt}\) \({b}_{z}(t)\) épaisseur suivant \(y\) , en \(y=t\)

Avec:

\({A}_{y}^{'}\) , \({A}_{z}^{'}\) : aires réduites cisaillées.

\({A}_{y}^{'}=\frac{A}{\mathit{AY}}\) avec \(\mathrm{AY}\ge 1\) ou encore \({A}_{y}^{'}={k}_{y}A\) avec \({k}_{y}=\frac{1}{\mathit{AY}}\le 1\)

  • les coefficients de cisaillement \({A}_{y},{A}_{z}\) sont utilisés par les éléments POU_D_T, et POU_D_TG, POU_D_TGM, pour le calcul des matrices de rigidité et de masse et pour le calcul des contraintes [R3.08.01]. En particulier, les contraintes de cisaillement transverse s’expriment par:

\({\tau}_{xz}=\frac{{V}_{z}}{{K}_{z}A}={V}_{z}\frac{{A}_{z}}{A}\) \({\tau}_{xy}={V}_{y}\frac{{A}_{y}}{A}\)

  • dans le cas des poutres d’Euler (POU_D_E) qui ne tiennent pas compte du cisaillement transverse, on néglige les termes correspondants dans le calcul de la rigidité et de la masse en prenant \({A}_{y}={A}_{z}=0\) . Par contre, les contraintes [R3.08.01] de cisaillement sont calculées par:

\({\tau}_{xz}=\frac{{V}_{z}}{A}\) \({\tau}_{xy}=\frac{{V}_{y}}{A}\)

Les caractéristiques \(\mathrm{RY}\) , \(\mathrm{RZ}\) , \(\mathrm{RT}\) servent au calcul des contraintes de flexion et de torsion [R3.08.01] pour les options ’SIGM_ELNO’ ou ’SIPO_ELNO’ de CALC_CHAMP[U4.81.04].

En flexion \({\sigma}_{xx}=\frac{{M}_{y}}{{I}_{y}}.\mathit{RZ}-\frac{{M}_{z}}{{I}_{z}}.\mathit{RY}\)

En torsion \({\tau}_{xz}={\tau}_{xy}=\frac{\mathit{MT}}{\mathit{JX}}.\mathit{RT}\)

Opérande SECTION= ’RECTANGLE’#

CARA

Signification

Valeurs par défaut

Section constante

HY

Dimension du rectangle suivant \(\mathrm{GY}\)

Obligatoire

HZ

Dimension du rectangle suivant \(\mathrm{GZ}\)

Obligatoire

H

Dimension du carré (si le rectangle est carré)

Obligatoire

EPY

Épaisseur suivant \(\mathrm{GY}\) dans le cas d’un tube creux

HY/2

EPZ

Épaisseur suivant \(\mathrm{GZ}\) dans le cas d’un tube creux

HZ/2

EP

Épaisseur suivant les deux axes dans le cas d’un tube creux

Tube plein

Section homothétique

H1, H2

Dimension du carré à chaque extrémité pour une section variable

H1= H2= H

HY1, HY2

Dimension du rectangle suivant \(\mathrm{GY}\) à chaque extrémité pour une section variable

HY1= HY2= HY

HZ1, HZ2

Dimension du rectangle suivant \(\mathrm{GZ}\) à chaque extrémité pour une section variable

HZ1= HZ2= HZ

EP1, EP2

Épaisseur suivant les deux axes dans le cas d’un tube creux, à chaque extrémité dans le cas d’une section variable

EP1= EP2= EP

EPY1, EPY2

Épaisseur suivant \(\mathrm{GY}\) dans le cas d’un tube creux, à chaque extrémité dans le cas d’une section variable

EPY1= EPY2= EPY

EPZ1, EPZ2

Épaisseur suivant \(\mathrm{GZ}\) dans le cas d’un tube creux, à chaque extrémité dans le cas d’une section variable

EPZ1= EPZ2= EPZ

Dans le cas des sections creuses rectangulaires, l’homothétique ne peut être que dans la direction \(y\) [R3.08.01].

../../../../_images/section-rectangle.png

Fig. 79  : Section RECTANGLE.#

Les caractéristiques calculées par Code_Aster sont [R3.08.03]:

\(\mathit{Iy}=\frac{\mathit{HY}{\mathit{HZ}}^{3}}{12}-\frac{(\mathit{HY}-2\mathit{EPY}).{(\mathit{HZ}-2\mathit{EPZ})}^{3}}{12}\) \(\mathrm{RY}=\frac{\mathrm{HY}}{2}\)

\(\mathit{Iz}=\frac{\mathit{HZ}{\mathit{HY}}^{3}}{12}-\frac{(\mathit{HZ}-2\mathit{EPZ}){(\mathit{HY}-2\mathit{EPY})}^{3}}{12}\) \(\mathrm{RZ}=\frac{\mathrm{HZ}}{2}\)

  • Si le tube est creux:

\(\mathrm{JX}=\frac{\mathrm{2.EPY.EPZ}{(\mathrm{HY}-\mathrm{EPY})}^{2}{(\mathrm{HZ}-\mathrm{EPZ})}^{2}}{\mathrm{HY.EPY}+\mathrm{HZ.EPZ}-{\mathrm{EPY}}^{2}-{\mathrm{EPZ}}^{2}}\)

\(\mathit{RT}=\frac{\mathit{JX}}{2\mathit{EPZ}(\mathit{HY}-\mathit{EPY})(\mathit{HZ}-\mathit{EPZ})}\)

  • Si le tube est plein, on pose:

\(\begin{array}{c}a=\frac{\mathit{HY}}{2},b=\frac{\mathit{HZ}}{2}\mathit{si}\mathit{HY}>\mathit{HZ}\\ a=\frac{\mathit{HZ}}{2},b=\frac{\mathit{HY}}{2}\mathit{si}\mathit{HZ}>\mathit{HY}\end{array}\) \(J=a{b}^{3}\left(\frac{16}{3}-3.36\frac{b}{a}+0.28\frac{{b}^{5}}{{a}^{5}}\right)\)

\(\mathit{RT}=\frac{J\left(3a+1.8b\right)}{8{a}^{2}{b}^{2}}\)

  • Coefficients de cisaillement \(\mathit{Ay}\) et \(\mathit{Az}\)

on pose \({\alpha}_{y}=\frac{\mathit{HY}-2\mathit{EPY}}{\mathit{HY}}\) \({\alpha}_{z}=\frac{\mathit{HZ}-2\mathit{EPZ}}{\mathit{HZ}}\)

Les valeurs de \(\mathit{AY}\) et \(\mathit{AZ}\) sont données par le tableau ci-dessous: Tab(colonne, ligne)

\(\mathit{AY}=\mathit{Tab}({\alpha}_{y},{\alpha}_{z})\) \(\mathit{AZ}=\mathit{Tab}({\alpha}_{z},{\alpha}_{y})\)

Tab

0.00

0.05

0.10

0.20

0.30

0.40

0.50

0.60

0.70

0.80

0.90

0.95

0.00

1.200

1.200

1.200

1.200

1.200

1.200

1.200

1.200

1.200

1.200

1.200

1.200

0.05

1.200

1.209

1.212

1.217

1.220

1.221

1.220

1.217

1.212

1.207

1.202

1.201

0.10

1.200

1.229

1.236

1.247

1.252

1.253

1.249

1.241

1.230

1.217

1.206

1.202

0.20

1.200

1.300

1.317

1.339

1.348

1.345

1.332

1.309

1.280

1.247

1.217

1.206

0.30

1.200

1.413

1.442

1.477

1.489

1.479

1.451

1.408

1.354

1.295

1.238

1.214

0.40

1.200

1.577

1.621

1.671

1.683

1.662

1.614

1.545

1.460

1.366

1.272

1.230

0.50

1.200

1.803

1.866

1.936

1.949

1.913

1.838

1.733

1.608

1.469

1.325

1.256

0.60

1.200

2.115

2.207

2.309

2.324

2.267

2.154

2.000

1.818

1.619

1.409

1.301

0.70

1.200

2.561

2.704

2.866

2.894

2.810

2.640

2.409

2.140

1.848

1.541

1.378

0.80

1.200

3.265

3.520

3.830

3.907

3.790

3.524

3.154

2.720

2.252

1.771

1.517

0.90

1.200

4.715

5.358

6.216

6.536

6.401

5.916

5.186

4.300

3.331

2.338

1.841

0.95

1.200

6.689

8.194

10.294

11.236

11.189

10.375

9.014

7.296

5.372

3.367

2.371

Remarques :

Les valeurs du tableau sont déterminées à l’aide d’une étude paramétrique réalisée avec la commande macr_cara_poutre.

Les interpolations sur les valeurs du tableau sont linéaires.

Pour des valeurs de \(\alpha >0.95\) , l’utilisateur doit calculer lui-même les valeurs des coefficients de cisaillement.

Les valeurs calculées peuvent être imprimées avec le mot clé INFO = 2.

Opérande SECTION= ’CERCLE’#

CARA

Signification

Valeur par défaut

Section constante

R

Rayon extérieur du tube

Obligatoire

EP

Épaisseur dans le cas d’un tube creux

Tube plein (EP=R)

Section variable affectée sur une maille

R1, R2

Rayons extérieurs aux deux extrémités pour une section variable

R1= R2= R

EP1, EP2

Épaisseurs aux deux extrémités dans le cas d’une section variable.

EP1= EP2= EP

Section variable affectée sur un groupe de mailles

R_DEBUT, R_FIN

Rayons extérieurs aux deux extrémités de la poutre définie par le groupe de mailles

Aucune

EP_DEBUT, EP_FIN

Épaisseurs aux deux extrémités de la poutre définie par le groupe de mailles

Aucune

Dans le cas d’une section variable affectée sur un groupe de mailles, les caractéristiques sont calculées automatiquement à partir des valeurs aux extrémités. Pour cela les mailles doivent être correctement orientées et contiguës dans le groupe.

Dans le cas des sections creuses circulaires, pour que la section soit homothétique il faut que \(\mathit{EP1}/\mathit{R1}=\mathit{EP2}/\mathit{R2}\) . Dans le cas de non respect de cette condition la solution donnée par Code_Aster est approchée [R3.08.01], un message d’alarme est émis pour prévenir l’utilisateur.

../../../../_images/section-cercle.png

Fig. 80  : Section CERCLE.#

Les valeurs calculées par Aster sont [R3.08.03]: \(\begin{array}{c}{I}_{y}={I}_{z}=\frac{\mathit{JX}}{2}=\frac{\pi {R}^{4}}{4}-\frac{\pi {(R-\mathit{EP})}^{4}}{4}\\ \mathit{RT}=\mathit{RY}=\mathit{RZ}=R\end{array}\)

  • Coefficients de cisaillement \(\mathit{Ay}=\mathit{Az}\) . avec \(\alpha =\frac{R-\mathit{EP}}{R}\)

\(\alpha\)

0.00

0.05

0.10

0.20

0.30

0.40

0.50

0.60

0.70

0.80

0.90

1.00

Ay=Az

1.167

1.174

1.199

1.289

1.419

1.563

1.700

1.815

1.902

1.960

1.991

2.000

Remarques:

Les valeurs du tableau sont déterminées à l’aide d’une étude paramétrique réalisée avec la commande macr_cara_poutre.

Les interpolations sont linéaires.

Les valeurs calculées peuvent être imprimées avec le mot clé INFO = 2.

Opérande SECTION = ’COUDE’#

Lorsque l’on souhaite tenir compte des coefficients de correction de flexibilité ou des coefficients d’amplification des contraintes, la modélisation des coudes doit être faite par la modélisation POU_D_T. Pour obtenir des résultats corrects, il est conseillé de modéliser un coude de 90° avec 20 à 40 mailles de POU_D_T. Les caractéristiques ne sont affectables que sur les éléments POU_D_T.

L’affectation des caractéristiques mécaniques (section, inerties, …) est réalisée par SECTION qui peut prendre la valeur GENERALE ou RECTANGLE ou CERCLE.

Opérande COEF_FLEX, COEF_FLEX_XZ, COEF_FLEX_XY : coefficients de flexibilité#

◊ coef_flex= \(\mathrm{cflex}\)

◊ coef_flex_xz = \({\mathrm{cflex}}_{xz}\)

◊ coef_flex_xy = \({\mathrm{cflex}}_{xy}\)

Pour la modélisation des coudes de tuyauteries la représentation par éléments d’une poutre circulaire est insuffisante pour représenter la flexibilité d’une coque mince. Le coefficient de flexibilité corrige les données géométriques (moments d’inertie géométriques) conformément aux règles de construction. Certaines règles conduisent à faire le calcul de rigidité de flexion avec un moment d’inertie géométrique corrigé:

\({I}_{y,z}=\frac{{I}_{y,z}(\mathrm{tube})}{\mathrm{cflex}}\) avec \(\mathrm{cflex}>1.0\)

Une valeur classique de \(\mathrm{cflex}\) , pour une tuyauterie d’épaisseur \(e\) et de rayon moyen \({R}_{\mathrm{moy}}\) , est donné par:

\(\mathrm{cflex}=\frac{1.65}{\lambda}\) avec \(\lambda =\frac{e{R}_{\mathrm{courb}}}{{R}_{\mathrm{moy}}^{2}}\)

Cette valeur peut être calculée directement dans le fichier de commandes, voir par exemple le test FORMA01A[V7.15.100].

Dans le cas où 2 coefficients sont donnés, on obtient: \({I}_{y}=\frac{{I}_{y}(\mathit{tube})}{{\mathit{cflex}}_{xy}},{I}_{z}=\frac{{I}_{z}(\mathit{tube})}{{\mathit{cflex}}_{xz}}\)

Par défaut, \(\mathit{cflex}={\mathit{cflex}}_{xz}={\mathit{cflex}}_{xy}=1\) (pas de modification des inerties géométriques).

Remarque: \({\mathit{cflex}}_{xy}\) est appliqué à \({I}_{y}\) , \({\mathit{cfle}}_{xz}\) est appliqué à \({I}_{z}\) .

Opérandes INDI_SIGM, INDI_SIGM_XZ, INDI_SIGM_XY : Intensification des contraintes#

◊ INDI_SIGM = \(\mathrm{isigm}\)

◊ INDI_SIGM_XZ = \({\mathrm{isigm}}_{xz}\)

◊ INDI_SIGM_XY = \({\mathrm{isigm}}_{xy}\)

Pour le calcul des contraintes de flexion dans les éléments de poutres de section tubulaire, on peut tenir compte d’un coefficient d’intensification dû à l’ovalisation. Les contraintes s’écrivent alors:

\({\sigma}_{xx}=\frac{{M}_{y}.R}{{I}_{y}}\times \mathit{isigm}\) ou \({\sigma}_{xx}=\frac{{M}_{z}.R}{{I}_{z}}\times \mathit{isigm}\) avec \(\mathit{isgim}\ge 1\)

Dans le cas où 2 indices sont donnés, on a:

\({\sigma}_{xx}=\frac{{M}_{y}.R}{{I}_{y}}\times {\mathit{isigm}}_{xy}\) ou \({\sigma}_{xx}=\frac{{M}_{z}.R}{{I}_{z}}\times {\mathit{isigm}}_{xz}\)

Par défaut, \(\mathit{isigm}={\mathit{isigm}}_{xz}={\mathit{isigm}}_{xy}=1\) (pas de modification des inerties géométriques).

Remarque: \({\mathit{isigm}}_{xy}\) est appliqué à \({M}_{y}\) , \({\mathit{isigm}}_{xz}\) est appliqué à \({M}_{z}\) .

Opérande FCX#

◊ FCx = fv

Affectation d’une fonction décrivant la dépendance de la force répartie vis-à-vis de la vitesse de vent relative (voir test SSNL118[V6.02.118]). Le chargement de type vent est applicable sur les éléments de barre de câble et de poutre (modélisations POU_D_E, POU_D_T, POU_D_TG, POU_D_T_GD, POU_D_TGM).

Opérandes TUYAU_NSEC/ TUYAU_NCOU#

◊ TUYAU_NSEC = nsec (16) [entier (défaut)]

◊ TUYAU_NCOU = ncou (3) [entier (défaut)]

Nombre de couches dans l’épaisseur (ncou, par défaut 3) et de secteurs (nsec, par défaut 16) sur la circonférence utilisée pour les intégrations dans les éléments TUYAU[R3.08.06]. Les valeurs par défaut (3 couches et 16 secteurs) correspondent à un minimum requis pour avoir une précision correcte.

Mot clé ORIENTATION#

Caractéristiques affectables#

Ce mot clé permet d’affecter les orientations :

  • des axes principaux des sections transversales des éléments de type poutre,

  • des éléments discrets affectés à des nœuds ou des mailles de type POI1 (éléments discrets nodaux) ou à des mailles de type SEG2 (éléments discrets de liaison),

  • de la position de la génératrice pour les éléments tuyaux.

Pour les éléments de type TUYAU, le mot clé ORIENTATION doit systématiquement être renseigné afin de spécifier une ligne génératrice continue définissant pour chaque section l’origine angulaire.

Syntaxe#

◇ ORIENTATION = _F(
     ◆ CARA = / "ANGL_NAUT",
              / "ANGL_VRIL",
              / "GENE_TUYAU",
              / "VECT_MAIL_Y",
              / "VECT_MAIL_Z",
              / "VECT_X_Y",
              / "VECT_Y",
              / "VECT_Z",
     # Si: (equal_to("CARA", 'VECT_Y'))
         ◆ GROUP_MA = grma,
         ◆ VALE = float, 3 valeurs attendues,
         ◇ PRECISION = float,
     # Si: (equal_to("CARA", 'VECT_Z'))
         ◆ GROUP_MA = grma,
         ◆ VALE = float, 3 valeurs attendues,
         ◇ PRECISION = float,
     # Si: (equal_to("CARA", 'VECT_MAIL_Y'))
         ◆ GROUP_MA = grma,
         ◆ TABLE_CARA = table,
         ◆ NOM_SEC = text,
         ◆ VALE = float, 3 valeurs attendues,
         ◇ PRECISION = float,
     # Si: (equal_to("CARA", 'VECT_MAIL_Z'))
         ◆ GROUP_MA = grma,
         ◆ TABLE_CARA = table,
         ◆ NOM_SEC = text,
         ◆ VALE = float, 3 valeurs attendues,
         ◇ PRECISION = float,
     # Si: (equal_to("CARA", 'ANGL_VRIL'))
         ◆ GROUP_MA = grma,
         ◆ VALE = float,
         ◇ PRECISION = float,
     # Si: (equal_to("CARA", 'VECT_X_Y'))
         ◆ GROUP_MA = grma,
         ◆ VALE = float, 6 valeurs attendues,
         ◇ PRECISION = float,
     # Si: (equal_to("CARA", 'ANGL_NAUT'))
         ◆ GROUP_MA = grma,
         ◆ VALE = float, 3 valeurs attendues,
         ◇ PRECISION = float,
     # Si: (equal_to("CARA", 'GENE_TUYAU'))
         ◆ GROUP_NO = grno,
         ◆ VALE = float, 3 valeurs attendues,
         ◇ PRECISION = float (défaut: 0.0001),
         ◇ CRITERE = / "ABSOLU",
                     / "RELATIF" (par défaut),
  ),

Règles d’utilisation#

La règle de surcharge est appliquée. L’orientation prise est la dernière affectée.

Exemple :

ORIENTATION=(
    _F(CARA = ’ANGL_NAUT’, VALE = (1.0, 1.0, 1.0), GROUP_MA = ’GP1’),
    _F(CARA = ’ANGL_VRIL’, VALE = 45.0, GROUP_MA = ’GM1’),
    _F(CARA = ’ANGL_VRIL’, VALE = 90.0, GROUP_MA = ’GM2’),
)
  • pour définir le repère local associé à une maille de type POI1 ou un nœud (élément discret), il faut utiliser une des possibilités suivantes : ANGL_NAUT, VECT_X_Y.

  • pour définir le repère local autour de l’axe défini par une maille SEG2 (poutre ou discret), il faut utiliser une des possibilités suivantes : ANGL_VRIL, VECT_Y, VECT_Z, VECT_MAIL_Y, VECT_MAIL_Z.

  • pour définir une ligne génératrice sur les éléments tuyau, il faut utiliser GENE_TUYAU.

Remarques :
  • Il existe toujours un repère local par défaut attaché aux éléments de type POUTRE ou DISCRET même si l’on n’utilise pas l’opérande ORIENTATION. Il correspond à ANGL_VRIL = 0 pour les éléments attachés à une maille SEG2 (poutres ou discrets) et ANGL_NAUT = \((0.0, 0.0, 0.0)\) pour les éléments discrets nodaux.

  • Dans le cas où l’angle \(\alpha\) est soit nul soit indéfini (comme pour un SEG2 sur l’axe \(z\)), les axes \(y1,y2\) sont parallèles à l’axe \(Y\). Dans ce cas l’axe \(y3\) est par défaut parallèle à l’axe \(Y\), car ANGL_VRIL est nul par défaut.

Opérande CARA = ’ANGL_NAUT’#

VALE = (\(\alpha\) , \(\beta\) , \(\gamma\) )
Les angles nautiques \(\alpha\), \(\beta\), \(\gamma\) fournis en degrés, sont les angles permettant de passer du repère global de définition des coordonnées des nœuds \((P,x,y,z)\) au repère local \((P,{x}_{3,}{y}_{3,}{z}_{3})\). Celui-ci est obtenu par 3 rotations :
  • une rotation d’angle \(\alpha\) autour de \(Z\), transformant \((x,y,z)\) en \(({x}_{1,}{y}_{1,}{z}_{1})\) avec \({z}_{1}\equiv z\).

  • une rotation d’angle \(\beta\) autour de \({y}_{1}\), transformant \(({x}_{1,}{y}_{1,}{z}_{1})\) en \(({x}_{2,}{y}_{2,}{z}_{2})\) avec \({y}_{2}\equiv {y}_{1}\).

  • une rotation d’angle \(\gamma\) autour de \({x}_{2}\), transformant \(({x}_{2,}{y}_{2,}{z}_{2})\) en \(({x}_{3,}{y}_{3,}{z}_{3})\) avec \({x}_{3}\equiv {x}_{2}\).

../../../../_images/orientation-alpha.png

Fig. 81  : angle \(\alpha\)#

../../../../_images/orientation-beta.png

Fig. 82  : angle \(\beta\)#

../../../../_images/orientation-gamma.png

Fig. 83  : angle \(\gamma\)#

Le repère local est: \(({X}_{3}{Y}_{3}{Z}_{3})\). Sur les figures Fig. 82 et Fig. 84, l’angle de rotation \(\beta\) est négatif.

../../../../_images/orientation-global-local.png

Fig. 84  : Représentation du repère global et du repère local.#

PRECISION
ANGL_NAUT permet de définir le repère local associé à une maille de type POI1 (pour un élément discret). Il est également possible de définir l’orientation d’un segment, mais dans ce cas, le segment doit être de longueur nulle, car sinon les 2 premiers angles sont déterminés (cf ANGL_VRIL). Ce mot clef permet de définir la longueur en dessous de laquelle la maille est considérée comme de taille nulle. Ce mot clef est facultatif et est quelquefois nécessaire, dû à la précision des coordonnées des nœuds, dans le fichier de maillage.

Opérande CARA = ’VECT_X_Y’#

VALE = \(\left({x}_{1}^{l},{x}_{2}^{l},{x}_{3}^{l},{y}_{1}^{d},{y}_{2}^{d},{y}_{3}^{d}\right)\)
  ⦁  \({x}_{1}^{l},{x}_{2}^{l},{x}_{3}^{l}\) sont les 3 composantes, dans le repère global, d’un vecteur définissant l’axe local \({X}_{3}\).
  ⦁  \({y}_{1}^{d},{y}_{2}^{d},{y}_{3}^{d}\) sont les 3 composantes, dans le repère global, d’un vecteur \({Y}^{d}\) , dont la projection sur le plan orthogonal à \({X}_{3}\) fournira l’axe local \({Y}_{3}\). L’axe local \({Z}_{3}\) complète alors le repère pour que \(\left(P,{X}_{3},{Y}_{3},{Z}_{3}\right)\) soit direct.
../../../../_images/orientation-vect_x_y.gif

Fig. 85  : Définition de VECT_X_Y#

PRECISION
VECT_X_Y permet de définir le repère local associé à une maille de type POI1 ou un nœud (pour un élément discret). Il est également possible de définir l’orientation d’un segment, mais dans ce cas, le segment doit être de longueur nulle, car sinon les 2 premiers angles sont déterminés (cf ANGL_VRIL). Ce mot clef permet de définir la longueur en dessous de laquelle la maille est considérée comme de taille nulle. Ce mot clef est facultatif et est quelquefois nécessaire, dû à la précision des coordonnées des nœuds, dans le fichier de maillage.

Opérande CARA = ’ANGL_VRIL’#

VALE = \(\gamma\)
Dans le cas des mailles SEG2, l’axe \({x}_{3}\) est déjà porté par la maille. Le sens de \({x}_{3}\) est défini par la numérotation de deux nœuds de la maille, il peut être changé par MODI_MAILLAGE avec ORIE_LIGNE. Il est donc possible de définir \({y}_{3}\) et \({z}_{3}\) par rotation autour de \({x}_{3}\).

\(\gamma\) est l’angle (en degrés) de rotation autour de \({x}_{2}\), transformant \(\left(P,{x}_{2},{y}_{2},{z}_{2}\right)\) en \(\left(P,{x}_{3},{y}_{3},{z}_{3}\right)\) avec \({x}_{3}\equiv {x}_{2}\).

PRECISION
ANGL_VRIL permet de définir le repère local autour de l’axe défini par une maille SEG2 (poutre ou discret). Les 2 angles \(\alpha\) et \(\beta\) sont définis par l’orientation du segment qui doit donc être de longueur non nulle. Ce mot clef permet de définir la longueur en dessous de laquelle la maille est considérée comme de taille nulle. Ce mot clef est facultatif et est quelquefois nécessaire, dû à la précision des coordonnées des nœuds, dans le fichier de maillage.

Opérande CARA = ’VECT_Y’ | ’VECT_Z’#

VALE = \({y}_{1}^{d},{y}_{2}^{d},{y}_{3}^{d}\) ou \({z}_{1}^{d},{z}_{2}^{d},{z}_{3}^{d}\)
Dans le cas des mailles SEG2, l’axe \({x}_{3}\) est déjà porté par la maille. Le sens de \({x}_{3}\) est défini par la numérotation de deux nœuds de la maille, il peut être changé par MODI_MAILLAGE avec ORIE_LIGNE. Il est donc possible de définir \({y}_{3}\) et \({z}_{3}\) en définissant un vecteur.

VECT_Y permet de définir l’orientation du vecteur principal correspondant à l’axe principal d’inertie Y. \({y}_{1}^{d},{y}_{2}^{d},{y}_{3}^{d}\) sont les 3 composantes d’un vecteur \({Y}^{d}\) dont la projection sur le plan orthogonal à \({x}_{3}\) fournira l’axe principal d’inertie \({y}_{3}\). L’axe \({z}_{3}\) (également principal d’inertie) est tel que \(\left(P,{x}_{3},{y}_{3},{z}_{3}\right)\) soit direct.

VECT_Z permet de définir l’orientation du vecteur principal correspondant à l’axe principal d’inertie Z. \({z}_{1}^{d},{z}_{2}^{d},{z}_{3}^{d}\) sont les 3 composantes d’un vecteur \({Z}^{d}\) dont la projection sur le plan orthogonal à \({x}_{3}\) fournira l’axe principal d’inertie \({z}_{3}\). L’axe \({y}_{3}\) (également principal d’inertie) est tel que \(\left(P,{x}_{3},{y}_{3},{z}_{3}\right)\) soit direct.

PRECISION
VECT_Y et VECT_Z permettent de définir le repère local autour de l’axe défini par une maille SEG2 (poutre ou discret). Les 2 angles \(\alpha\) et \(\beta\) sont définis par l’orientation du segment qui doit donc être de longueur non nulle. Ce mot clef permet de définir la longueur en dessous de laquelle la maille est considérée comme de taille nulle. Ce mot clef est facultatif et est quelquefois nécessaire, dû à la précision des coordonnées des nœuds, dans le fichier de maillage.

Opérande CARA = ’VECT_MAIL_Y’ | ’VECT_MAIL_Z’#

VALE = \({y}_{1}^{d},{y}_{2}^{d},{y}_{3}^{d}\) ou \({z}_{1}^{d},{z}_{2}^{d},{z}_{3}^{d}\)
Dans le cas des mailles SEG2, l’axe \({x}_{3}\) est déjà porté par la maille. Le sens de \({x}_{3}\) est défini par la numérotation de deux nœuds de la maille, il peut être changé par MODI_MAILLAGE avec ORIE_LIGNE. Il est donc possible de définir \({y}_{3}\) et \({z}_{3}\) en définissant un vecteur.

VECT_MAIL_Y permet dans le cas d’utilisation d’un maillage pour définir la section droite, de définir l’orientation de la section, en faisant correspondre l’axe \({y}\) du maillage de la section à l’axe \({y}_{3}\) obtenu par la projection de \({y}_{1}^{d},{y}_{2}^{d},{y}_{3}^{d}\) sur le plan orthogonal à \({x}_{3}\). L’axe \({z}_{3}\) est tel que \(\left(P,{x}_{3},{y}_{3},{z}_{3}\right)\) soit direct.

VECT_MAIL_Z permet dans le cas d’utilisation d’un maillage pour définir la section droite, de définir l’orientation de la section, en faisant correspondre l’axe \({z}\) du maillage de la section à l’axe \({z}_{3}\) obtenu par la projection de \({z}_{1}^{d},{z}_{2}^{d},{z}_{3}^{d}\) sur le plan orthogonal à \({x}_{3}\). L’axe \({y}_{3}\) est tel que \(\left(P,{x}_{3},{y}_{3},{z}_{3}\right)\) soit direct.

Pour réaliser cette opération, il est nécessaire de connaître l’angle \(\alpha\) donnant l’orientation du repère principal d’inertie par rapport aux axes du maillage de la section. Ce calcul est réalisé par la commande MACR_CARA_POUTRE. La table produite contient toutes les grandeurs nécessaires. Elle doit donc être renseignée par les mots clefs : TABLE_CARA = “nom de la table” et NOM_SEC = “nom de la section”.

PRECISION
VECT_MAIL_Y et VECT_MAIL_Z permettent de définir le repère local autour de l’axe défini par une maille SEG2 (poutre ou discret). Les 2 angles \(\alpha\) et \(\beta\) sont définis par l’orientation du segment qui doit donc être de longueur non nulle. Ce mot clef permet de définir la longueur en dessous de laquelle la maille est considérée comme de taille nulle. Ce mot clef est facultatif et est quelquefois nécessaire, dû à la précision des coordonnées des nœuds, dans le fichier de maillage.

Opérande CARA = ’GENE_TUYAU’#

VALE = \(({z}_{1,}{z}_{2,}{z}_{3})\)
Cela ne concerne que les éléments TUYAU (modélisations TUYAU_3M ou TUYAU_6M).
Il convient de donner les 3 composantes d’un vecteur \(z\) orientant la génératrice du tuyau. C’est une ligne continue tracée sur le tuyau, définissant pour chaque élément l’origine de l’angle \(\varphi\) utilisé pour exprimer l’ovalisation et le gauchissement.

Ce vecteur doit être défini en un GROUP_NO (ne contenant qu’un seul nœud) extrémité du tuyau. La géométrie est alors construite automatiquement pour tous les éléments connexes de TUYAU, cf. Fig. 86.

Lors de la détection de la ligne de tuyauterie, à partir d’un des nœuds extrémités, les mailles doivent toutes être orientées dans le même sens. Si ce n’est pas le cas, une erreur concernant la cohérence des angles entre 2 mailles voisines est émise.

../../../../_images/orientation-gene_tuyau.png

Fig. 86  : Utilisation de GENE_TUYAU#

PRECISION
CRITERE = [ ’RELATIF’ | ’ABSOLU’ ]
Cette précision est utilisée pour la construction de la génératrice ainsi que pour définir la limite entre un élément de tuyau droit et un élément courbe (distinction basée sur l’alignement des 3 ou 4 nœuds de l’élément).

Mots clés GEOM_FIBRE / MULTIFIBRE#

Syntaxe#

MULTIFIBRE = _F(
    ◆ GROUP_MA = grma,
    ◆ GROUP_FIBRE = text,
    ◇ PREC_AIRE = float (défaut: 0.01),
    ◇ PREC_INERTIE = float (défaut: 0.1),
),
& GEOM_FIBRE = gfibre,

Mots clés utilisés pour définir la section des poutres multifibres, (modélisations POU_D_EM ou POU_D_TGM ) en affectant à l’élément poutre (maille SEG2 ) des groupes de fibres définis à l’aide de l’opérateur DEFI_GEOM_FIBRE.

But#

Dans le cadre d’une modélisation de type multifibres, il y a deux “niveaux” de modélisation. Il y a la modélisation dite “longitudinale” qui sera représentée par une poutre (de support géométrique SEG2) et une modélisation plane de la section (perpendiculairement au SEG2). Le mot-clé MULTIFIBRE permet d’associer des groupes de fibres (préalablement définis par l’opérateur DEFI_GEOM_FIBRE) à un élément poutre. GEOM_FIBRE permet de donner le nom du concept créé par DEFI_GEOM_FIBRE contenant la description de tous les groupes de fibres.

Attention :

Les informations contenues dans les groupes de fibres permettent de calculer certaines des caractéristiques intégrées des sections droites (aire, moments statiques et quadratiques). Pour les éléments POU_D_TGM et POU_D_EM, il est nécessaire de donner des valeurs cohérentes pour les opérandes \(A,\mathrm{IY},\mathrm{IZ}\) sous le mot clé POUTRE. Une vérification est réalisée sur la cohérence de ces grandeurs. Si l’erreur relative est trop importante (Cf. mots clés PREC_AIRE, PREC_INERTIE) une erreur fatale est émise.

Mot clé MULTIFIBRE#

◆ MULTIFIBRE
Définir les entités du maillage de poutres concernées et les sections qui leur sont affectées.

Opérandes GROUP_MA#

◆ GROUP_MA
Permet de définir les entités du maillage de poutres (éléments SEG2) qui sont concernées par l’occurrence du mot clé facteur :

Opérande GROUP_FIBRE#

♦ GROUP_FIBRE
Permet de définir les groupes de fibres (parmi tous ceux définis dans le concept géométrie des fibres donné par le mot clé GEOM_FIBRE) qui sont affectés aux éléments poutres de cette occurrence.

Mot clé GEOM_FIBRE#

♦ GEOM_FIBRE
Concept créé par DEFI_GEOM_FIBRE, contenant la description de l’ensemble des groupes de fibres de l’étude.

Opérandes PREC_AIRE/ PREC_INERTIE#

◇ PREC_AIRE = float (défaut: 0.01),
◇ PREC_INERTIE = float (défaut: 0.1),
L’utilisation des poutres multifibres (POU_D_EM ou POU_D_TGM) nécessite de fournir des informations supplémentaires, par rapport aux mots clés VALE et CARA, sous POUTRE.
L’objectif est de vérifier la cohérence des informations (AIRE et INERTIE) fournies d’une part par le mot clé POUTRE et d’autre part par le mot clef MULTIFIBRE. Le critère d’erreur est basé sur l’erreur relative et est comparé soit à la valeur par défaut soit à celle donnée par l’utilisateur via les mots clés PREC_AIRE et PREC_INERTIE. Si le critère n’est pas satisfait une erreur fatale est générée. L’erreur relative est calculée de la manière suivante:

\(\frac{ {AIRE}_{POUTRE} - ({AIRE}_{SECTION} + {AIRE}_{FIBRE}) } {{AIRE}_{POUTRE}} \le \text{PREC_AIRE}\)

\(\frac{ {INERTIE}_{POUTRE} - ({INERTIE}_{SECTION} + {INERTIE}_{FIBRE}) } {{INERTIE}_{POUTRE}} \le \text{PREC_INERTIE}\)

Remarques :
  • AIRE(fibre), AIRE(section), INERTIE(section), INERTIE(fibre) sont calculés à partir de la structure de données décrivant les fibres et définie sous le mot clef GEOM_FIBRE. Cette structure de données est créée par la commande DEFI_GEOM_FIBRE.

    • AIRE(fibre) est calculée en faisant la somme des aires des fibres, pour tous les groupes de fibres définis par le mot clé GROUP_FIBRE de l’opérande FIBRE de la commande DEFI_GEOM_FIBRE.

    • AIRE(section) est calculée en faisant la somme des aires des fibres définies par le mot clef GROUP_FIBRE de l’opérande SECTION de la commande DEFI_GEOM_FIBRE.

    • INERTIE(fibre) est calculée en faisant la somme des \(s.{d}^{2}\) des fibres définies dans l’ensemble des groupes de fibres définis par le mot clef GROUP_FIBRE de l’opérande FIBRE de la commande DEFI_GEOM_FIBRE.

      • s : représente la surface d’une fibre

      • d : est la distance entre la fibre et l’axe défini par le mot clé CARA_AXE_POUTRE de l’opérande FIBRE de la commande DEFI_GEOM_FIBRE.

    • INERTIE(section) est calculée en faisant la somme des \(s.{d}^{2}\) des éléments définis par le mot clef GROUP_FIBRE de l’opérande SECTION de la commande DEFI_GEOM_FIBRE.

      • s : représente la surface d’un élément

      • d : est la distance entre le centre de gravité de l’élément et l’axe défini par le mot clé CARA_AXE_POUTRE de l’opérande SECTION de la commande DEFI_GEOM_FIBRE.

  • Lorsque la section est définie par un maillage (mot clé MAILLAGE_SECT sous l’opérande SECTION de la commande DEFI_GEOM_FIBRE) le calcul de l’inertie globale de l’ensemble des éléments surfaciques ne tient pas compte de l’inertie propre à chacun des éléments. Il faut donc définir un nombre suffisant de fibres pour que cette erreur soit faible et reste inférieure à PREC_INERTIE. Par exemple une section rectangulaire découpée uniformément dans la hauteur en \(n\) éléments, conduit aux erreurs suivantes, sur les valeurs des inerties :

Découpage

2

3

4

5

6

Erreur Inertie

25.00%

11.11%

6.25%

4.00%

2.77%

Mot clé DISCRET et DISCRET_2D#

Caractéristiques affectables#

Ces mots clés permettent d’affecter directement à des entités (mailles ou nœuds), qui supportent des éléments de type DIS_T, DIS_TR(DISCRET) ou 2D_DIS_T, 2D_DIS_TR(DISCRET_2D), des matrices de rigidité , de masse ou d’ amortissement .

Sur toutes les entités on peut affecter des matrices correspondant aux degrés de liberté de translation \((T)\) seulement ou aux degrés de liberté de translation et rotation \((\mathrm{TR})\) . Les matrices peuvent être diagonales \((D)\) ou pleines (symétriques ou non symétriques).

Dans tous les cas (matrices symétriques, diagonales, complètes) la convention de numérotation des termes est imposée :

  • pour des matrices symétriques, on ne fournira que la triangulaire supérieure, avec une convention imposée pour la numérotation des termes (voir exemples).

  • pour des matrices diagonales, on ne fournira que les termes de la diagonale, avec une convention imposée pour la numérotation des termes (voir exemples).

  • pour des matrices non-symétrique, on fournira tous les termes, avec une convention imposée pour la numérotation des termes (voir exemples).

Les matrices peuvent être affectées:

  • à des nœuds ou à des mailles de types POI1; elles sont alors dites matrices nodales \((N)\) ,

  • à des mailles de type SEG2; elles sont alors dites matrices de liaison \((L)\) .

En cas d’affectation de matrices à des mailles ou à des nœuds, le type d’élément DISCRET doit être affecté, au préalable, à ces mailles ou à ces nœuds par l’opérateur AFFE_MODELE[U4.41.01].

Syntaxe#

DISCRET et DISCRET_2D = _F(

♦ GROUP_MA = lgma, [l_gr_maille]

◊ SYME = [’OUI’| ’NON’] [défaut]

# matrices de rigidité

♦ / CARA = | ’K_T_D_N’| ’K_TR_D_N’| ’K_T_D_L’|’K_TR_D_L’,

’K_T_N’| ’K_TR_N’| ’K_T_L’| ’K_TR_L’,

# matrices de masse

/ CARA = | ’M_T_D_N’| ’M_TR_D_N’,| ’M_T_D_L’,| ’M_TR_D_L’

’M_T_N’| ’M_TR_N’| ’M_T_L’| ’M_TR_L’,

# matrices d’ amortissement

/ CARA = | ’A_T_D_N’| ’A_TR_D_N’| ’A_T_D_L’|’A_TR_D_L’,

’A_T_N’| ’A_TR_N’| ’A_T_L’| ’A_TR_L’,

♦ / VALE = lva, [l_réel]

◊ REPERE = [’LOCAL’,’GLOBAL’] [défaut]

◊ AMOR_HYST = amnh (0.0), [réel (défaut)]

)

Opérandes#

Règles d’utilisation#

  • RIGIDITE ou AMORTISSEMENT et SYME = ’OUI’ (valeur par défaut)

CARA

CARA

ENTITE

DIS_* VALE

2D_DIS_* VALE

’K_T_D_N’

’A_T_D_N’

nœud ou POI1

3 termes

2 termes

’K_T_D_L’

’A_T_D_L’

sEG2

3 termes

2 termes

’K_TR_D_N’

’A_TR_D_N’

nœud ou POI1

6 termes

3 termes

’K_TR_D_L’

’A_TR_D_L’

sEG2

6 termes

3 termes

’K_T_N’

’A_T_N’

nœud ou POI1

6 termes

3 termes

’K_T_L’

’A_T_L’

sEG2

21 termes

10 termes

’K_TR_N’

’A_TR_N’

nœud ou POI1

21 termes

6 termes

’K_TR_L’

’A_TR_L’

sEG2

78 termes

21 termes

  • RIGIDITE ou AMORTISSEMENT et SYME = ’NON’

CARA

CARA

ENTITE

DIS_* VALE

2D_DIS_* VALE

’K_T_N’

’A_T_N’

nœud ou POI1

9 termes

4 termes

’K_T_L’

’A_T_L’

sEG2

36 termes

16 termes

’K_TR_N’

’A_TR_N’

nœud ou POI1

36 termes

9 termes

’K_TR_L’

’A_TR_L’

sEG2

144 termes

36 termes

  • MASSE et SYME = ’OUI’ (valeur par défaut)

CARA

ENTITE

DIS_* VALE

2D_DIS_* VALE

’M_T_D_N’

nœud ou POI1

1 (masse)

1 (masse)

’M_TR_D_N’

nœud ou POI1

10 (masse/inertie)

non disponible

’M_T_N’

nœud ou POI1

6 (masse/inertie)

3 (masse/inertie)

’M_T_L’

sEG2

21 (masse/inertie)

10 (masse/inertie)

’M_T_D_L’

sEG2

1 (masse/inertie)

1 (masse/inertie)

’M_TR_N’

nœud ou POI1

21 (masse/inertie)

6 (masse/inertie)

’M_TR_D_L’

sEG2

4 (masse/inertie)

4 (masse/inertie)

’M_TR_L’

sEG2

78 (masse/inertie)

21 (masse/inertie)

  • MASSE et SYME = ’NON’

CARA

ENTITE

DIS_* VALE

2D_DIS_* VALE

’M_T_N’

nœud ou POI1

9 (masse/inertie)

4 (masse/inertie)

’M_T_L’

SEG2

36 (masse/inertie)

16 (masse/inertie)

’M_TR_N’

nœud ou POI1

36 (masse/inertie)

9 (masse/inertie)

’M_TR_L’

SEG2

144 (masse/inertie)

36 (masse/inertie)

OpérandesVALE#

♦ / VALE = lva

On trouve dans VALE la liste des valeurs permettant de définir la matrice élémentaire de l’élément discret. La taille de cette liste dépend du type d’élément.

On utilise le mot clé VALE si on veut effecteur un calcul standard. Les arguments de ce mot clé sont des réels.

Opérandes K_(matrices de rigidité) ou A_(matrices d’amortissement)#

K_T_D_N / A_T_D_N et SYME = ’OUI’ (valeur par défaut)

pour une maille de type POI1 ou un nœud, on trouve en correspondance dans VALE 3 valeurs \({k}_{x}\) , \({k}_{y}\) , \({k}_{z}\) en DIS_T et 2 valeurs \({k}_{x}\) , \({k}_{y}\) en 2D_DIS_T telles que:

\(K\mathit{ou}A=\stackrel{\begin{array}{ccc}{U}_{x}& {U}_{y}& {U}_{z}\end{array}}{\left[\begin{array}{ccc}{k}_{x}& 0& 0\\ 0& {k}_{y}& 0\\ 0& 0& {k}_{z}\end{array}\right]}\) \(K\mathit{ou}A=\stackrel{\begin{array}{cc}{U}_{x}& {U}_{y}\end{array}}{\left[\begin{array}{cc}{k}_{x}& 0\\ 0& {k}_{y}\end{array}\right]}\)

K_T_D_L / A_T_D_L et SYME = ’OUI’ (valeur par défaut)

pour une maille de type SEG2, \(K\) étant la matrice précédemment définie:

\(\stackrel{\begin{array}{cc}\mathit{Noeud1}& \mathit{Noeud2}\end{array}}{\left[\begin{array}{cc}K& -K\\ -K& K\end{array}\right]}\)

il suffit donc de fournir les 3 valeurs \({k}_{x}\) , \({k}_{y}\) , \({k}_{z}\)

K_TR_D_N / A_TR_D_Net SYME = ’OUI’ (valeur par défaut)

pour une maille de type POI1 ou nœud, on trouve en correspondance dans VALE 6 valeurs \({k}_{x}\) , \({k}_{y}\) , \({k}_{z}\) , \({k}_{\mathrm{rx}}\) , \({k}_{\mathrm{ry}}\) , \({k}_{\mathrm{rz}}\) en DIS_TR ou 3 valeurs \({k}_{x}\) , \({k}_{y}\) , \({k}_{\mathrm{rz}}\) en 2D_DIS_TR telles que:

\(K\mathit{ou}A=\stackrel{\begin{array}{cccccc}{U}_{x}& {U}_{y}& {U}_{z}& {R}_{x}& {R}_{y}& {R}_{z}\end{array}}{\left[\begin{array}{cccccc}{k}_{x}& 0& 0& 0& 0& 0\\ 0& {k}_{y}& 0& 0& 0& 0\\ 0& 0& {k}_{z}& 0& 0& 0\\ 0& 0& 0& {k}_{\mathit{rx}}& 0& 0\\ 0& 0& 0& 0& {k}_{\mathit{ry}}& 0\\ 0& 0& 0& 0& 0& {k}_{\mathit{rz}}\end{array}\right]}\) \(K\mathit{ou}A=\stackrel{\begin{array}{ccc}{U}_{x}& {U}_{y}& {R}_{z}\end{array}}{\left[\begin{array}{ccc}{k}_{x}& 0& 0\\ 0& {k}_{y}& 0\\ 0& 0& {k}_{\mathit{rz}}\end{array}\right]}\)

K_TR_D_L / A_TR_D_L et SYME = ’OUI’ (valeur par défaut)

pour une maille de type SEG2, \(K\) étant la matrice précédemment définie:

\(\stackrel{\begin{array}{cc}\mathit{Noeud1}& \mathit{Noeud2}\end{array}}{\left[\begin{array}{cc}K& -K\\ -K& K\end{array}\right]}\)

il suffit de donner les 6 valeurs ci-dessus.

K_T_N / A_T_N et SYME = ’OUI’ (valeur par défaut)

pour une maille de type POI1 ou un nœud, on trouve en correspondance dans VALE 6 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{6}\) en DIS_T ou 3 valeurs \({k}_{1}\) , \({k}_{2}\) , \({k}_{3}\) en 2D_DIS_T telles que:

\(K\mathit{ou}A=\stackrel{\begin{array}{ccc}{U}_{x}& {U}_{y}& {U}_{z}\end{array}}{\left[\begin{array}{ccc}{k}_{1}& {k}_{2}& {k}_{4}\\ & {k}_{3}& {k}_{5}\\ & & {k}_{6}\end{array}\right]}\) \(K\mathit{ou}A=\stackrel{\begin{array}{cc}{U}_{x}& {U}_{y}\end{array}}{\left[\begin{array}{cc}{k}_{1}& {k}_{2}\\ & {k}_{3}\end{array}\right]}\)

K_T_N / A_T_N et SYME = ’NON’

pour une maille de type POI1 ou un nœud, on trouve en correspondance dans VALE 9 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{9}\) en DIS_T ou 4 valeurs \({k}_{1}\) , \({k}_{2}\) , … \({k}_{4}\) en 2D_DIS_T telles que:

\(K\mathrm{ou}A=\stackrel{\begin{array}{ccc}{U}_{x}& {U}_{y}& {U}_{z}\end{array}}{\left[\begin{array}{ccc}{k}_{1}& {k}_{4}& {k}_{7}\\ {k}_{2}& {k}_{5}& {k}_{8}\\ {k}_{3}& {k}_{6}& {k}_{9}\end{array}\right]}\) \(K\mathrm{ou}A=\stackrel{\begin{array}{cc}{U}_{x}& {U}_{y}\end{array}}{\left[\begin{array}{cc}{k}_{1}& {k}_{3}\\ {k}_{2}& {k}_{4}\end{array}\right]}\)

K_T_L / A_T_L et SYME = ’OUI’ (valeur par défaut)

pour une maille de type SEG2, on trouve en correspondance dans VALE 21 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{21}\) en DIS_T ou 10 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{10}\) en 2D_DIS_T et la matrice de rigidité suivante sera affectée:

\(K\mathrm{ou}A=\stackrel{\begin{array}{cccccc}{U}_{\mathrm{x1}}& {U}_{\mathrm{y1}}& {U}_{\mathrm{z1}}& {U}_{\mathrm{x2}}& {U}_{\mathrm{y2}}& {U}_{\mathrm{z2}}\end{array}}{\left[\begin{array}{cccccc}{k}_{1}& {k}_{2}& {k}_{4}& {k}_{7}& {k}_{11}& {k}_{16}\\ & {k}_{3}& {k}_{5}& {k}_{8}& {k}_{12}& {k}_{17}\\ & & {k}_{6}& {k}_{9}& {k}_{13}& {k}_{18}\\ & & & {k}_{10}& {k}_{14}& {k}_{19}\\ & & & & {k}_{15}& {k}_{20}\\ & & & & & {k}_{21}\end{array}\right]}\) \(K\mathrm{ou}A=\stackrel{\begin{array}{cccc}{U}_{\mathrm{x1}}& {U}_{\mathrm{y1}}& {U}_{\mathrm{x2}}& {U}_{\mathrm{y2}}\end{array}}{\left[\begin{array}{cccc}{k}_{1}& {k}_{2}& {k}_{4}& {k}_{7}\\ & {k}_{3}& {k}_{5}& {k}_{8}\\ & & {k}_{6}& {k}_{9}\\ & & & {k}_{10}\end{array}\right]}\)

K_T_L / A_T_L et SYME = ’NON’

pour une maille de type SEG2, on trouve en correspondance dans VALE 36 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{36}\) en DIS_T ou 16 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{16}\) en 2D_DIS_T et la matrice de rigidité suivante sera affectée:

\(K\mathrm{ou}A=\stackrel{\begin{array}{cccccc}{U}_{\mathrm{x1}}& {U}_{\mathrm{y1}}& {U}_{\mathrm{z1}}& {U}_{\mathrm{x2}}& {U}_{\mathrm{y2}}& {U}_{\mathrm{z2}}\end{array}}{\left[\begin{array}{cccccc}{k}_{1}& {k}_{2}& {k}_{4}& {k}_{7}& {k}_{11}& {k}_{16}\\ & {k}_{3}& {k}_{5}& {k}_{8}& {k}_{12}& {k}_{17}\\ & & {k}_{6}& {k}_{9}& {k}_{13}& {k}_{18}\\ & & & {k}_{10}& {k}_{14}& {k}_{19}\\ & & & & {k}_{15}& {k}_{20}\\ & & & & & {k}_{21}\end{array}\right]}\) \(K\mathrm{ou}A=\stackrel{\begin{array}{cccc}{U}_{\mathrm{x1}}& {U}_{\mathrm{y1}}& {U}_{\mathrm{x2}}& {U}_{\mathrm{y2}}\end{array}}{\left[\begin{array}{cccc}{k}_{1}& {k}_{5}& {k}_{9}& {k}_{13}\\ {k}_{2}& {k}_{6}& {k}_{10}& {k}_{14}\\ {k}_{3}& {k}_{7}& {k}_{11}& {k}_{15}\\ {k}_{4}& {k}_{8}& {k}_{12}& {k}_{16}\end{array}\right]}\)

K_TR_N / A_TR_N et SYME = ’OUI’ (valeur par défaut)

pour une maille de type POI1 ou un nœud, on trouve en correspondance dans VALE 21 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{21}\) en DIS_TR ou 6 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{6}\) en 2D_DIS_TR telles que:

\(K\mathrm{ou}A=\stackrel{\begin{array}{cccccc}{U}_{x}& {U}_{y}& {U}_{z}& {R}_{x}& {R}_{y}& {R}_{z}\end{array}}{\left[\begin{array}{cccccc}{k}_{1}& {k}_{2}& {k}_{4}& {k}_{7}& {k}_{11}& {k}_{16}\\ & {k}_{3}& {k}_{5}& {k}_{8}& {k}_{12}& {k}_{17}\\ & & {k}_{6}& {k}_{9}& {k}_{13}& {k}_{18}\\ & & & {k}_{10}& {k}_{14}& {k}_{19}\\ & & & & {k}_{15}& {k}_{20}\\ & & & & & {k}_{21}\end{array}\right]}\) \(K\mathrm{ou}A=\stackrel{\begin{array}{ccc}{U}_{x}& {U}_{y}& {R}_{z}\end{array}}{\left[\begin{array}{ccc}{k}_{1}& {k}_{2}& {k}_{4}\\ & {k}_{3}& {k}_{5}\\ & & {k}_{6}\end{array}\right]}\)

K_TR_N / A_TR_N et SYME = ’NON’

pour une maille de type POI1 ou un nœud, on trouve en correspondance dans VALE 36 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{36}\) en DIS_TR ou 9 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{9}\) en 2D_DIS_TR telles que:

\(K\mathrm{ou}A=\stackrel{\begin{array}{cccccc}{U}_{x}& {U}_{y}& {U}_{z}& {R}_{x}& {R}_{y}& {R}_{z}\end{array}}{\left[\begin{array}{cccccc}{k}_{1}& {k}_{7}& {k}_{13}& {k}_{19}& {k}_{25}& {k}_{31}\\ {k}_{2}& {k}_{8}& {k}_{14}& {k}_{20}& {k}_{26}& {k}_{32}\\ {k}_{3}& {k}_{9}& {k}_{15}& {k}_{21}& {k}_{27}& {k}_{33}\\ {k}_{4}& {k}_{10}& {k}_{16}& {k}_{22}& {k}_{28}& {k}_{34}\\ {k}_{5}& {k}_{11}& {k}_{17}& {k}_{23}& {k}_{29}& {k}_{35}\\ {k}_{6}& {k}_{12}& {k}_{18}& {k}_{24}& {k}_{30}& {k}_{36}\end{array}\right]}\) \(K\mathrm{ou}A=\stackrel{\begin{array}{ccc}{U}_{x}& {U}_{y}& {R}_{z}\end{array}}{\left[\begin{array}{ccc}{k}_{1}& {k}_{4}& {k}_{7}\\ {k}_{2}& {k}_{5}& {k}_{8}\\ {k}_{3}& {k}_{6}& {k}_{9}\end{array}\right]}\)

K_TR_L / A_TR_Let SYME = ’OUI’ (valeur par défaut)

pour une maille de type SEG2, on trouve en correspondance dans VALE 78 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{78}\) en DIS_TR.

\(K\mathit{ou}A=\stackrel{\begin{array}{cccccccccccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {U}_{\mathit{z1}}& {R}_{\mathit{x1}}& {R}_{\mathit{y1}}& {R}_{\mathit{z1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}& {U}_{\mathit{z2}}& {R}_{\mathit{x2}}& {R}_{\mathit{y2}}& {R}_{\mathit{z2}}\end{array}}{\left[\begin{array}{cccccccccccc}{k}_{1}& {k}_{2}& {k}_{4}& {k}_{7}& {k}_{11}& {k}_{16}& {k}_{22}& {k}_{29}& {k}_{37}& {k}_{46}& {k}_{56}& {k}_{67}\\ & {k}_{3}& {k}_{5}& {k}_{8}& {k}_{12}& {k}_{17}& {k}_{23}& {k}_{30}& {k}_{38}& {k}_{47}& {k}_{57}& {k}_{68}\\ & & {k}_{6}& {k}_{9}& {k}_{13}& {k}_{18}& {k}_{24}& {k}_{31}& {k}_{39}& {k}_{48}& {k}_{58}& {k}_{69}\\ & & & {k}_{10}& {k}_{14}& {k}_{19}& {k}_{25}& {k}_{32}& {k}_{40}& {k}_{49}& {k}_{59}& {k}_{70}\\ & & & & {k}_{15}& {k}_{20}& {k}_{26}& {k}_{33}& {k}_{41}& {k}_{50}& {k}_{60}& {k}_{71}\\ & & & & & {k}_{21}& {k}_{27}& {k}_{34}& {k}_{42}& {k}_{51}& {k}_{61}& {k}_{72}\\ & & & & & & {k}_{28}& {k}_{35}& {k}_{43}& {k}_{52}& {k}_{62}& {k}_{73}\\ & & & & & & & {k}_{36}& {k}_{44}& {k}_{53}& {k}_{63}& {k}_{74}\\ & & & & & & & & {k}_{45}& {k}_{54}& {k}_{64}& {k}_{75}\\ & & & & & & & & & {k}_{55}& {k}_{65}& {k}_{76}\\ & & & & & & & & & & {k}_{66}& {k}_{77}\\ & & & & & & & & & & & {k}_{78}\end{array}\right]}\)

ou 21 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{21}\) en 2D_DIS_TR telles que:

\(K\mathit{ou}A=\stackrel{\begin{array}{cccccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {R}_{\mathit{z1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}& {R}_{\mathit{z2}}\end{array}}{\left[\begin{array}{cccccc}{k}_{1}& {k}_{2}& {k}_{4}& {k}_{7}& {k}_{11}& {k}_{16}\\ & {k}_{3}& {k}_{5}& {k}_{8}& {k}_{12}& {k}_{17}\\ & & {k}_{6}& {k}_{9}& {k}_{13}& {k}_{18}\\ & & & {k}_{10}& {k}_{14}& {k}_{19}\\ & & & & {k}_{15}& {k}_{20}\\ & & & & & {k}_{21}\end{array}\right]}\)

K_TR_L / A_TR_Let SYME = ’NON’

pour une maille de type SEG2, on trouve en correspondance dans VALE 144 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{144}\) en DIS_TR.

\(K\mathit{ou}A=\stackrel{\begin{array}{cccccccccccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {U}_{\mathit{z1}}& {R}_{\mathit{x1}}& {R}_{\mathit{y1}}& {R}_{\mathit{z1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}& {U}_{\mathit{z2}}& {R}_{\mathit{x2}}& {R}_{\mathit{y2}}& {R}_{\mathit{z2}}\end{array}}{\left[\begin{array}{cccccccccccc}{k}_{1}& {k}_{13}& {k}_{25}& {k}_{37}& {k}_{49}& {k}_{61}& {k}_{73}& {k}_{85}& {k}_{97}& {k}_{109}& {k}_{121}& {k}_{133}\\ {k}_{2}& {k}_{14}& {k}_{26}& {k}_{38}& {k}_{50}& {k}_{62}& {k}_{74}& {k}_{86}& {k}_{98}& {k}_{110}& {k}_{122}& {k}_{134}\\ {k}_{3}& {k}_{15}& {k}_{27}& {k}_{39}& {k}_{51}& {k}_{63}& {k}_{75}& {k}_{87}& {k}_{99}& {k}_{111}& {k}_{123}& {k}_{135}\\ {k}_{4}& {k}_{16}& {k}_{28}& {k}_{40}& {k}_{52}& {k}_{64}& {k}_{76}& {k}_{88}& {k}_{100}& {k}_{112}& {k}_{124}& {k}_{136}\\ {k}_{5}& {k}_{17}& {k}_{29}& {k}_{41}& {k}_{53}& {k}_{65}& {k}_{77}& {k}_{89}& {k}_{101}& {k}_{113}& {k}_{125}& {k}_{137}\\ {k}_{6}& {k}_{18}& {k}_{30}& {k}_{42}& {k}_{54}& {k}_{66}& {k}_{78}& {k}_{90}& {k}_{102}& {k}_{114}& {k}_{126}& {k}_{138}\\ {k}_{7}& {k}_{19}& {k}_{31}& {k}_{43}& {k}_{55}& {k}_{67}& {k}_{79}& {k}_{91}& {k}_{103}& {k}_{115}& {k}_{127}& {k}_{139}\\ {k}_{8}& {k}_{20}& {k}_{32}& {k}_{44}& {k}_{56}& {k}_{68}& {k}_{80}& {k}_{92}& {k}_{104}& {k}_{116}& {k}_{128}& {k}_{140}\\ {k}_{9}& {k}_{21}& {k}_{33}& {k}_{45}& {k}_{57}& {k}_{69}& {k}_{81}& {k}_{93}& {k}_{105}& {k}_{117}& {k}_{129}& {k}_{141}\\ {k}_{10}& {k}_{22}& {k}_{34}& {k}_{46}& {k}_{58}& {k}_{70}& {k}_{82}& {k}_{94}& {k}_{106}& {k}_{118}& {k}_{130}& {k}_{142}\\ {k}_{11}& {k}_{23}& {k}_{35}& {k}_{47}& {k}_{59}& {k}_{71}& {k}_{83}& {k}_{95}& {k}_{107}& {k}_{119}& {k}_{131}& {k}_{143}\\ {k}_{12}& {k}_{24}& {k}_{36}& {k}_{48}& {k}_{60}& {k}_{72}& {k}_{84}& {k}_{96}& {k}_{108}& {k}_{120}& {k}_{132}& {k}_{144}\end{array}\right]}\)

ou 36 valeurs \({k}_{1}\) , \({k}_{2}\)\({k}_{36}\) en 2D_DIS_TR telles que:

\(K\mathit{ou}A=\stackrel{\begin{array}{cccccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {R}_{\mathit{z1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}& {R}_{\mathit{z2}}\end{array}}{\left[\begin{array}{cccccc}{k}_{1}& {k}_{7}& {k}_{13}& {k}_{19}& {k}_{25}& {k}_{31}\\ {k}_{2}& {k}_{8}& {k}_{14}& {k}_{20}& {k}_{26}& {k}_{32}\\ {k}_{3}& {k}_{9}& {k}_{15}& {k}_{21}& {k}_{27}& {k}_{33}\\ {k}_{4}& {k}_{10}& {k}_{16}& {k}_{22}& {k}_{28}& {k}_{34}\\ {k}_{5}& {k}_{11}& {k}_{17}& {k}_{23}& {k}_{29}& {k}_{35}\\ {k}_{6}& {k}_{12}& {k}_{18}& {k}_{24}& {k}_{30}& {k}_{36}\end{array}\right]}\)

Opérandes M_* Matrices de masse#

M_T_D_N et SYME = ’OUI’ (valeur par défaut)

pour une maille de type POI1 ou un nœud, on trouve en correspondance dans VALE 1 valeur \(m\) . La matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{ccc}{U}_{x}& {U}_{y}& {U}_{z}\end{array}}{\left[\begin{array}{ccc}m& 0& 0\\ 0& m& 0\\ 0& 0& m\end{array}\right]}\)

M_TR_D_Net SYME = ’OUI’ (valeur par défaut, non disponible en 2D_DIS_TR)

pour une maille de type POI1 ou un nœud, on trouve en correspondance dans VALE une valeur de masse \(m\) , 6 valeurs du tenseur d’inertie (massique): \({I}_{xx},{I}_{yy},{I}_{zz},{I}_{xy},{I}_{yz},{I}_{xz}\) et 3 composantes du vecteur d’excentrement de la masse par rapport à son nœud: \({e}_{x},{e}_{y},{e}_{z}\) . La matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{cccccc}{U}_{x}& {U}_{y}& {U}_{z}& {R}_{x}& {R}_{y}& {R}_{z}\end{array}}{\left[\begin{array}{cccccc}m& 0& 0& 0& {\mathit{m.e}}_{z}& -{\mathit{m.e}}_{y}\\ & m& 0& -{\mathit{m.e}}_{z}& 0& {\mathit{m.e}}_{x}\\ & & m& {\mathit{m.e}}_{y}& -{\mathit{m.e}}_{x}& 0\\ & & & {V}_{xx}& {V}_{xy}& {V}_{xz}\\ & & & & {V}_{yy}& {V}_{yz}\\ & & & & & {v}_{zz}\end{array}\right]}\) \(\begin{array}{c}{V}_{xx}={I}_{xx}+m({e}_{y}^{2}+{e}_{z}^{2})\\ {V}_{yy}={I}_{yy}+m({e}_{x}^{2}+{e}_{z}^{2})\\ {V}_{zz}={I}_{zz}+m({e}_{x}^{2}+{e}_{y}^{2})\\ {V}_{xy}={I}_{xy}-m{e}_{x}{e}_{y}\\ {V}_{yz}={I}_{yz}-m{e}_{y}{e}_{z}\\ {V}_{xz}={I}_{xz}-m{e}_{x}{e}_{z}\\ \end{array}\)

../../../../_images/masse-excentree.png

Fig. 87  : Excentrement de la masse.#

Attention:

L’excentrement doit être exprimée dans le repère global: coordonnées du vecteur \(\mathrm{NG}\) (excentrement) dirigé du nœud vers la masse.

M_T_N et SYME = ’OUI’ (valeur par défaut)

pour une maille de type POI1 ou nœud, on trouve en correspondance dans VALE 6 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{6}\) en DIS_T ou 3 valeurs \({M}_{1}\) , \({M}_{2}\) , \({M}_{3}\) en 2D_DIS_T et la matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{ccc}{U}_{x}& {U}_{y}& {U}_{z}\end{array}}{\left[\begin{array}{ccc}{M}_{1}& {M}_{2}& {M}_{4}\\ & {M}_{3}& {M}_{5}\\ & & {M}_{6}\end{array}\right]}\) \(M=\stackrel{\begin{array}{cc}{U}_{x}& {U}_{y}\end{array}}{\left[\begin{array}{cc}{M}_{1}& {M}_{2}\\ & {M}_{3}\end{array}\right]}\)

Voir par exemple le test SDLD27[V2.01.027].

M_T_N et SYME = ’NON’

pour une maille de type POI1 ou nœud, on trouve en correspondance dans VALE 9 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{9}\) en DIS_T ou 4 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{4}\) en 2D_DIS_T et la matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{ccc}{U}_{x}& {U}_{y}& {U}_{z}\end{array}}{\left[\begin{array}{ccc}{M}_{1}& {M}_{4}& {M}_{7}\\ {M}_{2}& {M}_{5}& {M}_{8}\\ {M}_{3}& {M}_{6}& {M}_{9}\end{array}\right]}\) \(M=\stackrel{\begin{array}{cc}{U}_{x}& {U}_{y}\end{array}}{\left[\begin{array}{cc}{M}_{1}& {M}_{3}\\ {M}_{2}& {M}_{4}\end{array}\right]}\)

M_TR_N et SYME = ’OUI’ (valeur par défaut)

pour une maille de type POI1 ou nœud, on trouve en correspondance dans VALE 21 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{21}\) en DIS_TR ou 6 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{6}\) en 2D_DIS_TR et la matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{cccccc}{U}_{x}& {U}_{y}& {U}_{z}& {R}_{x}& {R}_{y}& {R}_{z}\end{array}}{\left[\begin{array}{cccccc}{M}_{1}& {M}_{2}& {M}_{4}& {M}_{7}& {M}_{11}& {M}_{16}\\ & {M}_{3}& {M}_{5}& {M}_{8}& {M}_{12}& {M}_{17}\\ & & {M}_{6}& {M}_{9}& {M}_{13}& {M}_{18}\\ & & & {M}_{10}& {M}_{14}& {M}_{19}\\ & & & & {M}_{15}& {M}_{20}\\ & & & & & {M}_{21}\end{array}\right]}\) \(M=\stackrel{\begin{array}{ccc}{U}_{x}& {U}_{y}& {R}_{z}\end{array}}{\left[\begin{array}{ccc}{M}_{1}& {M}_{2}& {M}_{4}\\ & {M}_{3}& {M}_{5}\\ & & {M}_{6}\end{array}\right]}\)

M_TR_N et SYME = ’NON’

pour une maille de type POI1 ou nœud, on trouve en correspondance dans VALE 36 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{36}\) en DIS_TR ou 9 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{9}\) en 2D_DIS_TR et la matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{cccccc}{U}_{x}& {U}_{y}& {U}_{z}& {R}_{x}& {R}_{y}& {R}_{z}\end{array}}{\left[\begin{array}{cccccc}{M}_{1}& {M}_{7}& {M}_{13}& {M}_{19}& {M}_{25}& {M}_{31}\\ {M}_{2}& {M}_{8}& {M}_{14}& {M}_{20}& {M}_{26}& {M}_{32}\\ {M}_{3}& {M}_{9}& {M}_{15}& {M}_{21}& {M}_{27}& {M}_{33}\\ {M}_{4}& {M}_{10}& {M}_{16}& {M}_{22}& {M}_{28}& {M}_{34}\\ {M}_{5}& {M}_{11}& {M}_{17}& {M}_{23}& {M}_{29}& {M}_{35}\\ {M}_{6}& {M}_{12}& {M}_{18}& {M}_{24}& {M}_{30}& {M}_{36}\end{array}\right]}\) \(M=\stackrel{\begin{array}{ccc}{U}_{x}& {U}_{y}& {R}_{z}\end{array}}{\left[\begin{array}{ccc}{M}_{1}& {M}_{4}& {M}_{7}\\ {M}_{2}& {M}_{5}& {M}_{8}\\ {M}_{3}& {M}_{6}& {M}_{9}\end{array}\right]}\)

M_T_L et SYME = ’OUI’ (valeur par défaut)

pour une maille de type SEG2, on trouve en correspondance dans VALE 21 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{21}\) en DIS_T ou 10 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{10}\) en 2D_DIS_T et la matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{cccccc}{U}_{\mathrm{x1}}& {U}_{\mathrm{y1}}& {U}_{\mathrm{z1}}& {U}_{\mathrm{x2}}& {U}_{\mathrm{y2}}& {U}_{\mathrm{z2}}\end{array}}{\left[\begin{array}{cccccc}{M}_{1}& {M}_{2}& {M}_{4}& {M}_{7}& {M}_{11}& {M}_{16}\\ & {M}_{3}& {M}_{5}& {M}_{8}& {M}_{12}& {M}_{17}\\ & & {M}_{6}& {M}_{9}& {M}_{13}& {M}_{18}\\ & & & {M}_{10}& {M}_{14}& {M}_{19}\\ & & & & {M}_{15}& {M}_{20}\\ & & & & & {M}_{21}\end{array}\right]}\) \(M=\stackrel{\begin{array}{cccc}{U}_{\mathrm{x1}}& {U}_{\mathrm{y1}}& {U}_{\mathrm{x2}}& {U}_{\mathrm{y2}}\end{array}}{\left[\begin{array}{cccc}{M}_{1}& {M}_{2}& {M}_{4}& {M}_{7}\\ & {M}_{3}& {M}_{5}& {M}_{8}\\ & & {M}_{6}& {M}_{9}\\ & & & {M}_{10}\end{array}\right]}\)

M_T_D_L et SYME = ’OUI’ (valeur par défaut)

pour une maille de type SEG2, on trouve en correspondance dans VALE 1 valeur, en DIS_T et en 2_DIS_T, la matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{cc}\mathrm{Noeud1}& \mathrm{Noeud2}\end{array}}{\left[\begin{array}{cc}M& \\ & M\end{array}\right]}\) la matrice \(M\) a la même définition que celle donné pour les M_T_D_N.

M_T_L et SYME = ’NON’

pour une maille de type SEG2, on trouve en correspondance dans VALE 36 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{36}\) en DIS_T ou 16 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{16}\) en 2D_DIS_T et la matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{cccccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {U}_{\mathit{z1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}& {U}_{\mathit{z2}}\end{array}}{\left[\begin{array}{cccccc}{M}_{1}& {M}_{7}& {M}_{13}& {M}_{19}& {M}_{25}& {M}_{31}\\ {M}_{2}& {M}_{8}& {M}_{14}& {M}_{20}& {M}_{26}& {M}_{32}\\ {M}_{3}& {M}_{9}& {M}_{15}& {M}_{21}& {M}_{27}& {M}_{33}\\ {M}_{4}& {M}_{10}& {M}_{16}& {M}_{22}& {M}_{28}& {M}_{34}\\ {M}_{5}& {M}_{11}& {M}_{17}& {M}_{23}& {M}_{29}& {M}_{35}\\ {M}_{6}& {M}_{12}& {M}_{18}& {M}_{24}& {M}_{30}& {M}_{36}\end{array}\right]}\) \(M=\stackrel{\begin{array}{cccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}\end{array}}{\left[\begin{array}{cccc}{M}_{1}& {M}_{5}& {M}_{9}& {M}_{13}\\ {M}_{2}& {M}_{6}& {M}_{10}& {M}_{14}\\ {M}_{3}& {M}_{7}& {M}_{11}& {M}_{15}\\ {M}_{4}& {M}_{8}& {M}_{12}& {M}_{16}\end{array}\right]}\)

M_TR_L et SYME = ’OUI’ (valeur par défaut)

pour une maille de type SEG2, on trouve en correspondance dans VALE 78 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{78}\) en DIS_TR et la matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{cccccccccccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {U}_{\mathit{z1}}& {R}_{\mathit{x1}}& {R}_{\mathit{y1}}& {R}_{\mathit{z1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}& {U}_{\mathit{z2}}& {R}_{\mathit{x2}}& {R}_{\mathit{y2}}& {R}_{\mathit{z2}}\end{array}}{\left[\begin{array}{cccccccccccc}{M}_{1}& {M}_{2}& {M}_{4}& {M}_{7}& {M}_{11}& {M}_{16}& {M}_{22}& {M}_{29}& {M}_{37}& {M}_{46}& {M}_{56}& {M}_{67}\\ & {M}_{3}& {M}_{5}& {M}_{8}& {M}_{12}& {M}_{17}& {M}_{23}& {M}_{30}& {M}_{38}& {M}_{47}& {M}_{57}& {M}_{68}\\ & & {M}_{6}& {M}_{9}& {M}_{13}& {M}_{18}& {M}_{24}& {M}_{31}& {M}_{39}& {M}_{48}& {M}_{58}& {M}_{69}\\ & & & {M}_{10}& {M}_{14}& {M}_{19}& {M}_{25}& {M}_{32}& {M}_{40}& {M}_{49}& {M}_{59}& {M}_{70}\\ & & & & {M}_{15}& {M}_{20}& {M}_{26}& {M}_{33}& {M}_{41}& {M}_{50}& {M}_{60}& {M}_{71}\\ & & & & & {M}_{21}& {M}_{27}& {M}_{34}& {M}_{42}& {M}_{51}& {M}_{61}& {M}_{72}\\ & & & & & & {M}_{28}& {M}_{35}& {M}_{43}& {M}_{52}& {M}_{62}& {M}_{73}\\ & & & & & & & {M}_{36}& {M}_{44}& {M}_{53}& {M}_{63}& {M}_{74}\\ & & & & & & & & {M}_{45}& {M}_{54}& {M}_{64}& {M}_{75}\\ & & & & & & & & & {M}_{55}& {M}_{65}& {M}_{76}\\ & & & & & & & & & & {M}_{66}& {M}_{77}\\ & & & & & & & & & & & {M}_{78}\end{array}\right]}\)

ou 21 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{21}\) en 2D_DIS_TR

\(M=\stackrel{\begin{array}{cccccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {R}_{\mathit{z1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}& {R}_{\mathit{z2}}\end{array}}{\left[\begin{array}{cccccc}{M}_{1}& {M}_{2}& {M}_{4}& {M}_{7}& {M}_{11}& {M}_{16}\\ & {M}_{3}& {M}_{5}& {M}_{8}& {M}_{12}& {M}_{17}\\ & & {M}_{6}& {M}_{9}& {M}_{13}& {M}_{18}\\ & & & {M}_{10}& {M}_{14}& {M}_{19}\\ & & & & {M}_{15}& {M}_{20}\\ & & & & & {M}_{21}\end{array}\right]}\)

M_TR_D_Let SYME = ’OUI’ (valeur par défaut)

pour une maille de type SEG2, on trouve en correspondance dans VALE 4 valeurs \(\mathit{M1}\) , \(\mathit{M2}\) , … \(\mathit{M4}\) en DIS_TR et la matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{cccccccccccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {U}_{\mathit{z1}}& {R}_{\mathit{x1}}& {R}_{\mathit{y1}}& {R}_{\mathit{z1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}& {U}_{\mathit{z2}}& {R}_{\mathit{x2}}& {R}_{\mathit{y2}}& {R}_{\mathit{z2}}\end{array}}{\left[\begin{array}{cccccccccccc}{M}_{1}& & & & & & & & & & & \\ & {M}_{1}& & & & & & & & & & \\ & & {M}_{1}& & & & & & & & & \\ & & & {M}_{2}& & & & & & & & \\ & & & & {M}_{3}& & & & & & & \\ & & & & & {M}_{4}& & & & & & \\ & & & & & & {M}_{1}& & & & & \\ & & & & & & & {M}_{1}& & & & \\ & & & & & & & & {M}_{1}& & & \\ & & & & & & & & & {M}_{2}& & \\ & & & & & & & & & & {M}_{3}& \\ & & & & & & & & & & & {M}_{4}\end{array}\right]}\)

ou 2 valeurs \(\mathit{M1}\) , \(\mathit{M2}\) en 2D_DIS_TR

\(M=\stackrel{\begin{array}{cccccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {R}_{\mathit{z1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}& {R}_{\mathit{z2}}\end{array}}{\left[\begin{array}{cccccc}{M}_{1}& & & & & \\ & {M}_{1}& & & & \\ & & {M}_{2}& & & \\ & & & {M}_{1}& & \\ & & & & {M}_{1}& \\ & & & & & {M}_{2}\end{array}\right]}\)

M_TR_L et SYME = ’NON’

pour une maille de type SEG2, on trouve en correspondance dans VALE 144 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{144}\) en DIS_TR et la matrice de masse suivante sera affectée:

\(M=\stackrel{\begin{array}{cccccccccccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {U}_{\mathit{z1}}& {R}_{\mathit{x1}}& {R}_{\mathit{y1}}& {R}_{\mathit{z1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}& {U}_{\mathit{z2}}& {R}_{\mathit{x2}}& {R}_{\mathit{y2}}& {R}_{\mathit{z2}}\end{array}}{\left[\begin{array}{cccccccccccc}{M}_{1}& {M}_{13}& {M}_{25}& {M}_{37}& {M}_{49}& {M}_{61}& {M}_{73}& {M}_{85}& {M}_{97}& {M}_{109}& {M}_{121}& {M}_{133}\\ {M}_{2}& {M}_{14}& {M}_{26}& {M}_{38}& {M}_{50}& {M}_{62}& {M}_{74}& {M}_{86}& {M}_{98}& {M}_{110}& {M}_{122}& {M}_{134}\\ {M}_{3}& {M}_{15}& {M}_{27}& {M}_{39}& {M}_{51}& {M}_{63}& {M}_{75}& {M}_{87}& {M}_{99}& {M}_{111}& {M}_{123}& {M}_{135}\\ {M}_{4}& {M}_{16}& {M}_{28}& {M}_{40}& {M}_{52}& {M}_{64}& {M}_{76}& {M}_{88}& {M}_{100}& {M}_{112}& {M}_{124}& {M}_{136}\\ {M}_{5}& {M}_{17}& {M}_{29}& {M}_{41}& {M}_{53}& {M}_{65}& {M}_{77}& {M}_{89}& {M}_{101}& {M}_{113}& {M}_{125}& {M}_{137}\\ {M}_{6}& {M}_{18}& {M}_{30}& {M}_{42}& {M}_{54}& {M}_{66}& {M}_{78}& {M}_{90}& {M}_{102}& {M}_{114}& {M}_{126}& {M}_{138}\\ {M}_{7}& {M}_{19}& {M}_{31}& {M}_{43}& {M}_{55}& {M}_{67}& {M}_{79}& {M}_{91}& {M}_{103}& {M}_{115}& {M}_{127}& {M}_{139}\\ {M}_{8}& {M}_{20}& {M}_{32}& {M}_{44}& {M}_{56}& {M}_{68}& {M}_{80}& {M}_{92}& {M}_{104}& {M}_{116}& {M}_{128}& {M}_{140}\\ {M}_{9}& {M}_{21}& {M}_{33}& {M}_{45}& {M}_{57}& {M}_{69}& {M}_{81}& {M}_{93}& {M}_{105}& {M}_{117}& {M}_{129}& {M}_{141}\\ {M}_{10}& {M}_{22}& {M}_{34}& {M}_{46}& {M}_{58}& {M}_{70}& {M}_{82}& {M}_{94}& {M}_{106}& {M}_{118}& {M}_{130}& {M}_{142}\\ {M}_{11}& {M}_{23}& {M}_{35}& {M}_{47}& {M}_{59}& {M}_{71}& {M}_{83}& {M}_{95}& {M}_{107}& {M}_{119}& {M}_{131}& {M}_{143}\\ {M}_{12}& {M}_{24}& {M}_{36}& {M}_{48}& {M}_{60}& {M}_{72}& {M}_{84}& {M}_{96}& {M}_{108}& {M}_{120}& {M}_{132}& {M}_{144}\end{array}\right]}\)

ou 36 valeurs \({M}_{1}\) , \({M}_{2}\) , … \({M}_{36}\) en 2D_DIS_TR

\(M=\stackrel{\begin{array}{cccccc}{U}_{\mathit{x1}}& {U}_{\mathit{y1}}& {R}_{\mathit{z1}}& {U}_{\mathit{x2}}& {U}_{\mathit{y2}}& {R}_{\mathit{z2}}\end{array}}{\left[\begin{array}{cccccc}{M}_{1}& {M}_{7}& {M}_{13}& {M}_{19}& {M}_{25}& {M}_{31}\\ {M}_{2}& {M}_{8}& {M}_{14}& {M}_{20}& {M}_{26}& {M}_{32}\\ {M}_{3}& {M}_{9}& {M}_{15}& {M}_{21}& {M}_{27}& {M}_{33}\\ {M}_{4}& {M}_{10}& {M}_{16}& {M}_{22}& {M}_{28}& {M}_{34}\\ {M}_{5}& {M}_{11}& {M}_{17}& {M}_{23}& {M}_{29}& {M}_{35}\\ {M}_{6}& {M}_{12}& {M}_{18}& {M}_{24}& {M}_{30}& {M}_{36}\end{array}\right]}\)

Remarque:

Les options M_T_L , M_TR_L, M_T_D_L, M_TR_D_L ne correspondent pas en général à une option de modélisation ayant une signification mécanique. Elles sont disponibles pour importer dans Code_Aster des matrices de masses discrétisées sur une maille de type SEG2 déterminées par un autre logiciel. En effet, on affecte habituellement des valeurs de masse et d’inertie ponctuelles (maille POI1 ) par M_T_D_N ou M_TR_D_N.

Opérande AMOR_HYST#

◊ AMOR_HYST = amorh

Permet d’affecter à un élément discret un coefficient pour construire une matrice de rigidité complexe (modélisation de l’amortissement hystérétique) la matrice construite est:

\((1+{\mathrm{j.amor}}_{h}).K\)

\(K\) est la matrice K_* dont les valeurs sont fournies dans la même occurrence du mot clé DISCRET. La matrice de rigidité complexe sera effectivement construite lors d’un appel à CALC_MATR_ELEM[U4.61.01] avec l’option AMOR_HYST (voir test SDLD313) et [R5.05.04].

Opérande REPERE#

◊ REPERE = / ’LOCAL’,

/ ’GLOBAL’,

Par défaut les valeurs des matrices fournies pour les éléments discrets sont utilisées pour exprimer les quantités correspondantes dans le REPERE=’GLOBAL’.

Si on souhaite définir un repère particulier en un nœud (ou maille de type POI1) on précisera REPERE=’LOCAL’ en définissant ce repère par le mot clé ORIENTATION [§ 10 ].

Pour une matrice définie sur une maille de type SEG2 l’opérande REPERE=’LOCAL’ permet de faire référence au repère local attaché à la maille (nœud initial, nœud final) complété si nécessaire d’un angle de vrille défini par le mot clé ORIENTATION [§ 10 ].

Mot clé MASSIF#

Caractéristiques affectables#

Permet d’affecter à des éléments 3D ou 2D des axes locaux (qui peuvent être par exemple utilisés pour définir des directions d’orthotropie (cf. DEFI_MATERIAU[U4.43.01], DEFI_COMPOR[U4.43.06].

En 3D, ces axes locaux peuvent être définis par les mots clés :
  • ANGL_REP (3 angles nautiques)

  • ORIG_AXE et ANGL_AXE (origine et axe du repère cylindrique)

  • ANGL_EULER (3 angles)

En 2D, ces axes locaux peuvent être définis par :
  • ANGL_REP (1 seul angle nautique)

  • ORIG_AXE (origine du repère cylindrique)

On précise que : - ANGL_REP ou ANGL_EULER sert pour un matériau orthotrope ou isotrope transverse à axes fixes. - ORIG_AXE et ANGL_AXE servent pour un matériau orthotropeou isotrope transverse dont les axes suivent un repère cylindrique et uniquement dans ce cas. - CHAM_ORIE permet de donné un champ (une carte en fait) d’axes variabes par éléments précalculés à l’avance.

Syntaxe#

MASSIF = _F(

♦ / GROUP_MA = lgma, [l_gr_maille]

/ TOUT = ‘OUI’, [uniquement si mot-clé CHAM_ORIE]

♦ / ANGL_REP = (\(\alpha\) , \(\beta\) , \(\gamma\) ), [l_réel]

/ ANGL_EULER = (\(\Psi\) , \(\theta\) , \(\phi\) ), [l_réel]

/ ORIG_AXE = (x1, x2, x3), [l_réel]

◊ ANGL_AXE = (\(\alpha\) , \(\beta\) ), [l_réel]

/ CHAM_ORIE , [sd_cara_elem.carmassi]

)

Opérande ANGL_REP#

\(\alpha\) , \(\beta\) , \(\gamma\) sont les 3 angles nautiques (comme pour le mot clé ORIENTATION, cf [§ 10 ]) définissant les axes locaux \((x,y,z)\) , qui correspondent au repère d’orthotropie \((N,L,T)\) . En 2D, il faut donner seulement \(\alpha ` ce qui définit le repère :math:`(\text{LT})\) dans le plan.

Opérande ANGL_EULER#

Définition des 3 angles d’Euler qui permettent d’orienter le repère local à l’élément. Le passage du référentiel fixe \(OXYZ\) au référentiel lié au solide \(\textcolor[rgb]{0,0,1}{O{x}_{3}{y}_{3}{z}_{3}}\) est fait par trois rotations successives:

La précession \(\textcolor[rgb]{1,0,0}{\Psi}\), autour de l’axe \(OZ\), fait passer de \(OXYZ\) au référentiel \(\textcolor[rgb]{1,0,0}{O{x}_{1}{y}_{1}{z}_{1}}\).

La nutation \(\textcolor[rgb]{0,.5,0}{\theta}\), autour de l’axe \(\textcolor[rgb]{1,0,0}{O{x}_{1}}\), fait passer de \(\textcolor[rgb]{1,0,0}{O{x}_{1}{y}_{1}{z}_{1}}\) à \(\textcolor[rgb]{0,.5,0}{O{x}_{2}{y}_{2}{z}_{2}}\).

La rotation propre \(\textcolor[rgb]{0,0,1}{\phi}\), autour de l’axe \(\textcolor[rgb]{0,.5,0}{O{z}_{2}}\), fait passer de \(\textcolor[rgb]{0,.5,0}{O{x}_{2}{y}_{2}{z}_{2}}\) au référentiel lié au solide \(\textcolor[rgb]{0,0,1}{O{x}_{3}{y}_{3}{z}_{3}}\).

En 2D, il faut donner seulement un angle de rotation.

../../../../_images/angle-euler.png

Fig. 88  : Angles d’Euler#

C’est opérande n’est pas disponible en 2D.

Opérandes ORIG_AXE/ANGL_AXE#

Ces mots clés sont à donner pour définir des axes locaux pour lesquels on utilisera une propriété de symétrie de révolution, ou d’isotropie transverse (par exemple: structure à symétrie cylindrique orthotrope).

En 3D,

ANGL_AXE = (\(\alpha\) , \(\beta\) ) définit l’axe de révolution \(\mathrm{x1}\) , \((\alpha ,\beta )\) étant les deux premiers angles nautiques,

ORIG_AXE = (x1 , x2 , x3) définit un point \(\mathrm{O1}\) de l’axe.

En 2D, l’axe de révolution est obligatoirement orienté selon Z. On renseigne donc uniquement le point du plan XY par lequel passe l’axe de révolution. ORIG_AXE = (x1 , x2).

../../../../_images/massif-axe.png

Fig. 89  : Définition de l’axe pour le MASSIF.#

Opérande CHAM_ORIE#

Le mot-clé CHAM_ORIE permet de définir les orientations à partir d’un champ d’orientation dont le support est le maillage. En entrée de ce mot-clé, on attend un champ (une carte) de la quantité CAMA_Rqui possède 7 composantes: un scalaire (sans importance pour l’utilisateur), les 3 angles nautiques et les 3 angles d’Euler.

A noter que ce mot-clé a été introduit pour exploiter des champs d’orientation générés automatiquement à partir de la topologie du maillage par un utilitaire appelé «Local Frames Generator» disponible dans la plateforme Salome (à partir de la version 9.11). Cet utilitaire produit un fichier MED contenant le maillage et le champ d’orientation à 7 composantes. L’objet attendu en entrée du mot-clé CHAM_ORIE est donc ce champ d’orientation lu à partir du fichier MED avec un LIRE_CHAMP / TYPE_CHAM = CART_CAMA_R. Un exemple d’utilisation est donné dans le cas test SSLV002.

On notera que si on fait appel au mot-clé CHAM_ORIE, alors on ne peut avoir qu’une seule occurrence du mot-clé AFFE_CARA_ELEM/MASSIF, et on doit avoir l’opérande TOUT=’OUI’. Le champ d’orientation doit avoir pour support le maillage complet.

Exemple d’utilisation#

On cherche à modéliser un cylindre constitué d’un matériau élastique transverse isotrope de type ELAS_ISTR, de telle sorte que l’axe d’orthotropie du matériau soit dans la direction du cylindre. Les caractéristiques d’un tel matériau sont à définir dans les repères locaux des éléments, avec la convention que l’axe d’orthotropie doit être porté par \(N\) (cf. DEFI_MATERIAU[U4.43.01] [§3.5]).

On peut imaginer deuxcas de figure:

  • l’axe du cylindre a été défini selon \(Z\) dans le repère global. Dans ce cas, sans effectuerde rotation des repères locaux, on a par défaut \((X,Y,Z)=(L,T,N)\) et \(N\) // \(Z\) comme on le souhaite.

  • l’axe du cylindre a été défini selon \(Y\) dans le repère global. Ilest alors nécessaire d’effectuer une rotation des repères locaux pour amener \(N\) selon \(Y\) comme on le souhaite. On utilise AFFE_CARA_ELEM(MASSIF=_F(ANGLE_REP=(0.,0.,-90.),),) ce qui produit la transformation \((L,T,N)=(X,-Z,Y)\) , et on a alors bien \(N\) // \(Y\) .

En deux dimensions, on utilisera ELAS_ORTH car ELAS_ISTR est interdit. Si l’axe d’anisotropie n’est pas parallèle à \(X\) ou \(Y\) , on fera pivoter le repère local comme dans l’exemple 3D à l’aide du mot-clé ANGLE_REP(qui cette fois ne contient qu’un seul angle) de façon à amener \(L\) ou \(T\) dans la direction désirée.

Mot clé POUTRE_FLUI#

Syntaxe#

POUTRE_FLUI = _F(

♦ GROUP_MA = lgma, [l_gr_maille]

♦ B_T = bt, [réel]

♦ B_N = bn, [réel]

♦ B_TN = btn, [réel]

♦ A_FLUI = aflui, [réel]

♦ A_CELL = acell, [réel]

♦ COEF_ECHELLE = ech, [réel]

)

Caractéristiques affectables#

Ce mot clé facteur permet de définir les caractéristiques des éléments finis (hexaèdre à 8 ou 20 nœuds) associés à la modélisation ’3D_FAISCEAU’, cf. la commande AFFE_MODELE[U4.41.01]. Cette modélisation concerne la représentation d’un réseau périodique de tubes baigné par un fluide incompressible [R4.07.05]. Un exemple est donné dans le test SDLV111[V2.04.111].

Opérande GROUP_MA#

Lieu d’affectation des caractéristiques élémentaires:

  • liste de groupes de mailles (mot clé GROUP_MA).

Opérandes A_FLUI/ A_CELL/ COEF_ECHELLE#

La cellule périodique du milieu à homogénéiser est bidimensionnelle.

La cellule périodique de base qui sert à calculer les coefficients homogénéisés est obtenue par homothétie à partir de la cellule périodique réelle du milieu

../../../../_images/poutre-fluide.png

Fig. 90  : Poutre fluide.#

♦ A_FLUI: Aire de la partie occupée par le fluide dans la cellule périodique de base

♦ A_CELL: Aire de la cellule périodique de base

♦ COEF_ECHELLE: Coefficient d’homothétie permettant de transformer la cellule périodique réelle en la cellule périodique de base

OpérandesB_T/ B_N/ B_TN#

Coefficients homogénéisés du problème fluide-structure calculés dans le repère \((T,N)\) [R4.07.05].

L’orientation de ce repère est fixée par le mot clé facteur ORIENTATION. La direction \(L\) est forcément parallèle à l’axe du faisceau de tubes.

Mot clé GRILLE#

Syntaxe#

GRILLE = _F(
    ♦ GROUP_MA = lgma,    [l_gr_maille]
    ♦ / SECTION = S1,    [réel]
      / SECTION_FO = S1fct    [fonction]
    ♦ / ANGL_REP_1= (:math:`\alpha ` , :math:`\beta ` )    [l_réel]
      / ANGL_REP_2= (:math:`\alpha` , :math:`\beta` )    [l_réel]
      / VECT_1= (vx, vy, vz)    [l_réel]
      / VECT_2= (vx, vy, vz)    [l_réel]
    ◊ / EXCENTREMENT = ez,    [réel]
      / EXCENTREMENT_FO = ezfct    [fonction]
    ◊ / REPERE = / "CYLINDRIQUE",
      / "GLOBAL" (par défaut),
# Si: (equal_to("REPERE", "CYLINDRIQUE"))
    ♦ / ORIGINE = l_origine, [l_réel]
    ♦ / AXE_Z = l_axe,      [l_réel]

    ◊ COEF_RIGI_DRZ = kz (1.E-10),    [réel (défaut)]
)

Caractéristiques affectables#

../../../../_images/grille-schema.png

Fig. 91  : Remplacement des armatures par une nappe équivalente.#

Permet de définir des caractéristiques d’une nappe caractérisée par une rigidité dans une seule direction, utilisée notamment pour modéliser des nappes d’armatures dans les coques en béton armé, (voir par exemple le test SSNS100[V6.05.100]), affecté aux modélisations GRILLE_EXCENTRE ou GRILLE_MEMBRANE.

Pour décrire un «treillis» d’armatures, il suffit de superposer deux éléments grille_excentre ou grille_membrane dont les orientations (et donc les rigidités) sont orthogonales (voir exemple au paragraphe suivant).

Description des opérandes#

Les données géométriques suivantes sont nécessaires pour modéliser la nappe d’armatures:

♦ / SECTION = \({S}_{1}\)

/ SECTION_F0 = \(\mathit{S1fct}\)

SECTION: section des armatures dans la direction 1, par unité de longueur. Elle correspond donc à la section cumulée sur une largeur unité. S’il y a une section \(s\) tous les \(1/\mathrm{5ème}\) d’unité, la section cumulée est \(5\times s\) .

SECTION_FO: fonction donnant la section des armatures dans la direction 1, par unité de longueur. Elle correspond donc à la section cumulée sur une largeur unité. Cette fonction dépend de la géométrie \((X,Y,Z)\) et est évaluée au centre de gravité de la maille.

◊ / EXCENTREMENT = \({e}_{z}\)

/ EXCENTREMENT_F0 = \(\mathit{ezfct}\)

EXCENTREMENT: valeur de l’excentrement \({e}_{z}\) (constant pour tous les nœuds de la maille) de la nappe d’armatures par rapport à la maille support (distance mesurée sur la normale de la maille support), (modélisation GRILLE_EXCENTRE uniquement).

EXCENTREMENT_F0: fonction qui donne l’excentrement (constant pour tous les nœuds de la maille) de la nappe d’armatures par rapport à la maille support (distance mesurée sur la normale de la maille support), (modélisation GRILLE_EXCENTRE uniquement). Cette fonction dépend de la géométrie (X,Y,Z) et est évaluée au centre de gravité de la maille.

◊ COEF_RIGI_DRZ = voir mot clé COQUE [§8].

◊ / REPERE = / « CYLINDRIQUE »,

/ « GLOBAL » (par défaut),

L’utilisation de VECT_1/VECT_2 est simple et pratique. Toutefois, il n’est pas toujours possible de les employer comme dans le cas d’un repère polaire dans un plan horizontal. L’option REPERE est par défaut égal à « GLOBAL » mais l’utilisateur peut spécifier un repère « CYLINDRIQUE » en précisant ORIGINE et AXE_Z. Dans ce cas, VECT_1 et VECT_2 (mais aussi ANGL_REP_1 et ANGL-REP_2) s’exprimeront dans ce repère cylindrique.

# Si: (equal_to(« REPERE », « CYLINDRIQUE »))

♦ / ORIGINE = (x, y, z),

ORIGINE définit les coordonnées dans le repère global du centre du repère « CYLINDRIQUE ».

♦ / AXE_Z = (vx, vy, vz),

AXE_Z définit dans le repère global le vecteur suivant la hauteur du repère « CYLINDRIQUE ».

♦ / ANGL_REP_1 = voir ANGL_REP du mot clé coque [§8].

Ce mot clé permet de définir l’axe de référence \(x\) du repère local à partir de deux angles nautiques. Il définit aussi le repère dans lequel sont calculés les déformations, contraintes, courbures, etc.

/ ANGL_REP_2 = voir ANGL_REP du mot clé coque [§8].

Ce mot clé permet de définir l’axe de référence \(y\) du repère local à partir de deux angles nautiques. Il définit aussi le repère dans lequel sont calculés les déformations, contraintes, courbures, etc.

/ VECT_1= (vx, vy, vz)

Ce mot-clé permet également de fixer le repère local de l’élément. La projection du vecteur renseigné via le mot-clé VECT_1 définit le vecteur \(x\) local.

/ VECT_2 = (vx, vy, vz)

Ce mot-clé permet également de fixer le repère local de l’élément. La projection du vecteur renseigné via le mot-clé VECT_2 définit le vecteur \(y\) local. Par exemple, dans le cas d’une géométrie cylindrique, il permet de définir les directions des armatures circonférentielles.

Pour définir une grille contenant des armatures dans le sens longitudinal et dans le sens transversal, il faut créer deux couches d’éléments (commande crea_maillage, mot clé crea_group_ma), une couche d’élément pour la direction longitudinale et une deuxième couche d’éléments pour la direction transversale:

GRILLE=(

_F(GROUP_MA = ’GEOL’,

SECTION = 0.02,

ANGL_REP_1 = (0.0, 0.0,),

EXCENTREMENT = 0.0,

),

_F(GROUP_MA = ’GEOT’,

SECTION = 0.01,

ANGL_REP_1 = (90.0, 0.0,),

EXCENTREMENT = 0.01,

),

)

Mot clé MEMBRANE#

Syntaxe#

MEMBRANE = _F(
   ◆ GROUP_MA = grma,
   ◆ EPAIS = float, dans [0.0, ∞[,
   ◇ / ANGL_REP_1 = float, 2 valeurs attendues,
     / ANGL_REP_2 = float, 2 valeurs attendues,
     / VECT_1 = float, 3 valeurs attendues,
     / VECT_2 = float, 3 valeurs attendues,
   ◇ N_INIT = float, dans [0.0, ∞[ (défaut: 0.0),
),

Caractéristiques affectables#

On distingue deux comportement pour la membrane. On dispose d’un comportement linéaire pour les petites déformations et d’un comportement non linéaire pour les grandes déformations.

Pour le comportement linéaire :#

../../../../_images/membrane-armatures.png

Fig. 92  : remplacement des armatures par une membrane#

Le mot clé MEMBRANE permet de définir des caractéristiques d’une nappe anisotrope lorsque la modélisation MEMBRANE, est utilisée (voir par exemple le test SSLS138. Elle peut notamment être utilisée pour modéliser des nappes d’armatures élastiques dans les coques en béton armé. Cette modélisation peut être associée à des éléments d’interface pour modéliser la décohésion de cette nappe. La rigidité de cette membrane est renseignée sous DEFI_MATERIAU / ELAS_MEMBRANE.

Pour le comportement non linéaire :#

Le mot clé MEMBRANE permet de définir des caractéristiques d’une membrane isotrope lorsque la modélisation MEMBRANE, est utilisée (voir par exemple le test SSNS115. La rigidité et le coefficient de Poisson de cette membrane sont renseignés sous DEFI_MATERIAU/ELAS et la loi de comportement sous STAT_NON_LINE/RELATION/ELAS_MEMBRANE_SV ou ELAS_MEMBRANE_NH COMPORTEMENT. On ne dispose que de deux lois de comportements hyper-élastiques : la loi de Saint Venant - Kirchhoff et la loi Néo-Hookéenne.

Description des opérandes#

⬥ / EPAIS = ep
EPAIS représente l’épaisseur de la membrane qui doit être exprimée dans les mêmes unités que les coordonnées des nœuds du maillage. Cette épaisseur n’est pas prise en compte en petites déformations et n’a donc de l’influence qu’avec un comportement non linéaire.
⬥ / ANGL_REP_1 = voir ANGL_REP du mot clé COQUE.
Avec un comportement linéaire, ce mot clé définit le repère local lié au comportement anisotrope de la membrane, dans lequel sont calculées les déformations et les contraintes. Il permet de définir l’axe de référence \(x\) du repère local à partir de deux angles nautiques. Si on se place en non linéaire, comme la membrane ne peut avoir qu’un comportement isotrope le mot clé ne servira qu’à modifier le repère d’affichage des contraintes.
⬥ / ANGL_REP_2 = voir ANGL_REP du mot clé COQUE.
Fonctionnement identique à ANGL_REP_1 mais il permet de définir l’axe de référence \(y\) du repère local à partir de deux angles nautiques.
⬥ / VECT_1 = (vx, vy, vz)
Tout comme ANGL_REP_1 et ANGL_REP_2, ce mot-clé permet de fixer le repère local de l’élément. La projection du vecteur renseigné via le mot-clé VECT_1 définit le vecteur \(x\) local.
⬥ / VECT_2 = (vx, vy, vz)
Tout comme ANGL_REP_1 et ANGL_REP_2, ce mot-clé permet de fixer le repère local de l’élément. La projection du vecteur renseigné via le mot-clé VECT_2 définit le vecteur \(y\) local. Par exemple, dans le cas d’une géométrie cylindrique, il permet de définir l’orientation des membranes de manière circonférentielle.
⬦ / N_INIT
Ce mot-clé permet de définir une pré-tension initiale permettant la convergence du calcul en non linéaire (elle est donc inutile en linéaire). Elle n’est appliquée qu’au premier pas de temps. Elle s’exprime en unité de force par unité de longueur.

Mot clé RIGI_PARASOL#

Syntaxe#

RIGI_PARASOL = _F(
    # Mailles servant à répartir les caractéristiques des discrets
    ◆ GROUP_MA = grma,
    # Mailles de type POI1 correspondant aux discrets
    ◆ / GROUP_MA_POI1 = grma,
      / GROUP_MA_SEG2 = grma,
    # Fonctions de répartition
    ◆ / FONC_GROUP = formule / nappe / fonction,
      / COEF_GROUP = float,
    ◇ REPERE = / "LOCAL",
               / "GLOBAL" (par défaut),
    # Raideurs et Amortissements à répartir
    ◆ CARA = / "K_TR_D_N",
             / "K_T_D_N",
             / "K_TR_D_L",
             / "K_T_D_L",
             / "A_TR_D_N",
             / "A_T_D_N",
             / "A_TR_D_L",
             / "A_T_D_L",
    # Si: exists("CARA") and (len(CARA)==1 or (len(CARA)==2 and CARA[0][2:]==CARA[1][2:]))
        ◆ VALE = float,
    # Centre de gravite
    ◆ / GROUP_NO_CENTRE = grno,
      / COOR_CENTRE = float,
    ◇ UNITE = unit,
),

Caractéristiques affectables#

Cette fonctionnalité correspond à une méthodologie utilisée pour déterminer les caractéristiques d’éléments discrets (ressorts de translation et/ou de rotation) à appliquer aux nœuds d’un radier à partir d’une raideur globale.

Cette option est disponible en 3D et en 2D. Dans le cas 3D le radier sera modélisé par une surface, dans le cas 2D il sera modélisé par une ligne SSNL130. Dans le cas 2D les discrets sont des 2D_DIS_TR ou 2D_DIS_T.

On doit affecter la modélisation DIS_TR | DIS_T en 3D ou 2D_DIS_TR | 2D_DIS_T en 2D, sur le groupe de nœuds qui composent le radier. Les mailles qui composent le radier portent une modélisation de plaque (DKT, DST) ou une modélisation de face de 3D SDLS108.

Il faut distinguer un groupe de mailles pour le radier, à déclarer derrière le mot clé GROUP_MA du mot clé facteur RIGI_PARASOL, et un groupe de mailles à 1 nœud s’appuyant sur les nœuds de ce radier qu’il faut modéliser et déclarer dans AFFE_MODELE sous forme de mailles ponctuelles de type POI1. Si les mailles sont de type POI1, il faut l’indiquer à l’aide du mot clé GROUP_MA_POI1 du mot clé facteur RIGI_PARASOL.

La règle de surcharge s’applique Les grands principes de fonctionnement de Code_Aster. Si une maille est présente dans plusieurs occurrences c’est la dernière affectation qui est prise en compte.

Description des opérandes#

⬥ GROUP_MA
Liste des groupes de mailles qui composent le radier.
⬦ / GROUP_MA_POI1
    / GROUP_MA_SEG2
Liste des groupes de points comprenant les nœuds des groupes de mailles définis par GROUP_MA. Cela permet de déclarer les nœuds d’une fondation définie par des mailles soit comme mailles ponctuelles POI1 soit comme des mailles SEG2 afin de leur affecter les caractéristiques RIGI_PARASOL. Cela permet de leur affecter des matériaux ou des comportements en vue de l’utilisation d’un opérateur non linéaire.
⬥ / FONC_GROUP
    / COEF_GROUP
Liste des fonctions ou des coefficients réels. Il y a autant d’arguments dans cette liste qu’il y a de groupes de mailles qui composent le radier (définis sous le mot-clé GROUP_MA). Les fonctions doivent avoir pour abscisse la distance au centre de gravité (mot-clé défini par GROUP_NO_CENTRE / COOR_CENTRE).
⬥ CARA
⬥ VALE
Les raideurs globales de sol sont fournies par l’utilisateur à l’aide des mots-clés CARA et VALE comme pour les éléments discrets. On peut aussi sélectionner la nature du repère (global ou local) dans lequel on définit les caractéristiques des ressorts (mot-clé REPERE). Des raideurs ou des amortissements définis uniquement en translation peuvent également être répartis (K_T_D_N ou A_T_D_N, donc pas de raideur en rotation), dans ce cas il est seulement nécessaire :
  • en 3D de donner 3 valeurs pour VALE = \(({k}_{x},{k}_{y},{k}_{z})\)

  • en 2D de donner 2 valeurs pour VALE = \(({k}_{x},{k}_{y})\)

⬥ / GROUP_NO_CENTRE = gno
    / COOR_CENTRE = l_xyz
Pour définir le centre du radier, on peut soit donner les coordonnées (trois réels après le mot-clé COOR_CENTRE), soit donner le nom d’un groupe contenant un seul nœud (mot-clé GROUP_NO_CENTRE).
⬦ UNITE
Si ce mot clef est présent, un fichier correspondant au numéro d’unité est créé. Il contient les raideurs des discrets affectées aux différents nœuds.

Principe de détermination des caractéristiques des éléments discrets#

Le document Réponse sismique par analyse transitoire donne des informations théoriques sur la méthode employée.

Discrets en translation#

En 3D, le radier est représenté par un ensemble d’éléments surfaciques de centre de gravité \(O\). On a donc 3 grandeurs globales qui caractérisent le couplage entre le sol et le radier : 3 raideurs de translation \({K}_{x},{K}_{y},{K}_{z}\).

En 2D, le radier est représenté par un ensemble d’éléments linéiques de centre de gravité \(O\). On a donc 2 grandeurs globales qui caractérisent le couplage entre le sol et le radier : 2 raideurs de translation \({K}_{x},{K}_{y}\).

Remarque :

C’est le même raisonnement pour les discrets de type “amortissement”.*

Discrets en translation et rotation#

En 3D, le radier est représenté par un ensemble d’éléments surfaciques de centre de gravité \(O\). On a donc 6 grandeurs globales qui caractérisent le couplage entre le sol et le radier : 3 raideurs de translation \({K}_{x},{K}_{y},{K}_{z}\), 3 raideurs en rotation \({Kr}_{x},{Kr}_{y},{Kr}_{z}\).

En 2D, le radier est représenté par un ensemble d’éléments linéiques de centre de gravité \(O\). On a donc 3 grandeurs globales qui caractérisent le couplage entre le sol et le radier : 2 raideurs de translation \({K}_{x},{K}_{y}\), 1 raideur en rotation \({Kr}_{z}\).

Remarque :

C’est le même raisonnement pour les discrets de type “amortissement”.

Répartition de discret en raideur et en amortissement#

Si l’on souhaite répartir à la fois des raideurs et des amortissements, il faut le préciser sous le mot clef CARA, par exemple : CARA = (‘K_T_D_N”, ‘A_T_D_N”), aussi bien en 2D qu’en 3D.

Les valeurs à répartir seront données sous VALE. Par exemple :

  • en 3D avec
    CARA = (‘K_T_D_N”, ‘A_T_D_N”)
    VALE = (\({K}_{x}\), \({K}_{Y}\), \({K}_{Z}\), \({A}_{X}\), \({A}_{Y}\), \({A}_{Z}\))
  • en 2D avec
    CARA = (‘K_T_D_N”, ‘A_T_D_N”)
    VALE = (\({K}_{x}\), \({K}_{Y}\), \({A}_{X}\), \({A}_{Y}\))
  • en 3D avec
    CARA = (‘K_TR_D_N”, ‘A_TR_D_N”),
    VALE = (\({K}_{x}\), \({K}_{Y}\), \({K}_{Z}\), \({Kr}_{x}\), \({Kr}_{y}\), \({Kr}_{z}\), \({A}_{X}\), \({A}_{Y}\), \({A}_{Z}\), \({Ar}_{x}\), \({Ar}_{y}\), \({Ar}_{z}\))
  • en 2D avec
    CARA = (‘K_TR_D_N”, ‘A_TR_D_N”),
    VALE = (\({K}_{x}\), \({K}_{Y}\), \({Kr}_{z}\), \({A}_{X}\), \({A}_{Y}\), \({Ar}_{z}\))
Remarque :
Si dans CARA on donne le discret d’amortissement puis celui de la raideur, il faut donner les caractéristiques d’amortissement puis celles de raideur, par exemple en 2D:
CARA = (‘A_T_D_N”, ‘K_T_D_N”)
VALE = (\({A}_{X}\) , \({A}_{Y}\) , \({K}_{x}\) , \({K}_{Y}\) )

Méthode de répartition#

En chaque nœud du maillage du radier, on cherche les caractéristiques en raideur d’un élément discret de type \(\text{K_TR_D_N} = \left( {k}_{x}, {k}_{y}, {k}_{z}, {kr}_{x}, {kr}_{y}, {kr}_{z} \right)\) cf. Réponse sismique par analyse transitoire.

Pour déterminer les raideurs de translation, on impose qu’elles soient proportionnelles à la surface représentée par le nœud et à une fonction de répartition dépendant de la distance au centre de gravité du radier. Soit \(S(P)\) la surface attachée au nœud \(P\) et \(f(r)\) la fonction de répartition où \(r\) est la distance du nœud \(P\) au nœud \(O\).

Pour les raideurs de rotation, on répartit le reliquat (ce qui reste après avoir enlevé les contributions dues aux translations) de la même façon que les translations.

Si on calcule les efforts et les moments résultants au point \(O\) dus à la répartition des ressorts en chaque nœud du maillage du radier et si on les identifie aux valeurs globales, on obtient les formules suivantes :

\(\begin{array}{ccc}{k}_{x}={K}_{x}/\left(\sum_{p}S(p)f({op})\right)& ;& {k}_{x}(p)={k}_{x}S(p)f({op})\\ {k}_{y}={K}_{y}/\left(\sum_{p}S(p)f({op})\right)& ;& {k}_{y}(p)={k}_{y}S(p)f({op})\\ {k}_{z}={K}_{z}/\left(\sum_{p}S(p)f({op})\right)& ;& {k}_{z}(p)={k}_{z}S(p)f({op})\end{array}\)

\(\begin{array}{ccc}{k}_{rx}=\left({K}_{rx}-\sum_{p}\left({k}_{z}(p){y}_{op}^{2}+{k}_{y}(p){z}_{op}^{2}\right)\right)/\left(\sum_{p}S(p)f({op})\right)& ;& {k}_{rx}(p)={k}_{rx}S(p)f({op})\\ {k}_{ry}=\left({K}_{ry}-\sum_{p}\left({k}_{x}(p){z}_{op}^{2}+{k}_{z}(p){x}_{op}^{2}\right)\right)/\left(\sum_{p}S(p)f({op})\right)& ;& {k}_{ry}(p)={k}_{ry}S(p)f({op})\\ {k}_{rz}=\left({K}_{rz}-\sum_{p}\left({k}_{x}(p){y}_{op}^{2}+{k}_{y}(p){x}_{op}^{2}\right)\right)/\left(\sum_{p}S(p)f({op})\right)& ;& {k}_{rz}(p)={k}_{rz}S(p)f({op})\end{array}\)

Remarque 1 :
Calcul de la surface attachée au point \(P\).
Pour chaque maille surfacique du radier on calcule, la surface en 3D, la longueur de la ligne en 2D, on la divise par le nombre de sommets de la maille et on affecte cette contribution à chaque nœud de la maille. On assure alors : \({S}_{radier} = \sum_{p}S(p)\).
Remarque 2 :

On considère que l’on peut appliquer les mêmes formules pour effectuer une répartition d’éléments discrets d’amortissement.

Exemples d’utilisation#

Exemple n°1 :

RIGI_PARASOL = _F(GROUP_MA = radier, COEF_GROUP = 2.0, GROUP_NO_CENTRE = 'P1',
                  CARA = ( 'K_TR_D_N' , 'A_TR_D_N' ), VALE = ( 6 réels , 6 réels ),
)

Exemple n°2 :

RIGI_PARASOL = _F(GROUP_MA='DALLE', COEF_GROUP=1.0, GROUP_NO_CENTRE='PCDG',
                  GROUP_MA_POI1='RESSORT', REPERE='GLOBAL',
                  CARA='K_T_D_N', VALE=( 3 réels ),
)

Mot clé RIGI_MISS_3D#

Syntaxe#

◇ RIGI_MISS_3D = _F(
    ◆ GROUP_MA_POI1 = grma,
    ◇ GROUP_MA_SEG2 = grma,
    ◆ FREQ_EXTR = float,
    ◇ UNITE_RESU_IMPE = unit (défaut: 30),
),

Caractéristiques affectables#

L’utilisation de ce mot-clé est dédiée à des problèmes de décollement de fondation afin de mieux prendre en compte le tapis de ressorts de sol que ne le fait RIGI_PARASOL qui répartit 6 raideurs globales sous une fondation proportionnellement aux surfaces des éléments entourant ses nœuds.

Ce mot clé va affecter les termes exacts d’une matrice d’impédance calculée par MISS3D pour tous les degrés de liberté d’interface (3 fois le nombre de nœuds) et pour une fréquence d’extraction donnée. L’affectation de ces termes (modélisation DIS_T) se fait alors aux mailles ponctuelles POI1 des nœuds de la fondation surfacique et éventuellement aux lignes du réseau de SEG2 superposé à la fondation pour représenter les liaisons transversales entre nœuds.

Description des opérandes#

⬥ GROUP_MA_POI1
Groupe de mailles ponctuelles des nœuds de la fondation.
⬦ GROUP_MA_SEG2
Groupe de mailles de SEG2 reliant transversalement les nœuds de la fondation.
⬥ FREQ_EXTR
Fréquence d’extraction de la matrice d’impédance.
⬦ UNITE_RESU_IMPE
Unité logique de la matrice d’impédance calculée par CALC_MISS option FICHIER.

Mot clé RIGI_GRILLE#

Syntaxe#

RIGI_GRILLE = _F(
    # Mailles servant à répartir les caractéristiques des discrets
    ◆ GROUP_MA = grma,
    # Mailles de type SEG2 correspondant aux discrets (pour les directions X, Y, Z, RX, RY)
    ◆ GROUP_MA_SEG2 = grma, 5 valeurs attendues,
    # Raideurs ou Amortissements à répartir
    ◆ VALE = float, 5 valeurs attendues,
    # Centres de gravité
    ◆ GROUP_NO_CENTRE = grno, 5 valeurs attendues,
    # Option
    ◇ OPTION = "RIGI" (par défaut),
),

Caractéristiques affectables#

Cette fonctionnalité correspond à une méthodologie utilisée pour déterminer les caractéristiques d’éléments discrets à appliquer au radier à partir de raideurs globales.

Cette option est disponible en 3D. Le radier sera modélisé par une surface, les discrets sont des DIS_TR.

Il faut distinguer un groupe de mailles pour le radier, à déclarer derrière le mot-clé GROUP_MA et les 5 groupes de mailles de type SEG2 à déclarer derrière le mot clé GROUP_MA_SEG2. Ces mailles SEG2 doivent être affecté par des DIS_TR dans AFFE_MODELE. Ces mailles possèdent chacune un noeud en commun avec le radier, et un noeud sur lequel une LIAISON_SOLIDE sera appliquée par ailleurs.

Description des opérandes#

⬥ GROUP_MA
Liste des groupes de mailles qui composent le radier.
⬦ / GROUP_MA_SEG2
Les 5 groupes de mailles de type SEG2 sur lesquels seront réparties les rigidité globales. Les groupes correspondent respectivement aux directions X, Y, Z, RX et RY.
⬥ VALE
Les 5 raideurs globales de sol, fournies par l’utilisateur, qui seront réparties sur les éléments discrets. Les raideurs correspondent respectivement à
\({k}_{x},{k}_{y},{k}_{z},{k}_{rx} et {k}_{ry}\)
⬥ GROUP_NO_CENTRE = gno
Pour définir le centre du radier, On donne 5 groupes contenant chacun un seul nœud. Les groupes correspondent respectivement aux directions X, Y, Z, RX et RY.
⬦ OPTION = « RIGI »
Seul le cas de matrices de rigidité est disponible.

Méthode de répartition#

On note \(S(p)\) l’aire afférente au nœud p du radier, \(G(x_G,y_G)\) son centre géométrique. On pose :

  • \(S_{tot} = \sum S(p)\),

  • \(I_x = \sum S(p) (y_p − y_G )^2\),

  • \(I_y = \sum S(p) (x_p − x_G )^2\).

Les lois de répartition équivalentes sont alors :

  • \(k_x(p) = k_x {S(p) \over S_{tot}}\)

  • \(k_y(p) = k_y {S(p) \over S_{tot}}\)

  • \(k_z(p) = k_z {S(p) \over S_{tot}}\)

  • \(k_{rx}(p) = k_{rx} {S(p) \over I_x}\)

  • \(k_{ry}(p) = k_{ry} {S(p) \over I_y}\)

Mot clé MASS_AJOU#

Syntaxe#

◇ MASS_AJOU = _F(
    ◆ GROUP_MA = grma,
    ◆ GROUP_MA_POI1 = grma,
    ◆ FONC_GROUP = fonction / formule / nappe,
),

Caractéristiques affectables#

L’objectif de ce mot-clé est de prendre en compte simplement la masse ajoutée de fluide sans avoir à modéliser le fluide comme dans MACRO_MATR_AJOU et de ne conserver que la structure pour des études dynamiques non linéaires.

L’idée est donc, dans une nouvelle option de AFFE_CARA_ELEM, de répartir des caractéristiques de masse ponctuelle aux nœuds de l’interface fluide-structure sans ajouter de degrés de liberté.

On s’inspire de la répartition des caractéristiques globales de rigidité ou d’amortissement réalisée par l’option RIGI_PARASOL de AFFE_CARA_ELEM.

L’option MASS_AJOU, permet de répartir aux nœuds de l’interface fluide-structure des caractéristiques M_T_N avec des valeurs élémentaires de masse directionnelle. Ces valeurs sont obtenues par intégration de la pression normale aux éléments à partir de fonctions de répartition qui peuvent dépendre des coordonnées, en particulier de l’altitude, afin d’exprimer des relations de Westergaard ou plus simplement l’expression de la pression hydrostatique.

L’affectation de ces termes (modélisation à déclarer dans AFFE_MODELE DIS_T pour une interface fluide-structure surfacique en 3D et 2D_DIS_T pour une interface fluide-structure linéique en 2D), se fait aux mailles ponctuelles POI1 des nœuds de l’interface fluide-structure à l’aide du mot clé GROUP_MA_POI1 du mot clé facteur MASS_AJOU.

Il faut distinguer ces mailles ponctuelles des groupes de mailles surfaciques ou linéiques pour l’interface fluide-structure, à déclarer derrière le mot clé GROUP_MA.

Note

Dans le cas où le résultat de la commande AFFE_CARA_ELEM avec le mot-clé MASS_AJOU est utilisé pour effectuer un calcul avec des résultats provenant d’un modèle analogue sans MASS_AJOU, par exemple dans le cadre d’un calcul avec un état initial provenant d’un modèle sans masse ajoutée, il est nécessaire de prolonger le résultat sur l’ensemble du nouveau modèle, afin de correctement initialiser les champs. Ceci peut être fait via la commande PROJ_CHAMP avec PROL_VALE = 0.0.

Description des opérandes#

⬥ GROUP_MA
Groupe de mailles surfaciques (en 3D) ou linéiques (en 2D) de l’interface fluide-structure.
⬥ GROUP_MA_POI1
Groupe de mailles ponctuelles des nœuds de l’interface fluide-structure.
⬥ FONC_GROUP
Fonction de répartition de la pression normale dépendant des coordonnées du groupe de mailles composant l’interface fluide-structure (défini sous les mots-clés GROUP_MA ou GROUP_MA_POI1). La fonction doit être homogène à une densité surfacique de masse.

Mot clé MASS_REP#

Syntaxe#

MASS_REP = _F(
    # Surface ou ligne servant à répartir la masse
    ◆ GROUP_MA = grma,
    # Mailles de type POI1 correspondant aux masses
    ◆ GROUP_MA_POI1 = grma,
    # Masse à répartir sur les mailles de GROUP_MA
    ◆ VALE = float,
    ◆ TYPE = / "LINEIQUE",
             / "SURFACIQUE",
             / "TOTALE",
    # Fonction de répartition de la masse
    ◇ FONC_MULT = fonction / formule / nappe,
),

Caractéristiques affectables#

L’objectif de ce mot-clé est de prendre en compte simplement une masse et de la répartir sur une surface. L’option MASS_REP, permet de répartir aux nœuds des discrets de caractéristique M_T_D_N des valeurs de masse obtenues au prorata de l’aire des mailles surfaciques ou de la longueur des mailles linéiques.

L’affectation (modélisation DIS_T à déclarer dans AFFE_MODELE) se fait aux mailles ponctuelles POI1 données à GROUP_MA_POI1. Il faut distinguer les mailles ponctuelles et les mailles surfaciques à déclarer derrière le mot clé GROUP_MA.

La règle de surcharge s’applique Les grands principes de fonctionnement de Code_Aster. Si une maille POI1 est présente dans plusieurs occurrences de MASS_REP c’est la dernière affectation qui est prise en compte.

En cas de surcharge une information est écrite dans le fichier de ‘messages’, indiquant le nombre de surcharges réalisées.

Description des opérandes#

⬥ GROUP_MA
Groupes de mailles surfaciques.
⬥ GROUP_MA_POI1
Groupe de mailles ponctuelles, de type DIS_T à déclarer dans AFFE_MODELE.
⬥ VALE = masse
Valeur de la masse à répartir pour la surface concernée par GROUP_MA. Son unité est homogène à \({surface}^{-1}\), \({longueur}^{-1}\) en fonction de la valeur de TYPE.
⬥ TYPE = [‘SURFACIQUE’, ‘LINEIQUE’, ‘TOTALE’]
Permet de définir la masse à affecter à des discrets de type M_T_D_N. Cette masse est fonction de la surface des mailles qui sont connectées au nœud du discret. On peut soit donner :
  • une MASSE de TYPE = ‘SURFACIQUE’ : cette masse est répartie au prorata de l’aire des mailles surfaciques connectés aux nœuds des discrets. Les mailles de type POI1 sont affectées par la masse :
    \({Masse}_{POI1}={Masse}_{Surfacique}\ast {Surface}_{Noeud}\)
  • une MASSE de TYPE = ‘LINEIQUE’ : cette masse est répartie au prorata de la longueur des mailles linéiques connectés aux nœuds des discrets. Les mailles de type POI1 sont affectées par la masse :
    \({Masse}_{POI1}={Masse}_{Linéique}\ast {Longueur}_{Noeud}\)
  • une MASSE avec TYPE = ‘TOTALE’ : c’est la masse totale à répartir soit au prorata de l’aire des mailles surfaciques soit au prorata de la longueur des mailles linéiques, connectés aux nœuds des discrets. Les mailles de type POI1 sont affectées par la masse :
    \({Masse}_{POI1}=\frac{{Masse}_{Totale}\ast {Surface}_{Noeud}}{{Surface}_{Totale}}\) ou \({Masse}_{POI1}=\frac{{Masse}_{Totale}\ast {Longueur}_{Noeud}}{{Longueur}_{Totale}}\)
⬦ FONC_MULT = fonction_mult
On peut donner une fonction (X,Y,Z) qui multiplie la masse à répartir de la maille. Cette fonction est évaluée au centre de gravité de la maille.