u4.44.01 Opérateurs AFFE_CHAR_MECA, AFFE_CHAR_MECA_C et AFFE_CHAR_MECA_F#

Détail de la syntaxe
char_meca = AFFE_CHAR_MECA(
    ◇ VERI_AFFE = / "NON",
                  / "OUI" (par défaut),
    ◇ VERI_NORM = / "NON",
                  / "OUI" (par défaut),
    ◆ MODELE = modele,
    ◇ CARA_ELEM = cara_elem,
    ◇ CHAM_MATER = cham_mater,
      | EVOL_CHAR = evol_char,
    ◆ | PESANTEUR = _F(
           ◇ GROUP_MA = list[grma],
           ◆ GRAVITE = float,
           ◆ DIRECTION = list[float],
        ),
      | ROTATION = _F(
           ◇ GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◆ VITESSE = float,
           ◆ AXE = list[float],
           ◇ CENTRE = list[float],
        ),
      | DDL_IMPO = _F(
           ◆ | TOUT = "OUI" (ou non renseigné),
             | GROUP_MA = list[grma],
             | GROUP_NO = list[grno],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ | BLOCAGE = / "DEPLACEMENT",
                         / "ROTATION",
                         / "TUYAU_FOURIER",
             | DX = float,
             | DY = float,
             | DZ = float,
             | DRX = float,
             | DRY = float,
             | DRZ = float,
             | GRX = float,
             | PRES = float,
             | PSI = float,
             | PHI = float,
             | DRGX = float,
             | DRGY = float,
             | DRGZ = float,
             | TEMP = float,
             | PRE1 = float,
             | PRE2 = float,
             | UI2 = float,
             | UI3 = float,
             | VI2 = float,
             | VI3 = float,
             | WI2 = float,
             | WI3 = float,
             | UO2 = float,
             | UO3 = float,
             | VO2 = float,
             | VO3 = float,
             | WO2 = float,
             | WO3 = float,
             | UI4 = float,
             | UI5 = float,
             | VI4 = float,
             | VI5 = float,
             | WI4 = float,
             | WI5 = float,
             | UO4 = float,
             | UO5 = float,
             | VO4 = float,
             | VO5 = float,
             | WO4 = float,
             | WO5 = float,
             | UI6 = float,
             | UO6 = float,
             | VI6 = float,
             | VO6 = float,
             | WI6 = float,
             | WO6 = float,
             | WO = float,
             | WI1 = float,
             | WO1 = float,
             | GONF = float,
             | H1X = float,
             | H1Y = float,
             | H1Z = float,
             | H1PRE1 = float,
             | H2X = float,
             | H2Y = float,
             | H2Z = float,
             | H2PRE1 = float,
             | H3X = float,
             | H3Y = float,
             | H3Z = float,
             | H3PRE1 = float,
             | H4X = float,
             | H4Y = float,
             | H4Z = float,
             | K1 = float,
             | K2 = float,
             | K3 = float,
             | PRE_FLU = float,
             | LAG_FLI = float,
             | LAG_FLS = float,
             | LAGS_C = float,
             | LAGS_F1 = float,
             | LAGS_F2 = float,
             | PR2_FLU = float,
             | LA2_FLI = float,
             | LA2_FLS = float,
             | LAG2_C = float,
             | LAG2_F1 = float,
             | LAG2_F2 = float,
             | PR3_FLU = float,
             | LA3_FLI = float,
             | LA3_FLS = float,
             | LAG3_C = float,
             | LAG3_F1 = float,
             | LAG3_F2 = float,
             | LAG4_C = float,
             | LAG4_F1 = float,
             | LAG4_F2 = float,
             | V11 = float,
             | V12 = float,
             | V13 = float,
             | V21 = float,
             | V22 = float,
             | V23 = float,
             | V31 = float,
             | V32 = float,
             | V33 = float,
             | PRES11 = float,
             | PRES12 = float,
             | PRES13 = float,
             | PRES21 = float,
             | PRES22 = float,
             | PRES23 = float,
             | PRES31 = float,
             | PRES32 = float,
             | PRES33 = float,
             | LH1 = float,
             | GLIS = float,
             | LAG_GV = float,
             | EPXX = float,
             | EPYY = float,
             | EPZZ = float,
             | EPXY = float,
             | EPXZ = float,
             | EPYZ = float,
        ),
      | DDL_POUTRE = _F(
           ◆ | TOUT = "OUI" (ou non renseigné),
             | GROUP_MA = list[grma],
             | GROUP_NO = list[grno],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ | DX = float,
             | DY = float,
             | DZ = float,
             | DRX = float,
             | DRY = float,
             | DRZ = float,
           ◆ / VECT_Y = list[float],
             / ANGL_VRIL = float,
           ◇ GROUP_MA_REPE = grma,
        ),
      | FACE_IMPO = _F(
           ◇ GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ | DX = float,
             | DY = float,
             | DZ = float,
             | DRX = float,
             | DRY = float,
             | DRZ = float,
             | GRX = float,
             | PRES = float,
             | PHI = float,
             | TEMP = float,
             | PRE1 = float,
             | PRE2 = float,
             | DNOR = float,
             | DRNOR = float,
             | DTAN = float,
             | EPXX = float,
             | EPYY = float,
             | EPZZ = float,
             | EPXY = float,
             | EPXZ = float,
             | EPYZ = float,
        ),
      | CHAMNO_IMPO = _F(
           ◆ CHAM_NO = cham_no,
           ◆ COEF_IMPO = float,
        ),
      | ARETE_IMPO = _F(
           ◇ GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ | DX = float,
             | DY = float,
             | DZ = float,
             | DTAN = float,
             | PRES = float,
             | PHI = float,
             | TEMP = float,
             | PRE1 = float,
             | PRE2 = float,
        ),
      | LIAISON_DDL = _F(
           ◆ / GROUP_NO = list[grno],
           ◆ DDL = / "DRGX",
                   / "DRGY",
                   / "DRGZ",
                   / "DRX",
                   / "DRY",
                   / "DRZ",
                   / "DX",
                   / "DY",
                   / "DZ",
                   / "EPXX",
                   / "EPXY",
                   / "EPXZ",
                   / "EPYY",
                   / "EPYZ",
                   / "EPZZ",
                   / "GLIS",
                   / "GONF",
                   / "GRX",
                   / "H1PRE1",
                   / "H1X",
                   / "H1Y",
                   / "H1Z",
                   / "K1",
                   / "K2",
                   / "K3",
                   / "LH1",
                   / "PHI",
                   / "PRE1",
                   / "PRE2",
                   / "PRES",
                   / "PRES11",
                   / "PRES12",
                   / "PRES13",
                   / "PRES21",
                   / "PRES22",
                   / "PRES23",
                   / "PRES31",
                   / "PRES32",
                   / "PRES33",
                   / "PSI",
                   / "TEMP",
                   / "UI2",
                   / "UI3",
                   / "UI4",
                   / "UI5",
                   / "UI6",
                   / "UO2",
                   / "UO3",
                   / "UO4",
                   / "UO5",
                   / "UO6",
                   / "V11",
                   / "V12",
                   / "V13",
                   / "V21",
                   / "V22",
                   / "V23",
                   / "V31",
                   / "V32",
                   / "V33",
                   / "VI2",
                   / "VI3",
                   / "VI4",
                   / "VI5",
                   / "VI6",
                   / "VO2",
                   / "VO3",
                   / "VO4",
                   / "VO5",
                   / "VO6",
                   / "WI1",
                   / "WI2",
                   / "WI3",
                   / "WI4",
                   / "WI5",
                   / "WI6",
                   / "WO",
                   / "WO1",
                   / "WO2",
                   / "WO3",
                   / "WO4",
                   / "WO5",
                   / "WO6",
           ◆ COEF_MULT = list[float],
           ◆ COEF_IMPO = float,
        ),
      | LIAISON_OBLIQUE = _F(
           ◆ | GROUP_NO = list[grno],
             | GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ ANGL_NAUT = list[float],
           ◆ | DX = float,
             | DY = float,
             | DZ = float,
             | DRX = float,
             | DRY = float,
             | DRZ = float,
        ),
      | LIAISON_GROUP = _F(
           ◆ / GROUP_MA_1 = list[grma],
             / GROUP_NO_1 = list[grno],
           ◆ / GROUP_NO_2 = list[grno],
             / GROUP_MA_2 = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ DDL_1 = / "DNOR",
                     / "DRGX",
                     / "DRGY",
                     / "DRGZ",
                     / "DRX",
                     / "DRY",
                     / "DRZ",
                     / "DX",
                     / "DY",
                     / "DZ",
                     / "EPXX",
                     / "EPXY",
                     / "EPXZ",
                     / "EPYY",
                     / "EPYZ",
                     / "EPZZ",
                     / "GLIS",
                     / "GONF",
                     / "GRX",
                     / "H1PRE1",
                     / "H1X",
                     / "H1Y",
                     / "H1Z",
                     / "K1",
                     / "K2",
                     / "K3",
                     / "LH1",
                     / "PHI",
                     / "PRE1",
                     / "PRE2",
                     / "PRES",
                     / "PRES11",
                     / "PRES12",
                     / "PRES13",
                     / "PRES21",
                     / "PRES22",
                     / "PRES23",
                     / "PRES31",
                     / "PRES32",
                     / "PRES33",
                     / "PSI",
                     / "TEMP",
                     / "UI2",
                     / "UI3",
                     / "UI4",
                     / "UI5",
                     / "UI6",
                     / "UO2",
                     / "UO3",
                     / "UO4",
                     / "UO5",
                     / "UO6",
                     / "V11",
                     / "V12",
                     / "V13",
                     / "V21",
                     / "V22",
                     / "V23",
                     / "V31",
                     / "V32",
                     / "V33",
                     / "VI2",
                     / "VI3",
                     / "VI4",
                     / "VI5",
                     / "VI6",
                     / "VO2",
                     / "VO3",
                     / "VO4",
                     / "VO5",
                     / "VO6",
                     / "WI1",
                     / "WI2",
                     / "WI3",
                     / "WI4",
                     / "WI5",
                     / "WI6",
                     / "WO",
                     / "WO1",
                     / "WO2",
                     / "WO3",
                     / "WO4",
                     / "WO5",
                     / "WO6",
           ◆ COEF_MULT_1 = list[float],
           ◆ DDL_2 = / "DNOR",
                     / "DRGX",
                     / "DRGY",
                     / "DRGZ",
                     / "DRX",
                     / "DRY",
                     / "DRZ",
                     / "DX",
                     / "DY",
                     / "DZ",
                     / "EPXX",
                     / "EPXY",
                     / "EPXZ",
                     / "EPYY",
                     / "EPYZ",
                     / "EPZZ",
                     / "GLIS",
                     / "GONF",
                     / "GRX",
                     / "H1PRE1",
                     / "H1X",
                     / "H1Y",
                     / "H1Z",
                     / "K1",
                     / "K2",
                     / "K3",
                     / "LH1",
                     / "PHI",
                     / "PRE1",
                     / "PRE2",
                     / "PRES",
                     / "PRES11",
                     / "PRES12",
                     / "PRES13",
                     / "PRES21",
                     / "PRES22",
                     / "PRES23",
                     / "PRES31",
                     / "PRES32",
                     / "PRES33",
                     / "PSI",
                     / "TEMP",
                     / "UI2",
                     / "UI3",
                     / "UI4",
                     / "UI5",
                     / "UI6",
                     / "UO2",
                     / "UO3",
                     / "UO4",
                     / "UO5",
                     / "UO6",
                     / "V11",
                     / "V12",
                     / "V13",
                     / "V21",
                     / "V22",
                     / "V23",
                     / "V31",
                     / "V32",
                     / "V33",
                     / "VI2",
                     / "VI3",
                     / "VI4",
                     / "VI5",
                     / "VI6",
                     / "VO2",
                     / "VO3",
                     / "VO4",
                     / "VO5",
                     / "VO6",
                     / "WI1",
                     / "WI2",
                     / "WI3",
                     / "WI4",
                     / "WI5",
                     / "WI6",
                     / "WO",
                     / "WO1",
                     / "WO2",
                     / "WO3",
                     / "WO4",
                     / "WO5",
                     / "WO6",
           ◆ COEF_MULT_2 = list[float],
           ◆ COEF_IMPO = float,
           ◇ TRAN = list[float],
           ◇ ANGL_NAUT = list[float],
           ◇ CENTRE = list[float],
        ),
      | LIAISON_MAIL = _F(
           ◇ GROUP_MA_MAIT = list[grma],
           ◆ | GROUP_MA_ESCL = list[grma],
             | GROUP_NO_ESCL = list[grno],
           ◇ DISTANCE_MAX = float,
           ◇ DISTANCE_ALARME = float,
           ◇ TYPE_RACCORD = / "COQUE",
                            / "COQUE_MASSIF",
                            / "MASSIF" (par défaut),
                            / "MASSIF_COQUE",
           # Si: equal_to("TYPE_RACCORD", 'COQUE')
               ◇ TRANSF_GEOM_MAIT = list[fonction / formule / nappe],
               ◇ TRANSF_GEOM_ESCL = list[fonction / formule / nappe],
               ◇ DDL = / "DRX",
                       / "DRY",
                       / "DRZ",
                       / "DX",
                       / "DY",
                       / "DZ",
           # Si: equal_to("TYPE_RACCORD", 'MASSIF')
               ◇ TRAN = list[float],
               ◇ ANGL_NAUT = list[float],
               ◇ CENTRE = list[float],
               ◇ DDL = / "DNOR",
                       / "DRGX",
                       / "DRGY",
                       / "DRGZ",
                       / "DRX",
                       / "DRY",
                       / "DRZ",
                       / "DX",
                       / "DY",
                       / "DZ",
                       / "EPXX",
                       / "EPXY",
                       / "EPXZ",
                       / "EPYY",
                       / "EPYZ",
                       / "EPZZ",
                       / "GLIS",
                       / "GONF",
                       / "GRX",
                       / "H1PRE1",
                       / "H1X",
                       / "H1Y",
                       / "H1Z",
                       / "K1",
                       / "K2",
                       / "K3",
                       / "LH1",
                       / "PHI",
                       / "PRE1",
                       / "PRE2",
                       / "PRES",
                       / "PRES11",
                       / "PRES12",
                       / "PRES13",
                       / "PRES21",
                       / "PRES22",
                       / "PRES23",
                       / "PRES31",
                       / "PRES32",
                       / "PRES33",
                       / "PSI",
                       / "TEMP",
                       / "UI2",
                       / "UI3",
                       / "UI4",
                       / "UI5",
                       / "UI6",
                       / "UO2",
                       / "UO3",
                       / "UO4",
                       / "UO5",
                       / "UO6",
                       / "V11",
                       / "V12",
                       / "V13",
                       / "V21",
                       / "V22",
                       / "V23",
                       / "V31",
                       / "V32",
                       / "V33",
                       / "VI2",
                       / "VI3",
                       / "VI4",
                       / "VI5",
                       / "VI6",
                       / "VO2",
                       / "VO3",
                       / "VO4",
                       / "VO5",
                       / "VO6",
                       / "WI1",
                       / "WI2",
                       / "WI3",
                       / "WI4",
                       / "WI5",
                       / "WI6",
                       / "WO",
                       / "WO1",
                       / "WO2",
                       / "WO3",
                       / "WO4",
                       / "WO5",
                       / "WO6",
           # Si: equal_to("TYPE_RACCORD", 'COQUE_MASSIF')
               ◆ EPAIS = float,
               ◆ CHAM_NORMALE = cham_no,
           ◇ ELIM_MULT = / "NON",
                         / "OUI" (par défaut),
        ),
      | LIAISON_CYCL = _F(
           ◇ GROUP_MA_MAIT1 = list[grma],
           ◇ GROUP_MA_MAIT2 = list[grma],
           ◆ | GROUP_MA_ESCL = list[grma],
             | GROUP_NO_ESCL = list[grno],
           ◇ TRAN = list[float],
           ◇ ANGL_NAUT = list[float],
           ◇ CENTRE = list[float],
           ◇ COEF_MAIT1 = float,
           ◇ COEF_MAIT2 = float,
           ◇ COEF_ESCL = float,
           ◇ & DDL_MAIT = "DNOR" (ou non renseigné),
             & DDL_ESCL = "DNOR" (ou non renseigné),
        ),
      | LIAISON_SOLIDE = _F(
           ◆ / GROUP_NO = list[grno],
             / GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◇ DIST_MIN = float,
        ),
      | LIAISON_ELEM = _F(
           ◆ OPTION = / "2D_POU",
                      / "3D_POU",
                      / "3D_POU_ARLEQUIN",
                      / "3D_TUYAU",
                      / "COQ_3D",
                      / "COQ_POU",
                      / "COQ_TUYAU",
                      / "PLAQ_POUT_ORTH",
           # Si: equal_to("OPTION", '3D_POU')
               ◇ GROUP_MA_1 = list[grma],
               ◆ / GROUP_NO_2 = grno,
                 / GROUP_MA_2 = grma,
               ◇ ANGL_MAX = float (défaut: 1.0),
           # Si: equal_to("OPTION", 'COQ_3D')
               ◆ GROUP_MA_COQUE = grma,
               ◆ GROUP_MA_MASSIF = grma,
               ◆ CARA_ELEM = cara_elem,
               ◇ COEF_RIGI_DRZ = float (défaut: 1e-05),
           # Si: equal_to("OPTION", '3D_POU_ARLEQUIN')
               ◇ GROUP_MA_1 = list[grma],
               ◇ GROUP_MA_2 = list[grma],
               ◆ CARA_ELEM = cara_elem,
               ◆ CHAM_MATER = cham_mater,
           # Si: equal_to("OPTION", '2D_POU')
               ◇ GROUP_MA_1 = list[grma],
               ◆ / GROUP_NO_2 = grno,
                 / GROUP_MA_2 = grma,
           # Si: equal_to("OPTION", 'COQ_POU') or equal_to("OPTION", 'COQ_TUYAU')
               ◇ GROUP_MA_1 = list[grma],
               ◇ GROUP_NO_2 = grno,
               ◆ CARA_ELEM = cara_elem,
               ◆ AXE_POUTRE = list[float],
           # Si: equal_to("OPTION", '3D_TUYAU')
               ◇ GROUP_MA_1 = list[grma],
               ◇ GROUP_NO_2 = grno,
               ◆ CARA_ELEM = cara_elem,
               ◆ AXE_POUTRE = list[float],
               ◇ ANGL_MAX = float (défaut: 1.0),
           # Si: equal_to("OPTION", 'PLAQ_POUT_ORTH')
               ◇ GROUP_MA_1 = list[grma],
               ◇ GROUP_NO_2 = grno,
               ◇ ANGL_MAX = float (défaut: 1.0),
               ◇ VERIF_EXCENT = / "NON",
                                / "OUI" (par défaut),
        ),
      | LIAISON_UNIF = _F(
           ◆ / GROUP_NO = list[grno],
             / GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ DDL = / "DRGX",
                   / "DRGY",
                   / "DRGZ",
                   / "DRX",
                   / "DRY",
                   / "DRZ",
                   / "DX",
                   / "DY",
                   / "DZ",
                   / "EPXX",
                   / "EPXY",
                   / "EPXZ",
                   / "EPYY",
                   / "EPYZ",
                   / "EPZZ",
                   / "GLIS",
                   / "GONF",
                   / "GRX",
                   / "H1PRE1",
                   / "H1X",
                   / "H1Y",
                   / "H1Z",
                   / "K1",
                   / "K2",
                   / "K3",
                   / "LH1",
                   / "PHI",
                   / "PRE1",
                   / "PRE2",
                   / "PRES",
                   / "PRES11",
                   / "PRES12",
                   / "PRES13",
                   / "PRES21",
                   / "PRES22",
                   / "PRES23",
                   / "PRES31",
                   / "PRES32",
                   / "PRES33",
                   / "PSI",
                   / "TEMP",
                   / "UI2",
                   / "UI3",
                   / "UI4",
                   / "UI5",
                   / "UI6",
                   / "UO2",
                   / "UO3",
                   / "UO4",
                   / "UO5",
                   / "UO6",
                   / "V11",
                   / "V12",
                   / "V13",
                   / "V21",
                   / "V22",
                   / "V23",
                   / "V31",
                   / "V32",
                   / "V33",
                   / "VI2",
                   / "VI3",
                   / "VI4",
                   / "VI5",
                   / "VI6",
                   / "VO2",
                   / "VO3",
                   / "VO4",
                   / "VO5",
                   / "VO6",
                   / "WI1",
                   / "WI2",
                   / "WI3",
                   / "WI4",
                   / "WI5",
                   / "WI6",
                   / "WO",
                   / "WO1",
                   / "WO2",
                   / "WO3",
                   / "WO4",
                   / "WO5",
                   / "WO6",
        ),
      | LIAISON_CHAMNO = _F(
           ◆ CHAM_NO = cham_no,
           ◆ COEF_IMPO = float,
        ),
      | LIAISON_RBE3 = _F(
           ◇ GROUP_NO_MAIT = grno,
           ◆ DDL_MAIT = / "DRX",
                        / "DRY",
                        / "DRZ",
                        / "DX",
                        / "DY",
                        / "DZ",
           ◇ GROUP_NO_ESCL = list[grno],
           ◆ DDL_ESCL = list[text],
           ◇ COEF_ESCL = list[float] (défaut: 1.0),
        ),
      | LIAISON_INTERF = _F(
           ◆ MACR_ELEM_DYNA = macr_elem_dyna,
           ◇ TYPE_LIAISON = / "RIGIDE" (par défaut),
                            / "SOUPLE",
        ),
      | LIAISON_PROJ = _F(
           ◆ MATR_PROJECTION = corresp_2_mailla,
           ◆ DDL = / "DRGX",
                   / "DRGY",
                   / "DRGZ",
                   / "DRX",
                   / "DRY",
                   / "DRZ",
                   / "DX",
                   / "DY",
                   / "DZ",
                   / "EPXX",
                   / "EPXY",
                   / "EPXZ",
                   / "EPYY",
                   / "EPYZ",
                   / "EPZZ",
                   / "GLIS",
                   / "GONF",
                   / "GRX",
                   / "H1PRE1",
                   / "H1X",
                   / "H1Y",
                   / "H1Z",
                   / "K1",
                   / "K2",
                   / "K3",
                   / "LH1",
                   / "PHI",
                   / "PRE1",
                   / "PRE2",
                   / "PRES",
                   / "PRES11",
                   / "PRES12",
                   / "PRES13",
                   / "PRES21",
                   / "PRES22",
                   / "PRES23",
                   / "PRES31",
                   / "PRES32",
                   / "PRES33",
                   / "PSI",
                   / "TEMP",
                   / "UI2",
                   / "UI3",
                   / "UI4",
                   / "UI5",
                   / "UI6",
                   / "UO2",
                   / "UO3",
                   / "UO4",
                   / "UO5",
                   / "UO6",
                   / "V11",
                   / "V12",
                   / "V13",
                   / "V21",
                   / "V22",
                   / "V23",
                   / "V31",
                   / "V32",
                   / "V33",
                   / "VI2",
                   / "VI3",
                   / "VI4",
                   / "VI5",
                   / "VI6",
                   / "VO2",
                   / "VO3",
                   / "VO4",
                   / "VO5",
                   / "VO6",
                   / "WI1",
                   / "WI2",
                   / "WI3",
                   / "WI4",
                   / "WI5",
                   / "WI6",
                   / "WO",
                   / "WO1",
                   / "WO2",
                   / "WO3",
                   / "WO4",
                   / "WO5",
                   / "WO6",
           ◇ TYPE = / "EXCENTREMENT",
                    / "IDENTITE" (par défaut),
        ),
      | VECT_ASSE = cham_no,
      | FORCE_NODALE = _F(
           ◆ / GROUP_NO = list[grno],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
             | MX = float,
             | MY = float,
             | MZ = float,
           ◇ ANGL_NAUT = list[float],
        ),
      | FORCE_FACE = _F(
           ◇ GROUP_MA = list[grma],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
        ),
      | FORCE_ARETE = _F(
           ◇ GROUP_MA = list[grma],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
             | MX = float,
             | MY = float,
             | MZ = float,
        ),
      | FORCE_CONTOUR = _F(
           ◇ GROUP_MA = list[grma],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
        ),
      | FORCE_INTERNE = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
        ),
      | PRE_SIGM = _F(
           ◆ SIGM = carte / cham_elem,
        ),
      | PRES_REP = _F(
           ◆ | TOUT = "OUI" (ou non renseigné),
             | GROUP_MA = list[grma],
             | FISSURE = list[fiss_xfem],
           ◆ | PRES = float,
             | CISA_2D = float,
        ),
      | EFFE_FOND = _F(
           ◆ GROUP_MA_INT = list[grma],
           ◇ GROUP_MA = list[grma],
           ◆ PRES = float,
        ),
      | PRE_EPSI = _F(
           ◆ | TOUT = "OUI" (ou non renseigné),
             | GROUP_MA = list[grma],
             | EPSI = carte / cham_elem,
           ◆ | EPXX = float,
             | EPYY = float,
             | EPZZ = float,
             | EPXY = float,
             | EPXZ = float,
             | EPYZ = float,
             | EPX = float,
             | KY = float,
             | KZ = float,
             | EXX = float,
             | EYY = float,
             | EXY = float,
             | KXX = float,
             | KYY = float,
             | KXY = float,
             | VECT_N = list[float],
           # Si: exists("VECT_N")
               ◆ | KN1 = float,
                 | KN2 = float,
        ),
      | FORCE_POUTRE = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◇ TYPE_CHARGE = / "FORCE" (par défaut),
                           / "VENT",
           # Si: equal_to("TYPE_CHARGE", 'FORCE')
               ◆ | FX = float,
                 | FY = float,
                 | FZ = float,
                 | MX = float,
                 | MY = float,
                 | MZ = float,
                 | N = float,
                 | VY = float,
                 | VZ = float,
                 | MT = float,
                 | MFY = float,
                 | MFZ = float,
                 | MGX = float,
                 | MGY = float,
                 | MGZ = float,
           # Si: equal_to("TYPE_CHARGE", 'VENT')
               ◆ | FX = fonction / formule / nappe,
                 | FY = fonction / formule / nappe,
                 | FZ = fonction / formule / nappe,
                 | N = fonction / formule / nappe,
                 | VY = fonction / formule / nappe,
                 | VZ = fonction / formule / nappe,
        ),
      | FORCE_TUYAU = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ PRES = float,
        ),
      | FORCE_COQUE = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
             | MX = float,
             | MY = float,
             | MZ = float,
             | PRES = float,
             | F1 = float,
             | F2 = float,
             | F3 = float,
             | MF1 = float,
             | MF2 = float,
           ◇ PLAN = / "INF",
                    / "MAIL" (par défaut),
                    / "MOY",
                    / "SUP",
        ),
      | FORCE_COQUE_FO = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◇ PRES = fonction / formule / nappe,
        ),
      | LIAISON_COQUE = _F(
           ◆ | GROUP_MA_1 = list[grma],
             | GROUP_MA_2 = list[grma],
             | GROUP_NO_1 = list[grno],
             | GROUP_NO_2 = list[grno],
           ◇ SANS_GROUP_MA_1 = list[grma],
           ◇ SANS_GROUP_NO_1 = list[grno],
           ◇ SANS_GROUP_MA_2 = list[grma],
           ◇ SANS_GROUP_NO_2 = list[grno],
        ),
      | RELA_CINE_BP = _F(
           ◆ CABLE_BP = cabl_precont,
           ◇ RELA_CINE = / "NON",
                         / "OUI" (par défaut),
           # Si: equal_to("RELA_CINE", 'OUI')
               ◇ SIGM_BPEL = / "NON" (par défaut),
                             / "OUI",
           # Si: equal_to("RELA_CINE", 'NON')
               ◇ SIGM_BPEL = "OUI",
           ◇ TYPE_EPX = / "ADHE" (par défaut),
                        / "FROT",
                        / "GLIS",
           ◇ DIST_MIN = float,
        ),
      | FORCE_ELEC = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◇ POSITION = / "FINI",
                        / "INFI",
                        / "PARA",
           # Si: not exists("POSITION")
               ◇ FX = float (défaut: 0.0),
               ◇ FY = float (défaut: 0.0),
               ◇ FZ = float (défaut: 0.0),
           # Si: equal_to("POSITION", 'PARA')
               ◆ / TRANS = list[float],
                 / DIST = float,
               # Si: exists("DIST")
                   ◆ POINT2 = list[float],
           # Si: (equal_to("POSITION", 'FINI')) or (equal_to("POSITION", 'INFI'))
               ◆ POINT1 = list[float],
               ◆ POINT2 = list[float],
        ),
      | VITE_FACE = _F(
           ◇ GROUP_MA = list[grma],
           ◆ / VNOR = float,
             / DIRECTION = list[float],
           # Si: exists("DIRECTION")
               ◆ VITE = float,
        ),
      | ONDE_FLUI = _F(
           ◇ GROUP_MA = list[grma],
           ◆ PRES = float,
        ),
      | FLUX_THM_REP = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ | FLUN = float,
             | FLUN_HYDR1 = float,
             | FLUN_HYDR2 = float,
        ),
      | FORCE_SOL = _F(
           ◆ / GROUP_NO_INTERF = grno,
             / SUPER_MAILLE = ma,
           ◆ | UNITE_RESU_MASS = unit,
             | UNITE_RESU_RIGI = unit,
             | UNITE_RESU_AMOR = unit,
           ◇ UNITE_RESU_FORC = unit,
           ◇ NB_PAS_TRONCATURE = int (défaut: 0),
           ◇ TYPE = / "ASCII" (par défaut),
                    / "BINAIRE",
        ),
      | ECHANGE_THM = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ | COEF_11 = float,
             | COEF_12 = float,
             | COEF_21 = float,
             | COEF_22 = float,
           ◇ PRE1_EXT = float,
           ◇ PRE2_EXT = float,
        ),
      | ECHANGE_THM_HR = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ HR_EXT = float,
           ◆ ALPHA = float,
           ◆ PVAP_SAT = float,
        ),
    ◇ DOUBLE_LAGRANGE = / "NON",
                        / "OUI" (par défaut),
    ◇ INFO = / 1 (par défaut),
             / 2,
)


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

Généralités#

Principes#

Il y a trois grandes catégories d’opérande:

  • Les opérandes appliquant des conditions cinématiques ou chargements de Dirichlet, c’est-à-dire des relations entre les degrés de liberté. Dans AFFE_CHAR_MECA, ces conditions sont appliquées par dualisation (méthode des doubles Lagrange, voir [R3.03.01]);

  • Les opérandes appliquant des chargements de type «forces» ou chargements de Neumann, appliquées sous forme faible, ce qui implique l’utilisation d’un schéma d’intégration numérique. Certains chargements impliquent la présence d’éléments de bord dans le modèle;

  • Les opérandes appliquant des chargements spéciaux, y compris de type mixte Dirichlet/Neumann.

La plupart des opérandes sont construits sur le même principe:

  • Spécification du lieu d’application des conditions limites par les mots-clefs standards GROUP_NO, GROUP_MA et parfois SANS_GROUP_NO et SANS_GROUP_MA.

  • Spécification des composantes affectées, qui se répartissent en trois groupes:

    • Composantes standards de la grandeur considérée. Il s’agit de la grandeur DEPL_R (ou DEPL_C ou DEPL_F), représentant les degrés de liberté du problème de mécanique

    • Composantes combinées DNOR et DTAN, qui construisent une combinaison entre les composantes de la grandeur DEPL_R sur des considérations relatives aux tangentes et à la normale;

    • Composantes en efforts, moments ou pression utilisant soit la grandeur FORC_R (ou FORC_C ou FORC_F), la grandeur PRES_R (ou PRES_C ou PRES_F);

  • Les composantes affectées doivent être du bon type selon l’opérateur utilisé:

    • Du type réel pour l’opérateur AFFE_CHAR_MECA;

    • Du type complexe pour l’opérateur AFFE_CHAR_MECA_C;

    • Du type fonction (créé notamment par l’un des opérateurs DEFI_FONCTION, DEFI_NAPPE ou DEFI_CONSTANTE) pour l’opérateur AFFE_CHAR_MECA_F. Ceci est vrai à une exception près: l’argument de COEF_MULT pour le mot clé facteur LIAISON_DDL dans AFFE_CHAR_MECA_F est obligatoirement de type réel.

Pour les chargements LIAISON_DDL, LIAISON_MAIL, LIAISON_GROUP et LIAISON_UNIF, la liste des composantes applicables est restreinte à certains degrés de liberté.

Remarque

L’usage du mot-clef GROUP_MA ne présuppose pas que les chargements seront appliqués sur les éléments, c’est aussi pour faciliter la vie des utilisateurs. Par exemple, pour les chargements de Dirichlet, GROUP_MA est utilisé mais on récupère les noeuds qui appartiennent aux éléments ainsi désignés

Hypothèses et limitations#

En plus de la définition des hypothèses et limitations propres à chaque chargement, il existe des hypothèses générales que l’on va rappeler ici.

Linéarité des relations cinématiques#

Une relation cinématique permet d’écrire une équation du type:

\[{\sum}_{i=1}^{r}{\alpha}_{i}{U}_{i} = \beta\]

Avec \({U}_{i}\) la liste des \(r\) degrés de liberté, \({\alpha}_{i}\) les coefficients et \(\beta\) le second membre.

Les relations cinématiques sont des relations linéaires , c’est-à-dire:

  • Elles ne peuvent pas dépendre a priori de la déformation ou du mouvement de la structure: elles restent valables uniquement dans l’hypothèse des petites perturbations, sauf mention contraire (voir LIAISON_SOLIDE);

  • Les coefficients \({\alpha}_{i}\) de la relation linéaire ne peuvent pas être des fonctions du temps, car la matrice \(B\) des conditions de Dirichlet est constante pendant tout le transitoire. Par contre, ces coefficients peuvent être des fonctions de la géométrie initiale ;

  • Le second membre \(\beta\) peut être une fonction du temps ou de la géométrie initiale ;

Chargements de Neumann#

Il est tout à fait possible que certains chargements de Neumann soient non-linéaires, et, en particulier, dépendent de la déformation de la structure. De tels chargements sont communément appelés chargements suiveurs . Néanmoins, dans ce cas, le problème devenant non-linéaire, il est nécessaire d’utiliser un opérateur de calcul adéquat comme STAT_NON_LINE ou DYNA_NON_LINE et de préciser que ces chargements sont effectivement considérés comme suiveurs (voir [U4.51.03]).

La plupart des chargements de Neumann (sauf FORCE_NODALE) sont appliqués sous forme faible, c’est-à-dire qu’on utilise une formule de quadrature numérique. De plus, on ne peut appliquer simultanément un chargement de Neumann et un chargement de Dirichlet sur le même nœud et dans la même direction. De ce fait, il peut exister une différence entre la solution théorique et la solution éléments finis.

Par exemple, sur une structure insuffisamment maillée, il est possible de constater un écart entre la somme des efforts nodaux correspondant au chargement de pesanteur et la valeur du poids réel, l’écart correspondant grosso modo au nombre de nœuds encastrés de la structure.

Un raffinement du maillage permet de minimiser cette différence. On peut également faire en sorte que les éléments finis, sur lesquels des conditions cinématiques sont imposées, soient d’une taille suffisamment petite pour que leur poids soit négligeable devant celle de la structure totale.

Une autre solution est de dédoubler les nœuds sur lesquels la condition cinématique est imposée et de faire par exemple un LIAISON_DDL entre les deux nœuds ou d’utiliser des éléments discrets.

Disponibilités des chargements suivant le type#

Les chargements disponibles ne sont pas forcément applicables dans les trois opérateurs AFFE_CHAR_MECA. Voici la liste des disponibilités suivant le type de l’opérateur:

Mot-clef

AFFE_CHAR_MECA

AFFE_CHAR_MECA_C

AFFE_CHAR_MECA_F

ARETE_IMPO

OUI

NON

NON

CHAMNO_IMPO

OUI

NON

NON

DDL_IMPO

OUI

OUI

OUI

EFFE_FOND

OUI

NON

OUI

EVOL_CHAR

OUI

NON

NON

FACE_IMPO

OUI

NON

OUI

FLUX_THM_REP

OUI

NON

OUI

FORCE_ARETE

OUI

NON

OUI

FORCE_CONTOUR

OUI

NON

OUI

FORCE_COQUE

OUI

NON

OUI

FORCE_COQUE_FO

OUI

NON

NON

FORCE_ELEC

OUI

NON

NON

FORCE_FACE

OUI

NON

OUI

FORCE_INTERNE

OUI

NON

OUI

FORCE_NODALE

OUI

NON

OUI

FORCE_POUTRE

OUI

OUI

OUI

FORCE_SOL

OUI

NON

NON

FORCE_TUYAU

OUI

NON

OUI

LIAISON_CHAMNO

OUI

NON

NON

LIAISON_ CYCL

OUI

NON

NON

LIAISON_DDL

OUI

OUI

OUI

LIAISON_ ELEM

OUI

NON

NON

LIAISON_GROUP

OUI

NON

OUI

LIAISON_INTERF

OUI

NON

NON

LIAISON_MAIL

OUI

NON

NON

LIAISON_OBLIQUE

OUI

NON

OUI

LIAISON_RBE3

OUI

NON

NON

LIAISON_SOLIDE

OUI

NON

NON

LIAISON_UNIF

OUI

NON

OUI

ONDE_FLUI

OUI

NON

NON

ONDE_PLANE

NON

NON

OUI

PESANTEUR

OUI

NON

NON

PRE_EPSI

OUI

NON

OUI

PRE_SIGM

OUI

NON

NON

PRES_REP

OUI

NON

OUI

RELA_CINE_BP

OUI

NON

NON

ROTATION

OUI

NON

NON

VECT_ASSE

OUI

NON

NON

VITE_FACE

OUI

NON

OUI

Messages d’erreur possibles#

Il arrive parfois qu’une commande de calcul mécanique s’arrête en erreur fatale lors du calcul des seconds membres élémentaires dus aux chargements définis dans la commande. Lorsque le code s’arrête pendant ces calculs élémentaires, une information importante du message d’erreur est le nom de l’option de calcul demandée par le code.

Le nom de cette option est en général inconnue de l’utilisateur et il lui est donc difficile de comprendre le message. Dans le tableau ci-dessous, on établit une correspondance entre des mots-clefs facteurs et les noms d’option de calcul qu’ils activent:

Mot-clef

Nom de l’option

EVOL_CHAR

CHAR_MECA_PRES_R CHAR_MECA_FR3D3D CHAR_MECA_FR2D2D CHAR_MECA_FR2D3D CHAR_MECA_FR1D2D

PESANTEUR

CHAR_MECA_PESA_R

ROTATION

CHAR_MECA_ROTA_R

PRE_SIGM

FORC_NODA

FORCE_NODALE

CHAR_MECA_FORC_R CHAR_MECA_FORC_F

FORCE_ARETE

CHAR_MECA_FR1D3D CHAR_MECA_FF1D3D

FORCE_CONTOUR

CHAR_MECA_FR1D2D CHAR_MECA_FF1D2D

FORCE_FACE

CHAR_MECA_FR2D3D CHAR_MECA_FF2D3D

FORCE_INTERNE

CHAR_MECA_FR2D2D CHAR_MECA_FR3D3D CHAR_MECA_FF2D2D CHAR_MECA_FF3D3D

PRES_REP

CHAR_MECA_PRES_R CHAR_MECA_PRES_F

EFFE_FOND

CHAR_MECA_EFON_R CHAR_MECA_EFON_F

PRE_EPSI

CHAR_MECA_EPSI_R CHAR_MECA_EPSI_F

FORCE_ELEC

CHAR_MECA_FRELEC

FORCE_POUTRE

CHAR_MECA_FR1D1D CHAR_MECA_FC1D1D CHAR_MECA_FF1D1D

FORCE_TUYAU

CHAR_MECA_PRES_R CHAR_MECA_PRES_F

FORCE_COQUE

CHAR_MECA_FRCO2D CHAR_MECA_FRCO3D CHAR_MECA_FFCO2D CHAR_MECA_FFCO3D

FLUX_THM_REP

CHAR_MECA_FLUX_R CHAR_MECA_FLUX_F

Choix des unités#

Pour les chargements de Neumann, les forces sont à fournir :

  • par unité de maillage pour les efforts linéiques,

  • par unité de maillage au carré pour les efforts surfaciques,

  • et par unité de maillage au cube pour les efforts volumiques,

en cohérence avec la définition des propriétés matériaux (module d’Young par exemple). Dans le cas axisymétrique, les forces à fournir sont ramenées à un secteur de \(1\) radian (diviser le chargement réel par \(2\pi\) ).

Cas des grandes transformations#

Problématique#

Lorsqu’on applique un chargement de Dirichlet sur une structure en grandes transformations (grands déplacements, grandes rotations), il faut veiller à ce que ce chargement soit applicable lorsque l’hypothèse des petites perturbations n’est plus vérifiée.

C’est naturellement le cas des chargements suivants:

  • DDL_IMPO mais si on utilise AFFE_CHAR_MECA_F, il faut le faire avec des fonctions qui représentent le déplacement imposé réel (curviligne en général). Si on ne le fait pas, l’interpolation en temps nous fait passer par des états intermédiaires «faux»;

  • LIAISON_MAIL + TYPE_RACCORD=’MASSIF’;

  • LIAISON_UNIF;

  • LIAISON_OBLIQUE;

  • LIAISON_DDL;

  • LIAISON_CHAM_NO;

  • CHAMNO_IMPO;

  • LIAISON_SOLIDE à condition d’appliquer l’hypothèse d’un chargement suiveur.

Par contre, pour les chargements suivants, l’hypothèse des grandes transformations n’est pas applicable et provoquera des résultats faux:

  • FACE_IMPO avec DNOR=f(t): la «normale» change en grandes rotations;

  • LIAISON_MAIL + TYPE_RACCORD=’COQUE_MASSIF’et LIAISON_MAIL + “MASSIF_COQUE”;

  • LIAISON_ELEM;

  • LIAISON_RBE3.

Chargements suiveurs#

Pour les opérateurs non-linéaires (STAT_NON_LINE et DYNA_NON_LINE), certains chargements peuvent être «suiveurs», c’est-à-dire que leur application dépend du déplacement et donc change à chaque itération de Newton. Il est alors nécessaire que l’utilisateur le précise par l’opérande TYPE_CHARGE dans le mot-clef facteur EXCIT de ces commandes (voir [U4.51.03]). Le fait de préciser que le chargement est suiveur ajoute parfois une contribution dans la matrice de rigidité (voir par exemple [R3.03.04]) et peut la rendre non-symétrique.

Pour le chargement EVOL_CHAR, il n’est pas nécessaire de préciser que les chargements sont suiveurs, ils le sont automatiquement par défaut. Le fait de le préciser va simplement activer la contribution matricielle supplémentaire et donc agir sur la vitesse de convergence (et non sur la précision du résultat).

Le chargement EFFE_FOND en mode suiveur est une approximation de la réalité. Il est activé car il dépend simultanément d’un chargement de type PRES_REP. Par contre, si, dans la zone où est appliquée le chargement EFFE_FOND, les mouvements ne sont pas négligeables (variation de la section tel qu’ovalisation ou rotation non-négligeable qui modifie la normale), on commet une erreur.

Désignation des entités topologiques d’affectation des chargements#

De façon générale, lorsque les entités sur lesquelles des valeurs doivent être affectées sont définies:

  • Sur un seul nœud: on utilise l’opérande GROUP_NO qui ne doit évidemment contenir qu’un seul nœud;

  • Sur une liste de nœuds: on peut utiliser l’opérande GROUP_NO mais aussi l’opérande GROUP_MA ou TOUT=’OUI’pour affecter sur tout le maillage;

  • Sur une seule maille: on utilise l’opérande GROUP_MA qui ne doit évidemment contenir qu’une seule maille;

  • Sur une liste de mailles: on peut utiliser l’opérande GROUP_MA ou TOUT=’OUI’ pour affecter sur tout le maillage;

Certains mots-clefs ont besoin de définir plusieurs entités topologiques (des groupes de nœuds en vis-à-vis par exemple), dans ce cas, les noms peuvent varier légèrement (GROUP_NO_2, GROUP_MA_ESCL, etc.). Il est possible dans la plupart des mots clefs d’exclure des nœuds ou des mailles à l’aide de mot-clefs de type SANS_* . Cette fonctionnalité évite de redéfinir des groupes dans votre maillage ou dans la commande [DEFI_GROUP]s.

Règles de surcharge et de rémanence#

Pour définir le domaine d’affectation le plus simplement possible, on utilise la règle de surcharge définie dans le document [U1.03.00] dont on rappelle les principes:

  • Les affectations se font en superposant les effets des différents chargements;

  • En cas de conflit, le dernier chargement l’emporte sur les précédents;

Si par exemple, l’utilisateur fait:

FORCE_FACE=_F(GROUP_MA=’G1’,FX= 12 ),
PRES_REP=_F(GROUP_MA=’G1’,PRES= 13 )

Et si la normale pour \({G1}\) est orientée selon \(X\) , alors tout se passera comme si on avait fait:

FORCE_FACE=_F(GROUP_MA=’G1’, FX= 25)

La règle de surcharge précédente doit être complétée par une autre règle pour préciser ce qui se passe lorsqu’on peut affecter plusieurs quantités pour chaque occurrence d’un chargement. Soit par exemple:

FORCE_INTERNE=(
    _F(TOUT = ’OUI’, FX = 1. ),
    _F(GROUP_MA = ’GM1’, FY = 2. ),
)

La règle de surcharge nous dit que la deuxième occurrence de FORCE_INTERNE surcharge la première. Mais que vaut FX sur une maille appartenant à GM1? A-t-il été effacé par la deuxième occurrence? Si la seule règle de surcharge est appliquée, FX n’est pas défini sur GM1.

On utilise donc une deuxième règle dite de rémanence qui précise que lors de l’application de la règle de surcharge sur des occurrences, on conserve les composantes qui ne sont pas surchargées.

En appliquant la règle de rémanence sur l’exemple, FX conserve la valeur affectée au préalable. Tous les éléments du modèle ont donc une valeur pour FX et les éléments de GM1 ont une valeur à la fois pour FX et FY

Définition des repères#

La plupart des chargements sont définis dans le repère global du maillage, sauf:

  • Pour les éléments de structure;

  • Pour les mots-clefs DNOR, DTAN et les chargements de type pression. Dans ce cas, il est nécessaire de définir normales et tangentes, voire éventuellement d’utiliser la commande [MODI_MAILLAGE];

  • Quand le mot-clef ANGL_NAUT est utilisable;

Dans les autres cas, il est généralement possible de définir des fonctions de l’espace.

Normales et tangentes aux mailles#

On donne ici la définition standard des normales et des tangentes suivant le type de maille de bord:

  • Pour les éléments segments en 2D, la tangente est celle définie par le segment orienté par ses deux premiers nœuds, la normale \(\underline{n}\) est alors telle que \((\underline{n},\underline{t})\) forment un repère direct

../../../../_images/100002E80000089400000457B8CE41B364143DAC.svg

Fig. 102 Définition de la normale dans le cas bi-dimensionnel#

../../../../_images/10000386000008AF000007A62A00C6CBF19E3838.svg

Fig. 103 Définition de la tangente dans le cas bi-dimensionnel#

  • Pour les éléments triangles ou quadrangles en 3D, l’orientation de la normale \(\underline{n}\) est celle correspondant au sens direct de la description de la maille.

    ../../../../_images/1000076C000019D700000707B9DB2381FC2441CD.svg

    Fig. 104 Définition de la normale dans le cas tri-dimensionnel#

Si DNOR (ou DTAN) est spécifié, la normale (ou la tangente) sur un nœud est la moyenne des normales ou des tangentes des mailles sur lesquelles sont affectées les conditions limites et qui ont ce nœud en commun (sauf pour les éléments quadratiques courbes où la normale est correctement calculée en tout point).

../../../../_images/100004A2000010BE000006ED6AE0FD3CA03A9B57.svg

Fig. 105 Lissage des normales#

L’opérateur MODI_MAILLAGE permet de s’assurer de la continuité de l’orientation de la normale aux bords des éléments massifs de milieu continu.

Cas des éléments de structure#

Les éléments de structure (poutres, plaques et coques) ont leur propre repère local dont la définition est donnée dans la documentation de la commande [AFFE_CARA_ELEM].

Définition d’un repère par les angles nautiques#

Certains chargements offrent la possibilité de donner leur direction d’application en utilisant des angles nautiques dont on rappelle ici la définition.

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 trois rotations:

  • Une rotation d’angle \(\alpha\) autour de \(Z\), transformant \((XYZ)\) en \(({X}_{1}{Y}_{1}{Z}_{1})\) avec \({Z}_{1}\equiv Z\);`

    ../../../../_images/10000000000001150000010F926B712830D3F866.png

    Fig. 106 Définition de l’angle \(\alpha\)#

  • 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}\);

    ../../../../_images/100000000000012500000107BF6F9ECA7DAA2232.png

    Fig. 107 Définition de l’angle \(\beta\) ( l’angle de rotation \(\beta\) est négatif)#

  • 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/10000000000000E4000000D535841AC46D6286CE.png

    Fig. 108 Définition de l’angle \(\gamma\)#

Le repère local est: \(({X}_{3}{Y}_{3}{Z}_{3})\).

../../../../_images/10000000000001C5000001A617B17BAA9B5DCDBE.png

Fig. 109 Représentation des repères global et local#

Opérandes généraux#

Mot-clef MODELE#

Le mot-clef MODELE attend un concept produit par l’opérateur [AFFE_MODELE] où sont définis les types d’éléments finis affectés sur le maillage. Le modèle est nécessairement du type MECANIQUE.

Mots-clefs CHAM_MATER et CARA_ELEM#

Le mot-clef CHAM_MATER doit être fourni lorsque qu’on donne une fonction qui dépend de la masse volumique (paramètre RHO).

Le mot-clef CARA_ELEM doit être fourni lorsque qu’on donne une fonction qui dépend de l’épaisseur de la maille de coque (paramètre EP).

Mot-clef DOUBLE_LAGRANGE#

Ce mot-clé permet de dire si l’utilisateur souhaite ou non dédoubler les multiplicateurs de Lagrange utilisés pour définir dualiser les conditions aux limites dans la matrice assemblée.

Concrètement, dédoubler les multiplicateurs de Lagrange permet d’utiliser des solveurs linéaires ne permettant pas le pivotage. Ne pas dédoubler les Lagrange permet de réduire le nombre de degré de liberté du problème (et donc la taille du problème à résoudre) mais son usage est limité aux solveurs MUMPS et Petsc.

Notons que les deux multiplicateurs de Lagrange associés à la relation seront tels que le premier sera situé avant tous les termes impliqués dans la relation et le second après, dans la matrice assemblée. Ce choix présente l’avantage d’avoir une matrice assemblée dont l’encombrement est plus faible mais a le désavantage de pouvoir faire apparaître une singularité dans la matrice. La numérotation étant de toute façon susceptible d’être modifiée par le renuméroteur du solveur externe choisi, ce détail reste donc purement technique.

Mot-clef VERI_NORM#

Le mot-clef VERI_NORM vérifie l’orientation des normales aux mailles surfaciques en 3D (mailles de peau TRIA ou QUAD) et linéiques en 2D (mailles de peau SEG). Si une normale n’est pas sortante, il y a émission d’un message d’erreur fatale.

Pour réorienter les mailles de façon à avoir des normales sortantes, il faut utiliser la commande [MODI_MAILLAGE], mot-clé ORIE_PEAU.

Aucune vérification n’est possible sur les coques ou les plaques. Pour vérifier leur orientation, on renvoie également à la commande [MODI_MAILLAGE], mot-clé ORIE_NORM_COQUE.

Mot-clef VERI_AFFE#

Le mot-clef VERI_AFFE vérifie la pertinence des affectations demandées selon les types d’éléments finis. Par exemple, on vérifie qu’une pression imposée par PRES_REP n’est pas affecté sur des éléments volumiques ou ponctuels.

Il est possible de désactiver ces vérifications, sur les gros modèles, si elles prennent trop de temps.

Mot-clef INFO#

Le mot-clef INFO gère le niveau des impressions sur le fichier message.

Mots-clefs ANGL_NAUT/CENTRE/TRAN#

ANGL_NAUT permet de définir un repère par les angles nautiques en degrés.

CENTRE donne les coordonnées du centre de rotation (dans le repère global).

TRAN donne les composantes du vecteur translation (dans le repère global).

Chargements de type Dirichlet#

Degrés de liberté#

Les chargements de Dirichlet sont imposés sur les degrés de liberté de la grandeur DEPL_R (ou DEPL_C ou DEPL_F ) , représentant les degrés de liberté du problème de mécanique (ou de thermo-hydro-mécanique ou d’hydraulique).

Le tableau ci-dessous permet de s’orienter dans le choix du mot-clé facteur selon le besoin.

Tableau 5-1 : Besoins.

Relation linéaire entre certains degrés de liberté sur des groupes de nœuds choisis

mot-clé facteur

Imposer une ou plusieurs valeurs de degré de liberté

DDL_IMPO § Mot-clé DDL_IMPO

Imposer à une arête sur des éléments volumiques, une ou plusieurs valeurs de degré de liberté

ARETE_IMPO § Mot-clé ARETE_IMPO

Imposer à une face sur des éléments surfaciques ou volumiques, une ou plusieurs valeurs de degré de liberté

FACE_IMPO § Mot-clé FACE_IMPO

Définir une liaison unique entre nœuds de deux groupes de nœuds

LIAISON_DDL § Mot-clé LIAISON_DDL

Appliquer la même valeur définie composante par composante de degré de liberté dans un repère oblique quelconque

LIAISON_OBLIQUE § Mot-clé LIAISON_OBLIQUE

Imposer la même valeur (inconnue)

LIAISON_UNIF § Mot-clé LIAISON_UNIF

Définir une relation linéaire entre tous les degrés de liberté présents dans un concept CHAM_NO

LIAISON_CHAMNO § Mot-clé LIAISON_CHAMNO

Définir une relation linéaire entre tous les degrés de liberté dont le second membre est issu du contenu d’un CHAM_NO

CHAMNO_IMPO § Mot-clé CHAMNO_IMPO

Définir une même liaison par couples de nœuds en « vis-à-vis » dans deux groupes

LIAISON_GROUP § Mot-clé LIAISON_GROUP

« Recoller » deux « bords » d’une structure sans contrainte de compatibilité sur les maillages de ces « bords ». Un d’entre eux est déclaré « esclave », l’autre « maître »

LIAISON_MAIL § Mot-clé LIAISON_MAIL

Relier un « bord » d’une structure déclaré « esclave », en vis-à-vis d’un autre « bord » déclaré « maître » dont les maillages sont identiques

LIAISON_PROJ § Mot-clé LIAISON_PROJ

Imposer des conditions de répétitivité cyclique entre deux « bords » avec prise en compte d’un déphasage

LIAISON_CYCL § Mot-clé LIAISON_CYCL

Modéliser une partie indéformable d’une structure, pour obtenir une cinématique de corps rigide

LIAISON_SOLIDE § Mot-clé LIAISON_SOLIDE

Relier les interfaces entre deux modélisations différentes d’une structure : partie massive ou coque avec une partie poutre, tuyau ou élément discret

LIAISON_ELEM § Mot-clé LIAISON_ELEM

Relier deux « bords » d’une structure, de manière généraliste, par transmission du torseur résultant, tout en autorisant l’ajout d’une pondération

LIAISON_RBE3 § Mot-clé LIAISON_RBE3

Imposer des degrés de liberté dans un repère local d’une poutre

DDL_POUTRE cf. § 6.1

Relier un « bord » d’une coque au niveau de la peau supérieure ou inférieure de cette dernière en vis-à-vis d’un autre « bord » du feuillet moyen d’une autre coque

LIAISON_COQUE cf. § 6.2 3.3

Nous rappelons dans le tableau ci-dessous la signification des différentes composantes de degrés de liberté :

Tableau 5-2: Degrés de liberté.

Nom

Modélisation

Description

DX, DY, DZ

Toutes sauf 2D_FLUI_PESA

Composantes de déplacement en translation dans le repère global

DH

2D_FLUI_PESA

Déplacement de la surface libre d’un fluide en ballottement

DRX, DRY, DRZ

Éléments discrets, de poutre, de tuyaux, de coque ou de plaque

Composantes de déplacement en rotation dans le repère global

DRGX, DRGY, DRGZ

Élément multi-poutres multi-fibres pour les assemblages combustibles

Composantes de déplacement en rotation des grilles d’assemblage dans le repère global

GRX

POU_D_TG

Valeur du gauchissement de la poutre

PRES

3D_FLUIDE

Pression acoustique dans le fluide pour les formulations \(u-p-\varphi\) et \(u-p\)

PRES

3D_JOINT_CT

Pression du fluide interstitiel

PRES

Formulation second gradient

Multiplicateur de Lagrange introduit pour la formulation mixte

PHI

3D_FLUIDE, FLUI_STRU, 2D_FLUI_PESA

Potentiel des déplacements du fluide pour la formulation \(u-p-\varphi\)

PSI

3D_FLUIDE, FLUI_STRU

Potentiel des vitesses du fluide pour la formulation \(u-\psi\)

TEMP

THM, THHM, THH

Température

PRE1

THM, THHM, THH, HM, HHM

Pression capillaire ou pression du liquide ou du gaz

PRE2

THM, THHM, THH

Pression du gaz

UIx

Tuyaux

Gauchissement « in plane » du mode x [1]

VIx, WIx

Tuyaux

Ovalisations « in plane » du mode x

UOx

Tuyaux

Gauchissement « out of plane » du mode x

VOx, WOx

Tuyaux

Ovalisations « out of plane » du mode x

W0, WI1, WO1

Tuyaux

Degrés de liberté de gonflement et mode 1 sur l’ovalisation

GONF

Formulation incompressible _INCO_UPG, Formulation second gradient

Gonflement

V11, V12, V13, V21, V22, V23, V31, V32, V33

Formulation second gradient

Composantes du tenseur de déformation microscopique

PRES11, PRES12, PRES13, PRES21, PRES22, PRES23, PRES31, PRES32, PRES33

Formulation second gradient

Multiplicateurs de Lagrange introduits pour la formulation mixte

LAGS_C

Contact continu ou XFEM

Pression de contact

LAGS_F1, LAGS_F2

Contact continu ou XFEM

Densité surfacique d’effort de frottement (vectorielle)

H1X, H1Y, H1Z, H2X, H2Y, H2Z, H3X, H3Y, H3Z, H4X, H4Y, H4Z

XFEM

Degrés de liberté enrichis d’Heaviside

H1PRE1, H2PRE1, H3PRE1

HM-XFEM

Degrés de liberté enrichis d’Heaviside pour la pression capillaire ou la pression du liquide ou du gaz.

K1, K2, K3

XFEM

Degrés de liberté enrichis vectoriels crack-tip

LAG2_C, LAG3_C, LAG4_C

XFEM (multi-fissuration)

Pressions de contact

LAG2_F1, LAG2_F2, LAG3_F1, LAG3_F2, LAG4_F1, LAG4_F2

XFEM (multi-fissuration)

Densités surfaciques d’effort de frottement (vectorielles)

PRE_FLU, PR2_FLU, PR3_FLU

HM-XFEM

Pression de fluide dans la fissure

LAG_FLI, LAG_FLS, LA2_FLI, LA2_FLS, LA3_FLI, LA3_FLS

HM-XFEM

Flux

LH1

Éléments joints de type ‘_JHMS’

Multiplicateur de Lagrange hydraulique

GLIS

Éléments CABLE_GAINE

Déplacement relatif suivant la tangente (repère local)

EPXX, EPYY, EPZZ, EPXY, EPXZ, EPYZ

Éléments MIX_STA

Déformations pour les formulations mixtes stabilisés

Conflits entre les degrés de liberté#

Au sein du même AFFE_CHAR_MECA, y compris entre les différentes occurrences, on vérifie qu’il n’y a pas de redondance entre les conditions limites par application des règles de surcharge et de rémanence. En effet, une telle situation conduirait à une matrice singulière lors du calcul.

Cependant, si la même condition aux limites est spécifiée deux fois par deux appels différents à AFFE_CHAR_MECA (par exemple, avec deux valeurs de déplacement imposé), cela conduit à une matrice singulière. Les conditions limites cinématiques sont toujours imposées sur les nœuds, pas sur les mailles.

Opérations d’appariement#

L’appariement est une opération visant à donner la relation entre deux maillages.

Appariement nœud à nœud (maillages compatibles)#

Ce type d’appariement (utilisé par exemple dans LIAISON_GROUP ou LIAISON_COQUE) permet d’établir des couples de nœuds deux à deux. il se fait de la même façon que dans AFFE_CHAR_THER. Dans un premier temps, on établit les deux listes de nœuds \({\Gamma}_{1}\) et \({\Gamma}_{2}\) à mettre en vis-à-vis (ie à apparier), pour chaque occurrence du mot-clé facteur. Les redondances étant éliminées, les deux listes de nœuds obtenues doivent avoir la même longueur .

La détermination des couples de nœuds en vis-à-vis se fait en plusieurs étapes:

  • Pour chaque nœud \({N1}\) de la première liste, on cherche le nœud image \({N2}=f({N1})\) de la deuxième liste. Si \(f\) n’est pas injective (un nœud \({N2}\) est l’image de deux nœuds distincts \({N1}\) et \({N3}\) ), le message d’erreur suivant est émis:

    Il y a un conflit dans les vis-à-vis des nœuds. Le nœud \({N2}\) est à la fois le vis-à-vis du nœud \({N1}\) et du nœud \({N3}\) .

  • Pour chaque nœud \({N2}\) de la deuxième liste, on cherche le nœud image \({N1}=g({N2})\) de la première liste. Si \(g\) n’est pas injective (un nœud \({N1}\) est l’image de deux nœuds distincts \({N2}\) et \({N3}\) ), le message d’erreur suivant est émis:

    Il y a un conflit dans les vis-à-vis des nœuds. Le nœud \({N1}\) est à la fois le vis-à-vis du nœud \({N2}\) et du nœud \({N3}\) .

  • On vérifie que \(g={f}^{-1}\) , c’est-à-dire que les couples obtenus par les deux premières étapes sont les mêmes (on veut avoir une bijection \(f\) entre les deux listes de nœuds). Si \(f\) n’est pas surjective, le message d’erreur suivant est émis:

    Il y a un conflit dans les vis-à-vis des nœuds. Le nœud \({N1}\) n’est l’image d’aucun nœud par la correspondance inverse.

Pour un nœud \(N\) donné, on appelle nœud image \(f(N)\) le nœud de l’autre liste de nœuds qui réalise le minimum de la distance avec \(N\) . Pour faciliter l’appariement, notamment dans le cas de géométries particulières (où les frontières \({\Gamma}_{1}\) et \({\Gamma}_{2}\) pourraient «presque» se déduire l’une de l’autre par la composition d’une translation et d’une rotation), on offre la possibilité de faire une transformation géométrique virtuelle du premier groupe de nœuds (translation et rotation avant de calculer les distances (mots-clés TRAN, CENTRE et ANGL_NAUT).

Dans les couples de nœuds en vis-à-vis, l’ordre des nœuds est important. Si pour la première occurrence du mot-clé facteur, un nœud \(N\) appartient au premier groupe de nœuds et un nœud \(M\) au deuxième groupe de nœuds, et que pour la seconde occurrence du même mot-clé facteur, c’est l’inverse, on obtiendra à l’issue de l’appariement les couples \((N,M)\) et \((M,N)\) . Ils ne seront pas éliminés lors de la détection des redondances ; par contre, la matrice obtenue sera singulière. Ainsi, on conseille de garder la même logique lors de la description des bords en vis-à-vis.

Appariement maille-à-nœud (maillages incompatibles)#

Dans la suite de ce paragraphe, on parlera de la face «esclave» (FACE2) et de la face «maître» (FACE1). Le «recollement» de deux faces se fera par écriture de relations linéaires entre les degrés de liberté des deux faces. Les déplacements des nœuds de la face esclave seront reliés aux déplacements de leurs projections sur la face maître. Pour chaque nœud de la face esclave, on écrira 2 (en 2D) ou 3 (en 3D) relations linéaires (voir opérateur PROJ_CHAMP pour plus de détails).

Le principe de la liaison est d’éliminer les degrés de liberté esclaves en les écrivant comme des relations linéaires des degrés de liberté maîtres. Il y a une certaine symétrie dans le problème et on pourrait croire que l’on peut choisir au hasard qui sera le maître et qui sera l’esclave.

En réalité, il faut être attentif sur deux points particuliers:

  • La syntaxe n’est pas symétrique: côté esclave, l’utilisateur doit préciser les nœuds à «souder», alors que côté maître, il doit donner des mailles. De plus, les mailles maîtres sont (pour l’instant) d’une dimension topologique à ce qui serait naturel. Par exemple, pour un maillage 2D, les surfaces à recoller sont des lignes, et on pourrait s’attendre à ce que les mailles maîtres soient des segments. Le code attend des mailles surfaciques (quadrangles et triangles).

  • Il est préférable (d’un point de vue mécanique) de choisir comme surface esclave la surface maillée la plus finement. De la même façon que lorsque l’on soude deux tôles, il vaut mieux multiplier les points de soudure.

Remarques

  • En 3D, il ne faut pas donner des mailles maîtres de surface, mais les mailles volumiques adjacentes à la face. Les mailles spécifiées sont des «candidates» pour la recherche des points vis-à-vis. On peut en donner trop, cela n’est pas gênant. De la même façon, en 2D, les mailles «maîtres» doivent être surfaciques(QUAD, TRIA) et non linéiques.

  • Lorsque l’on recolle un maillage formé d’éléments linéaires \(({P1})\) sur un autre maillage quadratique \(({P2})\), il est plutôt conseillé de choisir comme face «esclave» la face quadratique.

Mot-clé DDL_IMPO#

Le mot-clé DDL_IMPO est utilisable pour imposer à des nœuds une ou plusieurs valeurs de degré de liberté.

Affectation topologique: TOUT, GROUP_MA, GROUP_NO, SANS_GROUP_MA, SANS_GROUP_NO

Les conditions cinématiques sont imposées sur les nœuds donnés par les mots-clés TOUT, GROUP_MA, GROUP_NO tout en excluant éventuellement grâce aux mots-clés SANS_*.

Composantes:

  • Pour AFFE_CHAR_MECA:DX, DY, DZ, DRX, DRY, DRZ, DRGX, DRGY, DRGZ, GRX, PRES, PSI, PHI, TEMP, PRE1, PRE2, UI2, UI3, UI4, UI5, UI6, UO2, UO3, UO4, UO5, UO6, VI2, VI3, VI4, VI5, VI6, VO2, VO3, VO4, VO5, VO6, WI2, WI3, WI4, WI5, WI6, WO2, WO3, WO4, WO5, WO6, WO, WI1, WO1, GONF, H1X, H1Y, H1Z, H1PRE1, H2X, H2Y, H2Z, H2PRE1, H3X, H3Y, H3Z, H3PRE1, H4X, H4Y, H4Z, K1, K2, K3, PRE_FLU, LAG_FLI, LAG_FLS, PR2_FLU, LA2_FLI, LA2_FLS, PR3_FLU, LA3_FLI, LA3_FLS, LAGS_C, LAGS_F1, LAGS_F2, LAG2_C, LAG2_F1, LAG2_F2, LAG3_C, LAG3_F1, LAG3_F2, LAG4_C, LAG4_F1, LAG4_F2, V11, V12, V13, V21, V22, V23, V31, V32, V33, PRES11, PRES12, PRES13, PRES21, PRES22, PRES23, PRES31, PRES32, PRES33, LH1, GLIS, EPXX, EPYY, EPZZ, EPXY, EPXZ, EPYZ.

  • Pour AFFE_CHAR_MECA_C: DX, DY, DZ, DRX, DRY, DRZ, GRX, PRES, PHI et GLIS.

  • Pour AFFE_CHAR_MECA_F: DX, DY, DZ, DRX, DRY, DRZ, GRX, PRES, PHI, TEMP, PRE1, PRE2, GONF, H1X, H1Y, H1Z, H1PRE1, K1, K2, K3, LAGS_Cet GLIS.

Remarques

  • Lors d’un calcul avec la méthode X-FEM, il est possible d’imposer le déplacement de nœuds enrichis. (AFFE_CHAR_MECA seulement). Cela se fait de manière habituelle (bien que ces nœuds ne possèdent pas de degré de liberté \({DX}\), \({DY}\) ou \({DZ}\)). Si le nœud demandé est sur les lèvres, alors on impose la condition de blocage sur les nœuds des lèvres supérieure et inférieure.

  • Le degré de liberté LH1 (multiplicateur de Lagrange hydraulique pour les éléments joints de type ’_JHMS’) permet de neutraliser les degrés de liberté au bord du joint dans le cas où le massif d’appui est purement mécanique.

  • Les degrés de liberté imposés sont définis dans le repère global de définition du maillage

Le mot-clé BLOCAGE permet d’encastrer une ou plusieurs catégories de degré de liberté aux nœuds, c’est à dire de forcer à zéro ces degrés de liberté.

  • DEPLACEMENT bloque : DX, DY, DZ

  • ROTATION bloque : DRX, DRY, DRZ

  • TUYAU_FOURIER ne peut être utilisé qu’avec les éléments de tuyaux (TUYAU_3M ou TUYAU_6M). Il bloque : les 15 DDL de TUYAU_3M ou les 33 DDL de TUYAU_6M liés aux modes Fourier (voir [U2.02.02]).

On peut faire toutes les combinaisons des catégories.

Mot-clé ARETE_IMPO#

Le mot-clé ARETE_IMPO permet d’imposer à tous les nœuds d’une arête sur des éléments volumiques, une ou plusieurs valeurs de degré de liberté.

Affectation topologique: GROUP_MA, SANS_GROUP_MA, SANS_GROUP_NO

Les conditions cinématiques sont imposées sur les nœuds appartenant aux mailles données par les mots-clés TOUT, GROUP_MA tout en excluant éventuellement grâce aux mots-clés SANS_*. Les mailles sont nécessairement des segments.

Composantes: DX, DY, DZ, GRX, PRE1, PRE2, PRES, PHI, TEMP

Remarque

Les degrés de liberté imposés sont définis dans le repère global de définition du maillage. Si on veut imposer un degré de liberté dans une autre direction, il est possible d’utiliser le mot-clé DTAN.

DTAN permet d’appliquer une condition limite dans la direction tangente à l’arête. On modifie ainsi les valeurs des degrés de liberté de déplacement DX, DY et DZ.

Exemple:

ARETE_IMPO= (_F(GROUP_NO= ’LowSide’, DX= 0, DY= 0, DZ= 0),
             _F(GROUP_MA= ’RightSide’,
                SANS_GROUP_NO= ’Corner’,
                DTAN= 10),)

La signification de la deuxième occurrence de ARETE_IMPO est: «pour tous les nœuds du groupe de mailles ’RightSide’, DTAN= 10 sauf pour ceux du groupe de nœuds ’Corner’». Ceci permet de ne pas avoir de conditions aux limites redondantes.

Mot-clé FACE_IMPO#

Le mot-clé FACE_IMPO permet d’imposer à tous les nœuds d’une face sur des éléments surfaciques ou volumiques, une ou plusieurs valeurs de degré de liberté.

Affectation topologique: GROUP_MA, SANS_GROUP_MA, SANS_GROUP_NO

Les conditions cinématiques sont imposées sur les nœuds appartenant aux mailles données par les mots-clés TOUT, GROUP_MA tout en excluant éventuellement grâce aux mots-clés SANS_*. Les mailles sont nécessairement des triangles ou des quadrangles en 3D et des segments en 2D.

Composantes: DX, DY, DZ, DRX, DRY, DRZ, GRX, PRE1, PRE2, PRES, PHI, TEMP

Remarque

Les degrés de liberté imposés sont définis dans le repère global de définition du maillage. Si on veut imposer un degré de liberté dans une autre direction, il est possible d’utiliser le mot-clé DTAN.

DTAN permet d’appliquer une condition limite dans la direction tangente à la face. On modifie ainsi les valeurs des degrés de liberté de déplacement DX, DY et DZ. Cette condition ne peut fonctionner qu’en 2D, pas en 3D.

DNOR permet d’appliquer une condition limite dans la direction normale à la face. On modifie ainsi les valeurs des degrés de liberté de déplacement DX, DY et DZ. DNOR bloque le déplacement suivant la normale de l’élément.

Remarque

Si la géométrie des mailles (de peau) sélectionnées n’est pas de bonne qualité, le calcul des normales peut être perturbé et cela peut conduire à des résultats «chahutés». Si la zone concernée est plane, on peut alors remplacer le mot clé FACE_IMPO / DNOR (ou DTAN) par le mot clé LIAISON_OBLIQUE. On est alors sûr que les nœuds se déplaceront rigoureusement dans la même direction.

DRNOR permet d’appliquer une condition limite dans la direction normale à la face. On modifie ainsi les valeurs des degrés de liberté de déplacement DRX, DRY et DRZ. DRNOR bloque la rotation suivant la normale de l’élément.

Mot-clé LIAISON_DDL#

Le mot-clé LIAISON_DDL permet de définir une relation linéaire entre des degrés de liberté de deux ou plusieurs nœuds. La condition cinématique suivante sera appliquée:

\[{\sum}_{i=1}^{r}{\alpha}_{i}{U}_{i}=\beta\]

Avec \({U}_{i}\) la liste des \(r\) degrés de liberté, \({\alpha}_{i}\) les coefficients et \(\beta\) le second membre.

Affectation topologique: GROUP_NO donne la liste des nœuds \({N}_{i}\) ordonnée de façon naturelle c’est-à-dire dans l’ordre de la liste de groupes de nœuds, et pour chaque groupe de nœuds, dans l’ordre de définition du groupe par GROUP_NO,

Attention ! L’ordre des nœuds a une importance (voir les exemples).

DDL donne la liste ordonnée des \(r\) degrés de liberté \({U}_{i}\).

Attention ! L’ordre des degrés de liberté a une importance (voir les exemples).

COEF_MULT donne la liste ordonnée des \(r\) coefficients réels \({\alpha}_{i}\) .

Attention! L’ordre des coefficients a une importance (voir les exemples).

COEF_MULT_FONC donne la liste ordonnée des \(r\) coefficients fonctions \({\alpha}_{i}\) ( AFFE_CHAR_MECA_F ). Les fonctions ne peuvent dépendre que de la géométrie initiale.

Attention! L’ordre des coefficients a une importance (voir les exemples).

COEF_IMPO est la valeur de la relation linéaire \(\beta\) . Si c’est une fonction (AFFE_CHAR_MECA_F), celle-ci peut dépendre du temps ou de la géométrie initiale.

Exemple 1: on veut imposer une relation linéaire entre les degrés de liberté d’un même nœud. Dans ce cas particulier, on répétera derrière le mot clé GROUP_NO le nom (de groupe) du nœud autant de fois qu’il y a de degrés de liberté dans la relation. Pour imposer \({U}_{x}={U}_{y}\) sur le nœud de nom (de groupe) \({GN}1\) , on écrira:

LIAISON_DDL =_F(GROUP_NO  =    (’GN1’, ’GN1’),
                DDL       =    (’DX’, ’DY’),
                COEF_MULT =    (1., -1.),
                COEF_IMPO    =    0.,)

Exemple 2: on veut imposer une relation linéaire entre groupes denœuds Il est important de noter qu’à une occurrence du mot-clé facteur LIAISON_DDL correspond une et une seule relation linéaire. Si on veut imposer la même relation entre deux groupes de nœuds GRN01 et GRN02 (même déplacement \({U}_{x}\) nœud à nœud par exemple) on ne peut pas écrire :

LIAISON_DDL = _F(GROUP_NO   = (’GRNO1’ , ’GRNO2’),
                 DDL        = (’DX’, ’DX’),
                 COEF_MULT  = (1. , -1.),
                 COEF_IMPO    =    0.,)

Cette écriture n’a de sens que si \({GRNO1}\) et \({GRNO2}\) ne contiennent chacun qu’un seul nœud. Il faudra dans le cas ci-dessus expliciter chaque relation linéaire, nœud par nœud, ou utiliser LIAISON_GROUP qui permet de condenser l’écriture de mêmes relations linéaires entre deux groupes de nœuds en vis-à-vis.

Mot-clé LIAISON_OBLIQUE#

Le mot-clé LIAISON_OBLIQUE permet d’appliquer, à des nœuds ou des groupes de nœuds, la même valeur de déplacement définie composante par composante dans un repère oblique quelconque.

Affectation topologique: GROUP_NO, le chargement est affecté sur les nœuds.

Composantes: DX, DY, DZ, DRX, DRY, DRZ, valeurs des composantes.

ANGL_NAUT est la liste des trois angles, en degrés, qui définissent le repère oblique d’application des degrés de liberté (les derniers angles de la liste peuvent être omis s’ils sont nuls). Les angles nautiques permettent de passer du repère global de définition des coordonnées du maillage à un repère oblique quelconque. Par défaut les angles sont identiquement nuls et donc les composantes de forces sont définies dans le repère global.

Mot-clé LIAISON_UNIF#

Le mot-clé LIAISON_UNIF permet d’imposer à tous les degrés de liberté de tous les nœuds fournis la même valeur (inconnue) . On aura donc:

\({U}_{1}({N}_{1})={U}_{i}({N}_{k})\\ \text{ pour tous les degrés de liberté } {U}_{i} \text{désignés sur les nœuds } {N}_{k}\)

Affectation topologique:

◆ GROUP_MA, GROUP_NO, SANS_GROUP_MA, SANS_GROUP_NO

Les conditions cinématiques sont imposées sur les nœuds \({N}_{k}\) définis par le mot-clé GROUP_NO ou ceux appartenant aux mailles données par le mot-clé GROUP_MA, sans les nœuds définis sous SANS_GROUP_* .

◆ DDL

Donne la liste des degrés de liberté \({U}_{i}\) (voir § 5.1 pour les degrés de liberté possibles).

Mot-clé LIAISON_CHAMNO#

LIAISON_CHAMNO = _F(
           ◆ CHAM_NO = cham_no,
           ◆ COEF_IMPO = float,
)

Le mot-clé LIAISON_CHAMNO permet de définir une relation linéaire entre tous les degrés de liberté présents dans un concept CHAM_NO. Ce mot-clé peut également servir à imposer à la structure (ou à une partie) un travail donné, pour un chargement calculé au préalable avec un autre AFFE_CHAR_MECA et conduisant à un vecteur assemblé produit par ASSE_VECTEUR [U4.61.23].

◆ CHAM_NO

Nom du cham_no qui sert à définir la relation linéaire. Les degrés de liberté reliés sont tous ceux présents dans le cham_no. Les coefficients à appliquer aux degrés de liberté sont les valeurs du cham_no pour ces degrés de liberté.

◆ COEF_IMPO

Valeur du coefficient réel \(\beta\) appliqué au second membre de la relation linéaire.

Exemple 1 :

Supposons que l’on ait un cham_no portant sur deux nœuds de nom \({N01}\) et \({N02}\) respectivement porteurs des degrés de liberté ’DX’, ’DY’ et ’DZ’ pour le nœud N01 et ’DX’, ’DY’, ’DZ’, ’DRX’, ’DRY’ et ’DRZ’ pour le nœud \({N02}\) .

Supposons aussi que le cham_no ait les valeurs suivantes pour ces degrés de liberté:

’DX’        N01        2.
’DY’        N01        1.
’DZ’        N01        3.
’DX’        N02        1.
’DY’        N02        4.
’DZ’        N02        2.
’DRX’       N02        3.
’DRY’       N02        5.
’DRZ’       N02        2.

La relation linéaire que l’on va imposer est:

  2.*DX(N01)    +    1.*DY(N01)    +    3.*DZ(N01)
+ 1.*DX(N02)    +    4.*DY(N02)    +    2.*DZ(N02)
+ 3.*DRX(N02)   +    5.*DRY(N02)   +    2.*DRZ(N02) = b

Exemple 2 : égalité de composantes de déplacements moyennés sur deux morceaux de frontière d’un solide

On veut imposer une égalité d’une composante de déplacement moyen sur un morceau de frontière d’un solide avec une autre composante de déplacement moyen sur un autre morceau de frontière :

\[\int_{S_1}{u_i dS}-\int_{S_2}{u_j dS}=0 \Leftrightarrow \int_{S_1}{F_{1i}. u_i dS}-\int_{S_2}{F_{2j}. u_j dS}=0\]

avec des composantes de forces distribuées \(F_{1i}=1\) et \(F_{2j}=-1\) sur chaque morceau de frontière respectif. Pour réaliser cette condition de liaison ci-dessus, on utilisera :

  • la commande AFFE_CHAR_MECA produisant les chargements \(F_{1i}=1\) et \(F_{2j}=-1\) sur chaque groupe de mailles décrivant le morceau de frontière respectif, par exemple au bord d’un domaine 2D :

    • FORCE_CONTOUR en précisant la composante respective i ou j des forces sur le groupe de mailles concerné, ou

    • PRES_REP si le déplacement moyen à imposer est exprimé en repère local à la frontière : composante normale PRES_REP =_F(PRES=-1.) ou tangentielle en 2D PRES_REP =_F(CISA_2D =1.)…).

  • ou sur une face d’un domaine 3D :

    • FORCE_FACE en précisant la composante respective i ou j des forces sur le groupe de mailles concerné,

  • puis pour obtenir le concept cham_no utilisé dans LIAISON_CHAMNO, il faut calculer :

    • avec la commande CALC_VECT_ELEM le vecteur élémentaire (avec l’OPTION “CHAR_MECA”),

    • que l’on assemblera avec ASSE_VECTEUR (en disposant au préalable d’un concept de numérotation des degrés de liberté obtenu avec la commande NUME_DDL),

    • le résultat obtenu sera le concept cham_no voulu dans LIAISON_CHAMNO et on précisera COEF_IMPO=0.0.

Exemple 3 : contrôle du travail d’une réponse mécanique sur une frontière

On veut imposer que le travail d’une réponse mécanique dans un champ de force répartie appliquée sur une frontière d’un solide soit égal à une valeur unitaire.

\[\int_{S}{\overrightarrow{F}. \overrightarrow{u} ~dS}=1\]

On utilisera une approche similaire à l’exemple précédant pour produire le concept cham_no voulu avec le chargement en force répartie sur la frontière (avec FORCE_CONTOUR sans oublier de définir toutes les composantes de ce vecteur force). Et dans LIAISON_CHAMNO on précisera : COEF_IMPO=1.0.

Mot-clé CHAMNO_IMPO#

CHAMNO_IMPO = _F(
           ◆ CHAM_NO = cham_no,
           ◆ COEF_IMPO = float,
)

Il s’agit en fait d’une légère adaptation du mot clé LIAISON_CHAMNO (voir § 5.10 ). Celui-ci permet d’appliquer comme coefficients de relation linéaire le contenu d’un cham_no. Dans le cas du mot clé CHAMNO_IMPO, on prend le contenu d’un cham_no comme second membre de la relation linéaire. C’est donc strictement équivalent à une procédure manuelle où on récupère les valeurs du cham_no à la main puis on les impose via DDL_IMPO.

Si le champ cham_no contient la valeur 2 pour DX, on impose la relation: DX = COEF_IMPO * 2. Le coefficient \({\alpha}\) est fixé à 1.

◆ CHAM_NO

Nom du cham_no qui sert à définir les seconds membres de la relation linéaire.

◆ COEF_IMPO = b

Coefficient multiplicateur du cham_no.

Mot-clé LIAISON_GROUP#

LIAISON_GROUP = _F(
           ◆ / GROUP_MA_1 = grma,
             / GROUP_NO_1 = grno,
           ◆ / GROUP_NO_2 = grno,
             / GROUP_MA_2 = grma,
           ◇ SANS_GROUP_NO = grno,
           ◆ DDL_1 = / "DX",
                     / "DY",
                     / "DZ",
                     / "DRX",
                     / "DRY",
                     / "DRZ",
                     ... liste_dof
           ◆ COEF_MULT_1 = float,
           ◆ DDL_2 = / "DX",
                     / "DY",
                     / "DZ",
                     / "DRX",
                     / "DRY",
                     / "DRZ",
                     ... liste_dof
           ◆ COEF_MULT_2 = float,
           ◆ COEF_IMPO = float ou fonction,
           ◇ TRAN = float,
           ◇ ANGL_NAUT = float,
           ◇ CENTRE = float,
)

Le mot-clé LIAISON_GROUP permet de définir la même relation linéaire entre certains degrés de liberté de couples de nœuds, ces couples de nœuds étant obtenus en mettant en vis-à-vis deux listes de mailles ou de nœuds (voir § 5.3.1 ). Le nombre total de relations imposées est égal au nombre de couples de nœuds.

Affectation topologique:

◆ GROUP_MA_1, GROUP_NO_1:

Première liste de nœuds à mettre en relation (notée \({\Gamma}_{1}\) ).

◆ GROUP_MA_2, GROUP_NO_2:

Seconde liste de nœuds à mettre en relation (notée \({\Gamma}_{2}\) ).

◇ SANS_GROUP_NO

Cette opérande permet de supprimer de la liste des couples de nœuds en vis-à-vis, c’est-à-dire tous les couples dont au moins un des nœuds appartient à la liste de nœuds décrite par cette opérande. Cela permet d’éviter l’accumulation de relations linéaires sur un même nœud au cours de différentes répétitions du mot-clé facteur LIAISON_GROUP, ce qui conduit la plupart du temps à une matrice singulière.

◆ DDL_1

Donne la liste des degrés de liberté pour le bord \({\Gamma}_{1}\) (voir § 5.1 pour les degrés de liberté possibles). Si DDL_1 = ’DNOR’, on lie les degrés de liberté de déplacement selon la normale à la surface de l’élément (voir § 3.9.1 ).

◆ DDL_2

Donne la liste des degrés de liberté pour le bord \({\Gamma}_{2}\) (voir § 5.1 pour les degrés de liberté possibles). Si DDL_2 = ’DNOR’, on lie les degrés de liberté de déplacement selon la normale à la surface de l’élément (voir § 3.9.1 ).

◆ COEF_MULT_1

Liste de réels exactement dimensionnée au nombre de degrés de liberté déclarés dans DDL_1 correspondant aux coefficients multiplicateurs de la relation linéaire.

◆ COEF_MULT_2

Liste de réels exactement dimensionnée au nombre de degrés de liberté déclarés dans DDL_2 correspondant aux coefficients multiplicateurs de la relation linéaire.

◆ COEF_IMPO

Coefficient de blocage de la relation linéaire.

◇ CENTRE/ANGL_NAUT/TRAN

Les opérandes CENTRE / ANGL_NAUT / TRAN (voir § 4.6 ) permettent de définir une transformation virtuelle (rotation et/ou translation) approximative de \(\Gamma_1\) en \({\Gamma}_{2}\) afin d’assurer la bijectivité de la fonction vis-à-vis [§ 5.3.1 ]. La commande effectue d’abord la rotation, puis la translation.

Exemple :

On veut imposer une condition de répétitivité cyclique (même déplacement normal) entre la face \(1\) et la face \(2\) de la géométrie ci-dessous:

../../../../_images/100005D8000069BB000028D30554BBD3D878028B.svg

Supposons que FACE1 (respectivement FACE2) soit composée de la liste de mailles lma1 (respectivement lma2). Comme la relation doit être bijective, les deux faces comportent nécessairement le même nombre de nœuds \({nbno}\). On veut écrire les relations linéaires suivantes:

(129)#\[\forall {N}_{i}^{1} nœud de la FACE1 de vis-à-vis {N}_{i}^{2} \forall i = 1...{nbno} {u.n}({N}_{i}^{1})={u.n}({N}_{i}^{2})\]

Les données de LIAISON_GROUP s’écriront:

LIAISON_GROUP = _F( GROUP_MA_1   =  lma1,
                    GROUP_MA_2   =  lma2,
                    DDL_1        =  ’DNOR’,
                    DDL_2        =  ’DNOR’,
                    COEF_MULT_1  =  1.,
                    COEF_MULT_2  =  -1.,
                    COEF_IMPO    =  0,
                    CENTRE       =  (X0,Y0,Z0),
                    ANGL_NAUT    =  (:math:`\alpha`,0.,0.),
)

Dans le cas où FACE2 est perpendiculaire à l’axe X, l’exemple précédent peut aussi s’écrire :

LIAISON_GROUP=_F ( GROUP_MA_1 = lma1,
                   GROUP_MA_2 = lma2,
                   DDL_1 = ('DX', 'DY'),
                   DDL_2 = 'DY',
                   COEF_MULT_1 = (-sin(:math:`\alpha` ), cos(:math:`\alpha` )),
                   COEF_MULT_2 = -1.,
                   COEF_IMPO = 0
)

Remarque :

Le nombre total de relations imposées par une occurrence ne dépend pas du nombre d’arguments de DDL_1 ou de DDL_2, qui servent uniquement à enrichir la relation.

Dans le cas suivant, on impose \({nbno}\) relations:

LIAISON_GROUP=_F ( GROUP_MA_1 = lma1,
                   GROUP_MA_2 = lma2,
                   DDL_1 = ('DX', 'DY'),
                   DDL_2 = ('DX', 'DY'),
                   COEF_MULT_1 = (1, 1),
                   COEF_MULT_2 = (-1, -1),
                   COEF_IMPO = 0
)

Dans le cas suivant, on impose \(2\cdot {nbno}\) relations:

LIAISON_GROUP=(_F( GROUP_MA_1 = lma1,
                   GROUP_MA_2 = lma2,
                   DDL_1 = 'DX',
                   DDL_2 = 'DX',
                   COEF_MULT_1 = 1,
                   COEF_MULT_2 = -1.,
                   COEF_IMPO = 0)
               _F ( GROUP_MA_1 = lma1,
                    GROUP_MA_2 = lma2,
                    DDL_1 = 'DY',
                    DDL_2 = 'DY',
                    COEF_MULT_1 = 1,
                    COEF_MULT_2 = -1.,
                    COEF_IMPO = 0
                )
)

Il faut bien noter que ces deux derniers exemples ne sont pas équivalents.

Mot-clé LIAISON_MAIL#

LIAISON_MAIL = _F(
           ◇ GROUP_MA_MAIT = grma,
           ◆ | GROUP_MA_ESCL = grma,
             | GROUP_NO_ESCL = grno,
           ◇ DISTANCE_MAX = float,
           ◇ DISTANCE_ALARME = float,
           ◇ TYPE_RACCORD = / "MASSIF" (par défaut),
                            / "COQUE",
                            / "COQUE_MASSIF",
                            / "MASSIF_COQUE",
           # Si: equal_to("TYPE_RACCORD", 'COQUE')
               ◇ TRANSF_GEOM_MAIT = fonction / formule / nappe,
               ◇ TRANSF_GEOM_ESCL = fonction / formule / nappe,
               ◇ DDL = / "DX",
                       / "DY",
                       / "DZ",
                       / "DRX",
                       / "DRY",
                       / "DRZ",
           # Si: equal_to("TYPE_RACCORD", 'MASSIF')
               ◇ TRAN = float,
               ◇ ANGL_NAUT = float,
               ◇ CENTRE = float,
               ◇ DDL = / "DX",
                       / "DY",
                       / "DZ",
                       / "DRX",
                       / "DRY",
                       / "DRZ",
                       ... liste_dof
           # Si: equal_to("TYPE_RACCORD", 'COQUE_MASSIF')
               ◆ EPAIS = float,
               ◆ CHAM_NORMALE = cham_no,
           ◇ ELIM_MULT = / "OUI" (par défaut),
                         / "NON",
)

Usage et exemples#

Le mot-clé LIAISON_MAIL permet de définir des relations linéaires pour «recoller» deux «bords» d’une structure. La particularité de ce mot-clé (par rapport à LIAISON_GROUP par exemple) est de permettre de lier les déplacements de nœuds sans contrainte sur le maillage. Les maillages de FACE1 et FACE2 peuvent être incompatibles.

Remarque (cf. § 5.3.2 ):

En 3D, il ne faut pas donner des mailles maîtres de surface, mais les mailles volumiques adjacentes à la face à relier. Les mailles spécifiées sont des «candidates» pour la recherche des points vis-à-vis. On peut en donner trop, cela n’est pas gênant. De la même façon, en 2D, les mailles «maîtres» doivent être surfaciques(QUAD,* *TRIA) et non linéiques.

Exemples :

  1. une condition de périodicité (étude d’une cellule d’homogénéisation)

../../../../_images/100004AA000069D500002C2206108FD7E96C96A8.svg

L’expérience a montré que pour les calculs d’homogénéisation périodique, les résultats sont beaucoup plus précis si les deux faces ont des maillages compatibles (c’est à dire que les maillages de FACE1 et FACE2 sont superposables modulo une isométrie).

  1. une condition de répétitivité cyclique

../../../../_images/1000050A000069D5000027FFC826C70D21B58D73.svg
  1. une condition de simple recollement

../../../../_images/1000077A000069D500003C5C4418409CD3BF50FD.svg

Dans la suite de ce paragraphe, on parlera de la face «esclave» (FACE2) et de la face «maître» (FACE1). Le «recollement» des deux faces se fera par écriture de relations linéaires entre les degrés de liberté des deux faces, voir § 5.3.2 .

Les déplacements des nœuds de la face esclave seront reliés aux déplacements de leurs projections sur la face maître. Pour chaque nœud de la face esclave, on écrira deux (en 2D) ou trois (en 3D) relations linéaires.

Quelques remarques et précautions d’usage#

  • Si FACE1 et FACE2 ne sont pas géométriquement confondues mais qu’il existe une isométrie (rotation et translation) entre les deux, l’utilisateur doit définir cette isométrie (celle qui transforme FACE2 en FACE1), grâce aux mots-clés CENTRE / ANGL_NAUT / TRAN.

  • Une utilisation «classique» de cette fonctionnalité est par exemple le recollement d’un maillage formé d’éléments linéaires \(({P1})\) sur un autre maillage quadratique \(({P2})\) . Dans ce cas il est plutôt conseillé de choisir comme face «esclave» la face quadratique.

  • Le mot-clé LIAISON_MAIL est en principe fait pour relier deux surfaces a priori disjointes. Parfois ce n’est pas le cas et un nœud esclave peut appartenir à l’une des mailles maîtres. La relation linéaire que cherche à écrire le problème devient une tautologie (\(X{=}X\) ), ce qui conduit à un pivot nul lors de la factorisation. Pour éviter ce problème, on n’écrit pas les relations reliant un nœud esclave à sa maille maître si:

◦ Ce nœud appartient à la connectivité de la maille;

◦ Et si les mots clés CENTRE / ANGL_NAUT / TRAN n’ont pas été utilisés.

  • Il faut être conscient que pour chaque occurrence de LIAISON_MAIL, on relie a priori tous les nœuds esclaves aux mailles maîtres même si les distances de projection sont importantes (on émet toutefois des alarmes dans ce cas). On peut changer ce comportement en utilisant le mot clé DISTANCE_MAX.

  • Si on écrit:

LIAISON_MAIL = ( _F(GROUP_MA_ESCL=’GE’,
                    GROUP_MA_MAIT =’GM1’),
                 _F(GROUP_MA_ESCL=’GE’,
                    GROUP_MA_MAIT =’GM2’)
)

Ce serait une erreur de penser que le programme triera dans \(\text{GE}\) les nœuds proches de \(\text{GM1}\) et ceux proches de \(\text{GM2}\). Dans cet exemple, les nœuds de \(\text{GE}\) seront éliminés deux fois et on peut s’attendre à un problème de pivot nul lors de la factorisation.

L’utilisateur doit écrire :

LIAISON_MAIL = _F(GROUP_MA_ESCL=’GE’,
                  GROUP_MA_MAIT=(’GM1’,’GM2’)
)

Mots-clés#

◆ GROUP_MA_ESCL, GROUP_NO_ESCL:

Liste des nœuds esclaves à mettre en relation. Quand on veut recoller uniquement les déplacements normaux des faces (cf. mots-clés DDL_MAITet DDL_ESCL), il faut pouvoir déterminer la direction normale des faces. La direction normale est calculée sur la face esclave. Il faut donc dans ce cas utiliser le mot-clé GROUP_MA_ESCL avec des mailles de type “facette”.

◆ GROUP_MA_MAIT

Liste des mailles maîtres à mettre en relation.

◇ DISTANCE_MAX

Lorsqu’un nœud esclave ne se trouve (géométriquement) dans aucune maille maître, le programme met en relation le nœud et le point (du bord) de la maille la plus proche.

Si l’on souhaite qu’un nœud esclave «lointain» des mailles maîtres ne soit pas concerné par la liaison, il faut utiliser l’opérande DISTANCE_MAX. Cet opérande permet de donner la distance maximale au delà de laquelle on ne fera pas de liaison.

Il n’y a pas de valeur par défaut pour DISTANCE_MAX. Ce qui veut dire que par défaut, la liaison concernera tous les nœuds esclaves.

◇ DISTANCE_ALARME = d_ala

Le mot clé DISTANCE_ALARME = d_ala permet d’être alarmé si un nœud esclave se trouve à une distance d > d_ala de la maille maître la plus proche.

Il n’y a pas de valeur par défaut pour DISTANCE_ALARME. Par défaut, on émet une alarme si la distance d est supérieure à 1/10 ème de la taille de la maille la plus proche (critère relatif).

◇ TYPE_RACCORD

Ce mot-clé permet de choisir le type des relations linéaires que l’on va écrire pour éliminer les degrés de liberté des nœuds esclaves.

  • Si TYPE_RACCORD = ’MASSIF’, les nœuds sont supposés porter des degrés de liberté de translation (DX,DY,DZ). Si l’utilisateur ne précise pas DDL_MAIT=”DNOR”, on écrira (par exemple en 2D), deux relations linéaires pour chaque nœud esclave: l’une pour éliminer son “DX”, l’autre pour éliminer son “DY’.

  • Si TYPE_RACCORD = ’COQUE’, les nœuds sont supposés porter des degrés de liberté de translation (DX,DY,DZ) et des degrés de liberté de rotation (DRX,DRY,DRZ). On écrira six relations linéaires pour éliminer les six degrés de liberté de chaque nœud esclave.

  • Si TYPE_RACCORD = ’MASSIF_COQUE’, les nœuds esclaves sont supposés de type «massifs» (translations: DX,DY,DZ) et les nœuds maîtres sont supposés de type «coque» (trois translations et trois rotations). Les degrés de liberté de translation des nœuds esclaves sont éliminés en écrivant qu’ils sont égaux aux translations du point «maître» en vis à vis. Les translations du point maître sont calculées comme si le petit segment de normale à la coque restait rigide. La figure ci-après montre une situation «touche-touche» en coupe d’un massif et d’une coque avec les nœuds mis en relation: la cinématique en translation du point \(A\) de la coque est paramétrée par les degrés de liberté de la coque \(({U},{\Theta})\) et sa position sur l’élément fini considéré, obtenue par la projection issue du nœud esclave \(A'\) du maillage MASSIF. Dans cette figure, on s’est arrangé pour que seuls les nœuds de la frontière du maillage MASSIF soient considérés par la liaison avec la valeur de DISTANCE_MAX.

../../../../_images/10000201000002C100000120161E1ADFC92674F6.png
  • Si TYPE_RACCORD = ’COQUE_MASSIF’, les nœuds esclaves sont supposés de type «coque» (six degrés de liberté: DX,DY, DZ, DRX, DRY, DRZ) et les nœuds maîtres sont supposés de type «massif» (DX, DY, DZ). Les degrés de liberté de translation des nœuds esclaves sont éliminés en écrivant qu’ils sont égaux aux translations du point «maître» en vis à vis. Les degrés de liberté de rotation des nœuds esclaves sont éliminés en écrivant qu’ils sont égaux aux rotations du point «maître» en vis à vis \((A)\) . Ces rotations du point \(A\) sont calculées à partir des translations, paramétrées par les degrés de liberté des nœuds maîtres, de deux autres points \(A1\) et \(A2\) situés à \(+h/2\vec{n}\) et \(-h/2\vec{n}\) , si \(\vec{n}\) est un vecteur normal à la coque et dont la longueur est l’épaisseur \(h\) de la coque (voir mots-clés obligatoires dans ce cas EPAIS et CHAM_NORMALE).

La figure ci-après montre une situation «touche-touche» en coupe d’un massif et d’une coque avec les nœuds mis en relation: la cinématique en translation du point \(A'\) du maillage COQUE est paramétrée par les degrés de liberté du massif \(({U})\) et sa position \(A\) sur l’élément fini considéré, obtenu par la projection issue du nœud esclave \(A'\) du maillage COQUE.

../../../../_images/10000201000002ED0000010FB9C9C0178ACE687B.png

La figure ci-après montre une situation d’«aboutement» d’un massif (nœuds maîtres) et d’une coque (nœuds esclaves) avec les nœuds mis en relation (voir par exemple le cas-test SSLS101).

../../../../_images/10000201000002A00000010C7BFFC5B06FBC3299.png
◇ DDL

Liste des degrés de liberté auxquels on impose les relations. L’existence des degrés de liberté n’est pas vérifiée (voir § 5.1 pour le nom des DDL).

Si TYPE_RACCORD=’COQUE’ alors les DDL autorisés sont: [’DX’|’DY’|’DZ’|’DRX’|’DRY’|’DRZ’]

◇ CENTRE/ANGL_NAUT/TRAN

Les opérandes CENTRE/ANGL_NAUT/TRAN(voir § 4.6 ) permettent de passer de la face esclave à la face maître. La commande effectue d’abord la rotation, puis la translation. Si ces mots-clés sont absents, c’est que la transformation géométrique est «l’identité» c’est-à-dire que les faces maître et esclave sont géométriquement confondues. Attention! Le sens de la transformation est esclave vers maître .

◆ EPAIS/CHAM_NORMALE

Ces deux mots clés sont obligatoires si TYPE_RACCORD = ’COQUE_MASSIF’: EPAIS donne l’épaisseur de la coque au niveau de la liaison (supposée constante) et CHAM_NORMALE donne un champ aux nœuds qui contient la direction de la normale à la coque sur les nœuds des mailles «esclaves». Le champ peut être obtenu par la commande:

CHNOR = CREA_CHAMP(TYPE_CHAM = ’NOEU_GEOM_R’,
               OPERATION = ’NORMALE’,
               MODELE = MODEL,
               GROUP_MA = ’GMCOQU’)
◇ ELIM_MULT

Ce mot clé sert à résoudre le problème qui peut se poser lorsque l’on recolle plusieurs surfaces esclaves adjacentes (c’est à dire qui ont un ou plusieurs nœuds communs). Imaginons par exemple que l’on écrive (en 2D):

LIAISON_MAIL=(_F(GROUP_MA_ESCL=’LIGNE_AB’, GROUP_MAIT= ...)
_F(GROUP_MA_ESCL=’LIGNE_BC’, GROUP_MAIT= ...))

Si l’utilisateur force ELIM_MULT=’NON’, le programme traitera chaque occurrence de LIAISON_MAIL de façon indépendante. Le nœud \(B\), appartenant à LIGNE_AB et LIGNE_BC sera donc pris en compte dans deux relations différentes et il est probable que le calcul s’arrêtera lors de la factorisation de la matrice avec le message «Pivot presque nul» si les relations linéaires générées par LIAISON_MAILLE sont redondantes.

La plupart du temps, la valeur par défaut ELIM_MULT=’OUI’ est le bon choix. Le seul cas où l’utilisateur pourrait utiliser ELIM_MULT=’NON’ est celui de l’utilisation du mot clé DDL_ESCL=’DNOR’. Si les normales «esclaves» ne sont pas colinéaires, les relations linéaires générées ne seront pas redondantes.

◇ TRANSF_GEOM_MAIT
◇ TRANSF_GEOM_ESCL

Les 2 mots clés TRANSF_GEOM_[MAIT|ESCL] = (fx, fy, fz) permettent d’effectuer une (ou deux) transformations géométriques sur les coordonnées des nœuds du maillage maître et esclave avant de faire la projection. Cette transformation géométrique est temporaire (le temps de la phase d’appariement): les maillages ne sont pas modifiés.

Mot-clé LIAISON_PROJ#

LIAISON_PROJ = _F(
           ◆ MATR_PROJECTION = corresp_2_mailla,
           ◆ DDL = / "DX",
                   / "DY",
                   / "DZ",
                   / "DRX",
                   / "DRY",
                   / "DRZ",
                ...  liste_dof,
            ◇ TYPE = / "IDENTITE" (par défaut),
                    / "EXCENTREMENT",
)

Mot-clé facteur qui permet de définir des relations linéaires entre les nœuds d’un même modèle. Les coefficients des relations linéaires sont déterminés à l’aide de la commande PROJ_CHAMP qui permet d’avoir comme concept résultat la matrice des coefficients d’influence déterminée à partir des fonctions de forme des éléments. C’est le même algorithme qui est utilisé avec le mot clef LIAISON_MAIL où l’on retrouve la notion de maille maître et esclave que l’on retrouve également dans la commande PROJ_CHAMP.

Opérandes#

◆ MATR_PROJECTION

Nom du concept issu de la commande PROJ_CHAMP. Le concept correspond à la matrice des coefficients obtenue par l’option PROJECTION = ’NON’ de la commande PROJ_CHAMP.

Exemple:

matcoeff = PROJ_CHAMP(PROJECTION = ’NON’,
                      METHODE = ’COLLOCATION’,
                      MAILLAGE_1 = mail, MAILLAGE_2 = mail,
                      VIS_A_VIS = _F(GROUP_MA_2 = ’ARMAT’, GROUP_MA_1 = ’SDALLE’,),
)

MAILLAGE_1 et MAILLAGE_2 doivent correspondre au même maillage. La commande AFFE_CHAR_MECA nécessite de renseigner le modèle qui s’appuie sur un maillage. Comme l’on va écrire des relations entre des degrés de liberté d’un modèle, il est obligatoire que les maillages soient identiques. La cohérence est vérifiée lors de l’utilisation de LIAISON_PROJ.

VIS_A_VIS: sous ce mot clef facteur les groupes permettent de définir les mailles maîtres et esclaves:

  • le GROUP_MA_1 correspond aux mailles maîtres.

  • le GROUP_MA_2 correspond aux mailles esclaves.

◆ DDL

Liste des degrés de liberté des nœuds esclaves auxquels on impose les relations. L’existence des degrés de liberté sur les nœuds esclaves et maîtres est vérifiée. Tous les degrés de liberté sont autorisés.

◇ TYPE = ‘EXCENTREMENT’

Permet dans le cas d’existence de degrés de liberté de rotation sur les mailles maîtres d’imposer des déplacements aux nœuds esclaves qui tiennent compte de ces rotations.

Les relations sont de la forme suivante:

  • Pour les degrés de liberté des nœuds esclaves donnés sous DDL.

\({DDL}({N}_{{escl}})={\sum}_{i}{{Coeff}}_{i}\ast {DDL}({N}_{{maître}}^{i})\)

avec i: nœud de la maille maître contenant le nœud esclave.

  • Dans le cas où TYPE=’EXCENTREMENT’, la relation sur les degrés de liberté de translation des nœuds esclaves devient:

\({DDL}({N}_{{escl}})={\sum}_{i}{{Coeff}}_{i}\ast ({DDL}({N}_{{maître}}^{i})+\overrightarrow{\omega ({N}_{{maître}}^{i})}\wedge \overrightarrow{{N}_{{maître}}^{i}{N}_{{escl}}})\)

L’existence des degrés de liberté sur les nœuds maîtres et esclaves est vérifiée.

Mot-clé LIAISON_CYCL#

LIAISON_CYCL = _F(
           ◇ GROUP_MA_MAIT1 = grma,
           ◇ GROUP_MA_MAIT2 = grma,
           ◆ | GROUP_MA_ESCL = grma,
             | GROUP_NO_ESCL = grno,
           ◇ TRAN = float,
           ◇ ANGL_NAUT = float,
           ◇ CENTRE = float,
           ◇ COEF_MAIT1 = float,
           ◇ COEF_MAIT2 = float,
           ◇ COEF_ESCL = float,
           ◇ & DDL_MAIT = "DNOR" (ou non renseigné),
             & DDL_ESCL = "DNOR" (ou non renseigné),
)

Le mot-clé LIAISON_CYCL permet de définir les relations linéaires pour imposer des conditions de symétrie cyclique avec prise en compte d’un déphasage. Il est principalement dédié à être utilisé dans le cadre restrictif du calcul dynamique avec symétrie cyclique. La particularité de ce mot-clé (à l’image de LIAISON_MAIL) est de permettre de lier les déplacements de nœuds sans contrainte sur le maillage. Les maillages de \({FACEG}\) et \({FACED}\) peuvent être incompatibles.

La condition de répétitivité cyclique appliquée dans le cadre de la dynamique est basée sur la méthode de duplication de maillage. L’opérateur part donc sur le postulat que le maillage initial d’un secteur est dupliqué en deux maillages identiques à l’image de la figure suivante.

../../../../_images/100000000000011B0000007EE200052A9B0E858A.png ../../../../_images/100000000000011B0000007E50F4E5274EEAFD50.png

Dans la suite de ce paragraphe, on parlera de la face «esclave» et de la face «maître». Le «recollement» des deux faces se fera par écriture de relations linéaires entre les degrés de liberté des deux faces.

Les déplacements des nœuds de la face esclave seront reliés aux déplacements de leurs projections sur la face maître. Pour chaque nœud de la face esclave, on écrira deux (en 2D) ou trois (en 3D) relations linéaires.

Si \({FACEG}\) et \({FACED}\) ne sont pas géométriquement confondues mais qu’il existe une isométrie (rotation + translation) entre les deux, l’utilisateur doit définir cette isométrie (celle qui transforme \({FACEG}\) en \({FACED}\) ) grâce aux mots-clés CENTRE/ANGL_NAUT/TRAN.

L’expression de la condition de symétrie cyclique pour un déphasage inter-secteur \(\beta\) donné et en considérant \(G\) comme l’interface esclave est la suivante:

(130)#\[\begin{split}\left[\begin{array}{c}{q}_{g}^{1}\\ {q}_{g}^{2}\end{array}\right]=\left[\begin{array}{cc}{cos}\beta & {sin}\beta \\ -{sin}\beta & {cos}\beta \end{array}\right]\left[\begin{array}{c}{q}_{d}^{1}\\ {q}_{d}^{2}\end{array}\right]\end{split}\]

Afin d’écrire les relations linéaires permettant de prendre en compte cette condition, il est nécessaire de donner deux occurrences du mot clé facteur LIAISON_CYCL:

  • La première permet de lier les degrés de liberté de la face \(G\) du maillage 1 avec la face \(D\) du même maillage et la face \(D\) du maillage 2. Les coefficients (\({cos}\beta\) et \({sin}\beta\) ) doivent être renseignés par les mots clés COEF_MAIT1, COEF_MAIT2.

  • La seconde permet de lier les degrés de liberté de la face \(G\) du maillage 2 avec la face \(D\) du même maillage et la face \(D\) du maillage 1. Les coefficients (\(-{sin}\beta\) et \({cos}\beta\) ) doivent être renseignés par les mots clés COEF_MAIT1, COEF_MAIT2.

Affectation topologique:

◆ GROUP_NO_ESCL/GROUP_MA_ESCL:

Ces mots-clés permettent de définir l’ensemble des nœuds de la face esclave. On prend tous les nœuds spécifiés par le mot-clé GROUP_NO_ESCL plus tous les nœuds portés par les mailles spécifiées par le mot-clé GROUP_MA_ESCL.

◇ GROUP_MA_MAIT_1:

Ce mot-clé permet de définir l’ensemble des mailles maîtres du maillage 1 (ou 2) où l’on cherchera les vis-à-vis des nœuds de la face esclave du maillage 1 ou 2.

◇ GROUP_MA_MAIT_2:

Ce mot-clé permet de définir l’ensemble des mailles maîtres du maillage 1 (ou 2) où l’on cherchera les vis-à-vis des nœuds de la face esclave du maillage 1 ou 2.

◇ COEF_MAIT_1/COEF_MAIT_2/COEF_ESCL

Ces mots-clés permettent de définir les coefficients de la relation linéaire à appliquer, dans le cas de la symétrie cyclique il s’agit des cosinus et sinus de l’angle de déphasage inter-secteur considéré. Ces coefficients doivent donc être cohérents avec la définition des interfaces maîtres et esclaves. Le coefficient COEF_ESCL permet de passer un coefficient devant les degrés de liberté esclaves. Par exemple:

\({COEF}\text{\_}{ESCL}({q}_{g}^{1}){=}\left[{COEF}\text{\_}{MAIT1}{\times}{COEF}\text{\_}{MAIT2}\right]\left[\begin{array}{c}{q}_{d}^{1}\\ {q}_{d}^{2}\end{array}\right]{=}\left[{cos}\beta {\cdot}{sin}\beta \right]\left[\begin{array}{c}{q}_{d}^{1}\\ {q}_{d}^{2}\end{array}\right]\)

◇ DDL_MAIT/DDL_ESCL

Si l’on veut ne recoller que les déplacements normaux aux faces, il faut spécifier DDL_MAIT= ’DNOR’ et DDL_ESCL=’DNOR’. La direction normale étant calculée sur la face esclave, il faut donner des mailles de facette, (voir GROUP_MA_ESCL). Cette direction normale est transformée par l’éventuelle rotation de la transformation géométrique (voir CENTRE/ANGL_NAUT/ TRAN) pour déterminer la direction normale sur la face maître.

◇ CENTRE/ANGL_NAUT/TRAN

Les opérandes CENTRE/ANGL_NAUT/TRAN (voir § 4.6 ) permettent de passer de la face esclave à la face maître. La commande effectue d’abord la rotation, puis la translation. Si ces mots-clés sont absents, c’est que la transformation géométrique est «l’identité» c’est-à-dire que les faces maître et esclave sont géométriquement confondues. Attention! Le sens de la transformation est esclave vers maître .

Mot-clé LIAISON_SOLIDE#

LIAISON_SOLIDE = _F(
           ◆ / GROUP_NO = grno,
             / GROUP_MA = grma,
           ◇ SANS_GROUP_MA = grma,
           ◇ SANS_GROUP_NO = grno,
           ◇ DIST_MIN = float,
)

Le mot-clé LIAISON_SOLIDE permet de modéliser une partie indéformable d’une structure. On impose des relations linéaires entre les degrés de liberté des nœuds de cette partie indéformable de telle sorte que les déplacements relatifs entre ces nœuds soient nuls et on impose éventuellement les déplacements aux valeurs résultant de la translation et/ou de la rotation. Ces nœuds sont définis par les groupes de mailles et les groupes de nœuds auxquels ils appartiennent. Pour les restrictions d’usage, voir le § 3.2.1 .

En petites perturbations, on impose en 2D \(({{nb}}_{{ddl}}{\times}{{nb}}_{{noeud}}–3)\) relations et en 3D \(({{nb}}_{{ddl}}{\times}{{nb}}_{{noeud}}–6)\) relations, où \({{nb}}_{{ddl}}\) est le nombre de degrés de liberté par nœud et \({{nb}}_{{noeud}}\) est le nombre de nœuds de la liste donnée après LIAISON_SOLIDE. Un solide est déterminé par la position d’un de ses points et d’un repère en ce point. Des relations sont écrites en prenant la formule vectorielle traduisant un mouvement de corps rigide en petites rotations:

(131)#\[\overrightarrow{u}(M)=\overrightarrow{u}(A)+\overrightarrow{\Omega}(A)\wedge \overrightarrow{{AM}}\]

\(A\) est un nœud arbitraire du solide. Pour plus de détails, voir la doc [R3.03.02].

Il est possible d’utiliser LIAISON_SOLIDE en grandes transformations dans STAT_NON_LINE (puisque le problème devient non-linéaire) uniquement en imposant que le chargement soit suiveur (TYPE_CHARGE=’SUIV’, voir [U4.51.03]).

Affectation topologique:

◆ GROUP_MA, SANS_GROUP_MA, SANS_GROUP_NO

Les conditions cinématiques de corps rigide sont imposées sur les nœuds appartenant aux mailles données par les mots-clés TOUT, GROUP_MA tout en excluant éventuellement grâce aux mots-clés SANS_*.

◇ DIST_MIN

Ce mot-clé sert à définir une distance (dans les unités du maillage) en dessous de laquelle on considère que les points du maillage sont confondus. Cette distance sert aussi à déterminer si des points sont alignés, c’est-à-dire s’ils se trouvent dans un cylindre de diamètre inférieur à \({dmin}\) . Par défaut, \({dmin}{=}0.001{\times}{armin}\) , où \({armin}\) est la plus petite arête du maillage.

Remarques:

Si un élément a tous ses nœuds dans une zone «solidifiée» par LIAISON_SOLIDE , sa déformation est nulle. L’état de contrainte est alors également nul ainsi que les efforts généralisés s’il s’agit d’un élément de structure.

Si la liste des nœuds à lier ne comporte que des nœuds alignés ne portant aucun degré de liberté de rotation, alors, si le système doit être soumis à une rotation, il faut rajouter un nœud fictif non aligné dans la liste. L’autre solution est de se placer dans l’hypothèse des grandes rotations et grands déplacements(TYPE_CHARGE=”SUIV”), on impose en effet explicitement à la liaison solide de vérifier que les distances sont constantes.

Mot-clé LIAISON_ELEM#

| LIAISON_ELEM = _F(
        ◆ OPTION = / "2D_POU",
                    / "3D_POU",
                    / "3D_POU_ARLEQUIN",
                    / "3D_TUYAU",
                    / "COQ_3D",
                    / "COQ_POU",
                    / "COQ_TUYAU",
                    / "PLAQ_POUT_ORTH",
        # Si: equal_to("OPTION", '3D_POU')
            ◇ GROUP_MA_1 = list[grma],
            ◆ / GROUP_NO_2 = grno,
                / GROUP_MA_2 = grma,
            ◇ ANGL_MAX = float (défaut: 1.0),
        # Si: equal_to("OPTION", 'COQ_3D')
            ◆ GROUP_MA_COQUE = grma,
            ◆ GROUP_MA_MASSIF = grma,
            ◆ CARA_ELEM = cara_elem,
            ◇ COEF_RIGI_DRZ = float (défaut: 1e-05),
        # Si: equal_to("OPTION", '3D_POU_ARLEQUIN')
            ◇ GROUP_MA_1 = list[grma],
            ◇ GROUP_MA_2 = list[grma],
            ◆ CARA_ELEM = cara_elem,
            ◆ CHAM_MATER = cham_mater,
        # Si: equal_to("OPTION", '2D_POU')
            ◇ GROUP_MA_1 = list[grma],
            ◆ / GROUP_NO_2 = grno,
                / GROUP_MA_2 = grma,
        # Si: equal_to("OPTION", 'COQ_POU') or equal_to("OPTION", 'COQ_TUYAU')
            ◇ GROUP_MA_1 = list[grma],
            ◇ GROUP_NO_2 = grno,
            ◆ CARA_ELEM = cara_elem,
            ◆ AXE_POUTRE = list[float],
        # Si: equal_to("OPTION", '3D_TUYAU')
            ◇ GROUP_MA_1 = list[grma],
            ◇ GROUP_NO_2 = grno,
            ◆ CARA_ELEM = cara_elem,
            ◆ AXE_POUTRE = list[float],
            ◇ ANGL_MAX = float (défaut: 1.0),
        # Si: equal_to("OPTION", 'PLAQ_POUT_ORTH')
            ◇ GROUP_MA_1 = list[grma],
            ◇ GROUP_NO_2 = grno,
            ◇ ANGL_MAX = float (défaut: 1.0),
            ◇ VERIF_EXCENT = / "NON",
   )

Le mot-clé LIAISON_ELEM permet de relier la cinématique des interfaces entre deux modélisations différentes d’une structure, en tenant compte de la forme et du degré d’approximation des éléments finis sur l’interface, et sans créer d’artefacts de contraintes localisées. On peut ainsi transmettre les efforts généralisés ou les conditions cinématiques sans engendrer de contraintes « parasites ». Il est conseillé de placer le raccord suffisamment loin de la zone à analyser finement, loin d’une singularité géométrique forte (une forte courbure, un coin, un trou…) ou des hétérogénéités de matériau, ou des fortes variations de chargement, de températures…

Cette solution permet de traiter des situations de type « déformations planes généralisées », sans être affecté par les limitations inhérentes à cette approximation déconseillée.

En appelant « partie massive » le morceau de structure modélisé avec des éléments isoparamétriques 3D, ce qui peut être une zone particulière, « zoomée » d’une structure élancée, ce mot-clé facteur permet de modéliser le raccord :

  • D’une partie massive avec une partie coque ;

  • D’une partie massive avec une partie poutre [R3.03.03] ou un élément de tuyau [R3.08.06] ou un élément discret ;

  • D’une partie coque avec une partie poutre [R3.03.06] ou un élément de tuyau [R3.08.06] ou un élément discret;

La partie poutre (ou coque) est dédiée à la schématisation globale de la structure étudiée, dans sa partie où la géométrie est relativement régulière. Pour assurer la cohérence, il est souhaitable que les relations de comportement des matériaux constitutifs de la poutre (ou de la coque) correspondent à celles modélisées dans la zone raffinée au voisinage du raccord.

Ce mot-clé facteur permet aussi de raccorder le bord d’une structure 2D avec une poutre ou un élément discret. Le but de cette fonctionnalité n’est pas de rendre compte des échelles de longueur entre les parties à raccorder mais de permettre une simplification de la modélisation en remplaçant une partie massive ou surfacique par une partie poutre par exemple. Le raccord est traité en imposant des relations linéaires entre les degrés de liberté des nœuds de la jonction des deux parties à raccorder, sans imposer de relations superflues. Les liaisons cinématiques ainsi créées sont définies sur la géométrie du maillage, et ne sont pas réactualisées en situation de grands déplacements.

On pourra consuler le document : « Modélisations de zones particulières de solides élancés », EDF/DER CR-MMN 98/099, et aussi le rapport « Raccords Poutre 3D, Coque 3D et généralisations » EDF/DER HI-70/97/001/0.

Option ’COQ_3D’#

Cette option permet de raccorder une partie massive 3D avec une partie modélisée avec des éléments coques ou plaques. Elle permet d’assurer la continuité mécanique entre une modélisation volumique et une modélisation surfacique à l’interface. Cette liaison cinématique laisse bien « respirer » la coque/plaque dans son épaisseur à l’interface : la déformation de pincement reste libre. Elle est basée sur une formulation variationnelle, contrairement aux liaisons LIAISON_MAIL de TYPE_RACCORD MASSIF_COQUE et COQUE_MASSIF. Tous les couples de supports des éléments finis respectivement considérés {SEG2, SEG3} * {TRIA3, TRIA6, QUA4, QUA8} sont pris en charge à l’interface, les mailles devant être compatibles entres les parties modélisées. On notera que Code_Aster ne vérifie la cohérence à l’interface entre l’épaisseur de la partie massive et l’épaisseur de la partie coque ou plaque. On peut consulter un exemple dans le cas-test v3.03.124.

Affectation topologique :

◆ GROUP_MA_COQUE

Groupe de mailles correspondant à la frontière du domaine discrétisé en éléments de type coque ou plaque à connecter à la partie massive.

◆ GROUP_MA_MASSIF

Groupe de mailles correspondant à la frontière du domaine discrétisé en éléments volumiques à connecter à la partie coque ou plaque.

◆ CARA_ELEM

Concept créé par la commande AFFE_CARA_ELEM, contenant les caractéristiques géométriques des éléments de coque et plaque, notamment l’épaisseur.

◇ COEF_RIGI_DRZ

Un coefficient fictif qui joue un rôle similaire à un coefficient de rigidité en rotation pour les éléments coques et plaques. Ce coefficient intervient lorsque les éléments coques ou plaques présentent des discontinuités géométriques (notamment de tangente) — par exemple dans les zones de branchement ou de forte courbure.

Option ’3D_POU’#

Cette option permet de raccorder une partie massive 3D avec une partie modélisée avec des poutres d’Euler ou de Timoshenko. Un raccord entre une partie massive 3D et une partie poutre nécessite six relations linéaires. Cette liaison cinématique est utilisable aussi pour raccorder une partie massive 3D avec un élément discret DIS_TR, ce qui permet de contrôler les déplacements et les rotations de l’interface de la partie massive 3D considérée, sans introduire de contraintes parasites (par effet de Poisson) ou de crime variationnel, c’est-à-dire sans exercer d’efforts localisés produisant une singularité. La partie modélisée avec des poutres doit avoir au niveau du raccord une ligne moyenne perpendiculaire au plan de la section connectée avec la partie massive 3D, arrivant en son centre de gravité, pour pouvoir correctement interpréter les efforts généralisés. On note que cette liaison ne traite que les six degrés de liberté de translation et de rotation (Euler ou Timoshenko), mais pas le gauchissement des éléments POU_D_TG. On peut utiliser la commande POST_ELEM, mot-clé MASS_INER u4.25.01, pour calculer la position du centre d’inertie de la section de la partie massive raccordée.

Affectation topologique:

◇ GROUP_MA_1:

Cette opérande définit les mailles surfaciques de la partie massive modélisant la trace de la section de la poutre sur cette partie massive. Ces mailles doivent avoir été affectées par des éléments finis de faces d’éléments 3D auparavant. La partie massive doit être maillée avec des éléments quadratiques car les coefficients des relations à imposer sont des quantités géométriques intégrées numériquement. Pour que ces intégrales soient évaluées correctement, il est nécessaire d’avoir des éléments quadratiques.

◆ GROUP_NO_2, GROUP_MA_2:

Ces opérandes définissent le nœud de la poutre (ou de l’élément discret DIS_TR affecté à une maille de type SEG2) à raccorder à la partie massive. Donc si l’on utilise GROUP_NO_2, on ne doit donner qu’un seul groupe, celui-ci ne contenant qu’un seul nœud.

Si on utilise GROUP_MA_2, il faut que la maille soit unique et de type POI1, support d’un élément discret DIS_TR.

◇ ANGL_MAX

Donne l’angle (en degrés) permettant de vérifier si les mailles de la liste GROUP_MA_1 ont des normales faisant un angle supérieur à ANGL_MAX entre elles. Si c’est le cas, il y a émission d’un message d’alarme.

Option ’3D_POU_ARLEQUIN’#

Cette option permet de raccorder une partie massive 3D avec une partie modélisée avec des poutres de Timoshenko dans le cadre Arlequin.

Affectation topologique:

◇ GROUP_MA_1:

Ces opérandes définissent les mailles volumiques de la partie massive incluses dans la zone de recouvrement. Ces mailles doivent avoir été affectées par des éléments volumiques 3D auparavant. La partie massive peut être maillée avec des éléments linéaires ou quadratiques. Les mailles HEXA27 ne sont cependant pas autorisées.

◇ GROUP_MA_2:

Ces opérandes définissent les mailles de type poutre à raccorder à la partie massive. Ces mailles doivent avoir été affectées par des éléments 1D de poutres de Timoshenko auparavant.

◆ CARA_ELEM

Concept créé par la commande AFFE_CARA_ELEM, contenant les caractéristiques géométriques de la poutre, servant à la construction des matrices de couplage Arlequin.

◆ CHAM_MATER

Concept créé par la commande AFFE_MATERIAU, contenant les caractéristiques des matériaux de la poutre, servant à la construction des matrices de couplage Arlequin. Ces caractéristiques sont censées être pondérées par l’utilisateur, au sens de la partition de l’unité nécessaire au cadre Arlequin.

Option ’2D_POU’#

Cette option permet de raccorder une frontière d’un domaine surfacique 2D à l’extrémité d’une partie modélisée avec une poutre ou un élément discret 2D_DIS_TR.

Affectation topologique:

◇ GROUP_MA_1:

Cette opérande définit les mailles de bord de la partie 2D à raccorder à l’élément 1D. La partie surfacique doit être maillée avec des éléments quadratiques car les coefficients des relations à imposer sont des quantités géométriques intégrées numériquement. Pour que ces intégrales soient évaluées correctement, il est nécessaire d’avoir des éléments quadratiques.

◆ GROUP_NO_2, GROUP_MA_2:

Ces opérandes définissent le nœud de la poutre à raccorder au domaine surfacique 2D. Si l’on utilise GROUP_NO_2, on ne doit donner qu’un seul groupe, celui-ci ne contenant qu’un seul nœud, si l’on utilise GROUP_MA_2, il faut que la maille soit unique et de type POI1, support de l’élément discret 2D_DIS_TR.

Option ’COQ_POU’#

Cette option permet de raccorder une partie modélisée en coques ou plaques avec une partie poutre ou un élément discret DIS_TR. La trace de la section de la poutre sur la partie coque doit correspondre exactement aux mailles de bord définies par GROUP_MA_1. Ceci implique l’identité des centres d’inertie, des surfaces des sections coque et poutre en vis-à-vis.

Affectation topologique:

◇ GROUP_MA_1:

Cette opérande définit les mailles de bord de la partie maillée en coques ou plaques (les mailles de bord sont donc des SEG2 ou SEG3 suivant la modélisation choisie). Ces mailles doivent avoir été affectées par des éléments finis de bord de coque auparavant.

◇ GROUP_NO_2:

Cette opérande définit le nœud de la poutre (ou de l’élément discret) à raccorder à la partie coque. On ne doit donner qu’un seul groupe, celui-ci ne contenant qu’un seul nœud.

◆ AXE_POUTRE

Permet de définir l’axe de la poutre à raccorder, dont l’extrémité est lno2 ou lgno2 (1 seul nœud). Il est souhaitable qu’il soit orthogonal au plan contenant la frontière du domaine coque.

◆ CARA_ELEM

Concept créé par la commande AFFE_CARA_ELEM, contenant les caractéristiques géométriques de la coque (notamment l’épaisseur).

Option ’3D_TUYAU’#

Cette option permet de raccorder une partie massive 3D avec une partie modélisée avec des éléments de tuyau. Un raccord entre une partie massive 3D et une partie tuyau nécessite six relations linéaires pour les degrés de liberté de poutre, plus une relation sur le mode de gonflement, plus douze relations correspondant à la transmission des modes de Fourier deux et trois d’ovalisation du tuyau.

Affectation topologique:

◇ GROUP_MA_1:

Cette opérande définit les mailles surfaciques de la partie massive modélisant la trace de la section du tuyau sur cette partie massive. Ces mailles doivent avoir été affectées par des éléments finis de faces d’éléments 3D auparavant.

◇ GROUP_NO_2:

Cette opérande définit le nœud du tuyau à raccorder à la partie massive. On ne doit donner qu’un seul groupe, celui-ci ne contenant qu’un seul nœud.

◆ AXE_POUTRE

Définit l’axe du tuyau à raccorder, dont l’extrémité est un seul nœud (lgno2).

◆ CARA_ELEM

Concept créé par la commande AFFE_CARA_ELEM, contenant les caractéristiques géométriques du tuyau.

◇ ANGL_MAX

Donne l’angle (en degrés) permettant de vérifier si les mailles de la liste GROUP_MA_1ont des normales faisant un angle supérieur à ANGL_MAX entre elles. Si c’est le cas, il y a émission d’un message d’alarme.

Option ’COQ_TUYAU’#

Cette option permet de raccorder une partie maillée en coque à une partie maillée avec des éléments de tuyau. La trace de la section du tuyau sur la partie coque doit correspondre exactement aux mailles de bord définies par GROUP_MA_1. Ceci implique l’identité des centres d’inertie, des surfaces des sections coque et tuyau en vis-à-vis. Par conséquent, des raccords de type «piquage» sont impossibles . Un raccord entre une partie coque et une partie tuyau nécessite les mêmes relations linéaires que l’option COQ_POU sur les degrés de liberté de poutre de l’élément tuyau en plus des relations sur les degrés de liberté d’ovalisation, de gauchissement et de gonflement.

Affectation topologique:

◇ GROUP_MA_1:

Cette opérande définit les mailles de bord de la partie maillée en coques (les mailles de bord sont donc des SEG2 ou SEG3 suivant la modélisation choisie). Ces mailles doivent avoir été affectées par des éléments finis de bord de coques auparavant.

◇ GROUP_NO_2:

Cette opérande définit le nœud du tuyau à raccorder à la partie massive. On ne doit donner qu’un seul groupe, celui-ci ne contenant qu’un seul nœud.

◆ AXE_POUTRE

Définit l’axe du tuyau à raccorder, dont l’extrémité est un seul nœud (lgno2).

◆ CARA_ELEM

Concept créé par la commande AFFE_CARA_ELEM, contenant les caractéristiques géométriques du tuyau et de la coque.

Option ’PLAQ_POUT_ORTH’#

Cette option permet de raccorder une partie maillée avec des éléments TRI3 et QUA4 (modélisations DKT, DST et DKTG) avec une partie modélisée par un élément de poutre ou un élément discret. Cette liaison permet d’éviter d’introduire une singularité factice dans la réponse de la coque, en transmettant correctement les efforts et moments. Ainsi, on n’impose pas de relation cinématique en un point unique mais on représente cette liaison en approchant la réalité tridimensionnelle. Un exemple typique est celui d’une dalle supportée par des piliers. Dans le but de simplifier l’entrée des données les vérifications suivantes ne sont pas réalisées [2]:

  • Il n’y a pas de vérification que l’axe de la poutre soit perpendiculaire à la plaque;

  • Il n’y a pas de vérification entre le calcul des caractéristiques mécaniques (S,I,…) réalisé sur les mailles de la trace de la section de poutre et les caractéristiques mécaniques affectées à la poutre à l’aide de CARA_ELEM.

Affectation topologique:

◇ GROUP_MA_1:

Cette opérande définit les mailles de la plaque qui modélisent la trace de la section de la poutre sur cette partie. Ces mailles doivent avoir été affectées par des éléments finis de plaque, modélisations DKT, DST et DKTG.

◇ GROUP_NO_2:

Cette opérande définit le nœud de la poutre à raccorder à la plaque. On ne doit donner qu’un seul groupe, celui-ci ne contenant qu’un seul nœud.

◇ ANGL_MAX

Donne l’angle (en degrés) permettant de vérifier si les mailles de la liste GROUP_MA_1 ont des normales faisant un angle supérieur à ANGL_MAX entre elles. Si c’est le cas, il y a émission d’un message d’alarme.

◇ VERIF_EXCENT = ’NON’/’OUI’

Le nœud de la poutre doit coïncider, à une tolérance près, avec le centre de gravité des mailles qui modélisent la trace de cette poutre sur la dalle. En cas de non respect de cette règle, deux comportements sont possibles:

  • Si VERIF_EXCENT=’OUI’, comportement par défaut, un message d’erreur est émis et le code s’arrête en erreur fatale;

  • Si VERIF_EXCENT=’NON’, un message d’information est émis.

Cet opérande permet de ne pas être obligé de positionner exactement les poutres au centre de gravité de la trace de la section, qui n’est pas forcément connue lors de la réalisation du maillage. Dans le cas où cette règle n’est pas respectée, l’utilisateur est informé de la distance entre le nœud de la poutre et ce centre de gravité soit par une erreur fatale (VERIF_EXCENT=’OUI’) soit par l’émission d’un message d’information (VERIF_EXCENT=’NON’).

Mot-clé LIAISON_RBE3#

LIAISON_RBE3 = _F(
           ◇ GROUP_NO_MAIT = grno,
           ◆ DDL_MAIT = / "DX",
                        / "DY",
                        / "DZ",
                        / "DRX",
                        / "DRY",
                        / "DRZ",
           ◇ GROUP_NO_ESCL = grno,
           ◆ DDL_ESCL = text,
           ◇ COEF_ESCL = float (défaut: 1.0),
)

Le mot-clé LIAISON_RBE3 permet de définir de manière générale des relations linéaires de type RBE3 entre les degrés de liberté d’un nœud maître et de nœuds esclaves, en assurant la transmission du torseur des efforts. Il s’agit de relations permettant de spécifier la valeur de certains degrés de liberté d’un nœud maître comme étant la moyenne pondérée de certains déplacements et de certaines rotations de nœuds esclaves.

Les relations linéaires produites sont telles que les efforts vus par le nœud maître sont distribués aux nœuds esclaves proportionnellement à leur distance au centre de gravité des nœuds esclaves. D’éventuelles pondération supplémentaires fournies par l’utilisateur peuvent être prises en compte. Pour plus de précisions, on pourra se reporter à la documentation de référence [R3.03.08].

Cette option permet de raccorder une partie massive 3D avec une partie modélisée avec des poutres d’Euler ou de Timoshenko. Un raccord entre une partie massive 3D et une partie poutre nécessite six relations linéaires.

Affectation topologique:

◇ GROUP_NO_MAIT:

Identification le nœud maître de la relation linéaire. On ne doit donner qu’un seul groupe, celui-ci ne contenant qu’un seul nœud.

◇ GROUP_NO_ESCL:

Identification des nœuds esclaves de la relation linéaire.

◆ DDL_MAIT

Identification des degrés de liberté du nœud maître impliqués dans la relation linéaire. On attend une liste comprenant au plus six entrées parmi ’DX’, ’DY’, ’DZ’, ’DRX’, ’DRY’, ’DRZ’.

◆ DDL_ESCL

Identification des degrés de liberté des nœuds esclaves impliqués dans la relation linéaire. Soit la liste a une longueur égale au nombre de nœuds esclaves, soit il n’y a qu’un terme. Dans le dernier cas, on suppose que ce même terme correspond à toutes les DDL_MAIT. Chaque terme de la liste doit être une combinaison des entrées ’DX’, ’DY’, ’DZ’, ’DRX’, ’DRY’, ’DRZ’, séparées par un tiret ’-’.

◇ COEF_ESCL

Liste de coefficients de pondération des termes de la relation linéaire pour chaque nœud esclave. La liste doit:

  • Soit avoir la même longueur que le nombre de nœuds esclaves;

  • Soit être de longueur \(1\), auquel cas ce coefficient est utilisé pour tous les nœuds esclaves

Exemple :

Si on veut créer une relation de type RBE3 entre:

  • Les degrés de liberté ’DX’, ’DY’, ’DZ’, ’DRX’ du nœud maître ’NO1’ ;

Et:

  • Les degrés de liberté ’DX’, ’DY’, ’DZ’ du nœud esclave ’NO2’ avec le coefficient de pondération \(0.1\) ;

  • Les degrés de liberté ’DX’, ’DY’, ’DZ’, ’DRX’ du nœud esclave ’NO3’ avec le coefficient de pondération \(0.2\) ;

  • Les degrés de liberté ’DX’, ’DY’, ’DZ’, ’DRX’du nœud esclave ’NO4’ avec le coefficient de pondération \(0.3\) ;

On doit écrire la commande:

LIAISON_RBE3 = _F( GROUP_NO_MAIT     = ’NO1’,
                   DDL_MAIT          = (’DX’, ’DY’, ’DZ’, ’DRX’),
                   GROUP_NO_ESCL     = (’NO2’, ’NO3’, ’NO4’),
                   DDL_ESCL          = (’DX-DY-DZ’,
                                        ’DX-DY-DZ-DRX’,
                                        ’DX-DY-DZ-DRX’),
                   COEF_ESCL         =(0.1, 0.2, 0.3),
)

Chargements de type Dirichlet pour les éléments de structure#

Mot-clé DDL_POUTRE#

DDL_POUTRE = _F(
           ◆ | TOUT = "OUI" (ou non renseigné),
             | GROUP_MA = grma,
             | GROUP_NO = grno,
           ◇ SANS_GROUP_MA = grma,
           ◇ SANS_GROUP_NO = grno,
           ◆ | DX = float,
             | DY = float,
             | DZ = float,
             | DRX = float,
             | DRY = float,
             | DRZ = float,
           ◆ / VECT_Y = float,
             / ANGL_VRIL = float,
           ◇ GROUP_MA_REPE = grma,
)

Le mot-clef DDL_POUTRE permet de bloquer des degrés de liberté dans un repère local d’une poutre. Le repère local d’une poutre est défini:

  • Par l’axe \(X\) déterminé par la maille à laquelle appartient le nœud. La maille est orientée vers le nœud spécifié. Pour éviter l’indétermination, il faut que le nœud sur lequel porte la condition appartienne à un seul SEG. Dans le cas ou il appartient à plusieurs mailles, l’utilisateur définit la maille donnant l’orientation locale.

  • Par VECT_Y, un vecteur dont la projection sur le plan orthogonal à l’axe \(X\) définit l’axe \(Y\) . L’axe \(Z\) est déterminé à l’aide de \(X\) et \(Y\)

  • Par ANGL_VRIL, l’angle de vrille, donné en degrés, permet d’orienter un repère local autour de l’axe \(X\) .

Affectation topologique:

◆ TOUT, GROUP_MA, GROUP_NO, SANS_GROUP_MA, SANS_GROUP_NO

Les conditions cinématiques sont imposées sur les nœuds donnés par les mots-clefs TOUT , GROUP_MA , GROUP_NO tout en excluant éventuellement grâce aux mots-clefs SANS_* .

Composantes:

◆ DX , DY , DZ , DRX , DRY , DRZ

Voir leur signification § 5.1 .

◇ GROUP_MA_REPE

Définition du repère de la poutre sur la dernière maille.

◇ ANGL_VRIL

Angle de vrille, donné en degrés, permet d’orienter un repère local autour de l’axe \(X\) .

◇ VECT_Y

Vecteur dont la projection sur le plan orthogonal à l’axe \(X\) définit l’axe \(Y\) . L’axe \(Z\) est déterminé à l’aide de \(X\) et \(Y\) .

Mot-clé LIAISON_COQUE#

LIAISON_COQUE = _F(
           ◆ | GROUP_MA_1 = grma,
             | GROUP_MA_2 = grma,
             | GROUP_NO_1 = grno,
             | GROUP_NO_2 = grno,
           ◇ SANS_GROUP_MA_1 = grma,
           ◇ SANS_GROUP_NO_1 = grno,
           ◇ SANS_GROUP_MA_2 = grma,
           ◇ SANS_GROUP_NO_2 = grno,
)

Le mot-clef LIAISON_COQUE permet de représenter le raccord entre des coques au moyen de relations linéaires. L’approche classique admet que deux plans maillés en coques se coupent selon une droite qui appartient au maillage de la structure. Les couples de nœuds étant obtenus en mettant en vis-à-vis deux listes de nœuds (voir § 5.3.1 ). Cela a l’inconvénient de compter deux fois le volume qui est l’intersection des deux coques.

L’idée est donc d’arrêter le maillage d’une coque perpendiculaire à une coque donnée au niveau de la peau supérieure ou inférieure de cette dernière.

../../../../_images/10001EF0000069D5000077E47DB9171EA88CEC03.svg

On a représenté en traits pleins le volume des coques et en pointillés les plans moyens de ces coques (qui sont issus du maillage). La coque horizontale s’arrête en \({A}_{1}{A}_{2}\) et la projection de \({A}_{1}{A}_{2}\) sur le plan moyen de la coque verticale est \({B}_{1}{B}_{2}\) (que l’on a représentée en traits pleins). La liaison entre les deux coques se fait par des liaisons de corps solide (voir § 5.16 ) entre les nœuds en vis-à-vis des segments \({A}_{1}{A}_{2}\) et \({B}_{1}{B}_{2}\) .

Par exemple pour les nœuds \({A}_{1}\) et \({B}_{1}\) , on va écrire la formule (valable en petites rotations):

(132)#\[U({B}_{1})=U({A}_{1})+\Omega ({A}_{1})\wedge {A}_{1}{B}_{1}\]

Et l’égalité des rotations:

(133)#\[\Omega ({B}_{1})=\Omega ({A}_{1})\]

Affectation topologique:

◆ GROUP_MA_1, GROUP_NO_1:

Première liste de nœuds à mettre en relation. Lesnœuds dont donnés par les mots-clefs GROUP_MA_1, GROUP_NO_1 tout en excluant éventuellement grâce aux mots-clefs SANS_* . Ces nœuds représentent la trace de la coque perpendiculaire sur la coque courante. Sur notre exemple, il s’agirait des nœuds du segment \({B}_{1}{B}_{2}\) ou du segment \({A}_{1}{A}_{2}\) .

◆ GROUP_MA_2, GROUP_NO_2:

Seconde liste de nœuds à mettre en relation. Lesnœuds dont donnés par les mots-clefs GROUP_MA_2, GROUP_NO_2 tout en excluant éventuellement grâce aux mots-clefs SANS_* . Ces nœuds appartiennent à la coque perpendiculaire et en vis-à-vis des nœuds de la première liste. Le vis-à-vis est ajusté par le programme selon le critère de plus petite distance. Sur notre exemple si la première liste est constituée des nœuds de \({A}_{1}{A}_{2}\) , la seconde liste est constituée des nœuds de \({B}_{1}{B}_{2}\) .

Chargements de type Neumann#

Mot-clé FORCE_NODALE#

FORCE_NODALE = _F(
           ◆ / GROUP_NO = grno,
           ◆ | FX = float ou fonction,
             | FY = float ou fonction,
             | FZ = float ou fonction,
             | MX = float ou fonction,
             | MY = float ou fonction,
             | MZ = float ou fonction,
           ◇ ANGL_NAUT = float,
)

Le mot-clé facteur FORCE_NODALE est utilisable pour appliquer, à des nœuds ou des groupes de nœuds, des forces nodales, définies composante par composante dans le repère global ou dans un repère oblique défini par trois angles nautiques. En toute rigueur, l’application d’un chargement nodal est physiquement incorrect et peut provoquer des concentrations de contraintes. Il est préférable d’utiliser des chargements répartis.

Affectation topologique:

◆ GROUP_NO

Le chargement est affecté sur les nœuds.

Composantes:

◆ FX, FY, FZ, MX, MY, MZ

Valeurs des composantes des forces nodales des moments nodaux appliqués aux nœuds spécifiés. Ces forces nodales viendront se superposer aux forces nodales issues, éventuellement, d’autres chargements. En axisymétrique, les valeurs correspondent à un secteur d’un radian (diviser le chargement réel par \(2\pi\) ).

◇  ANGL_NAUT

Liste des trois angles, en degrés, qui définissent le repère oblique d’application des forces nodales (les derniers angles de la liste peuvent être omis s’ils sont nuls). Les angles nautiques permettent de passer du repère global de définition des coordonnées du maillage à un repère oblique quelconque (voir § 3.9.3 ). Par défaut les angles sont identiquement nuls et donc les composantes de forces sont définies dans le repère global.

Mot-clé FORCE_ARETE#

FORCE_ARETE = _F(
           ◇ GROUP_MA = grma,
           ◆ | FX = float ou fonction,
             | FY = float ou fonction,
             | FZ = float ou fonction,
             | MX = float ou fonction,
             | MY = float ou fonction,
             | MZ = float ou fonction,
)

Le mot-clé facteur FORCE_ARETE est utilisable pour appliquer des forces linéiques , à une arête d’élément volumique ou de coque, définies composante par composante dans le repère global . Cette arête est définie par une ou plusieurs mailles ou des groupes de mailles de type segment .

Affectation topologique:

◇ GROUP_MA

Le chargement est affecté sur les mailles qui sont nécessairement des segments.

Composantes:

◆  FX, FY, FZ, MX, MY, MZ

Valeurs des composantes des forces et des moments linéiques appliqués aux mailles spécifiées. Ce chargement s’applique aux modélisations suivantes: DKT, DST, Q4G, 3D et COQUE_3D.

Mot-clé FORCE_CONTOUR#

FORCE_CONTOUR = _F(
           ◇ GROUP_MA = grma,
           ◆ | FX = float ou fonction,
             | FY = float ou fonction,
             | FZ = float ou fonction,
),

Le mot-clé facteur FORCE_CONTOUR est utilisable pour appliquer des forces linéiques au bord d’un domaine 2D , définies composante par composante dans le repère global . Ce contour est défini par une ou plusieurs mailles de type segment .

Remarque: fondamentalement il s’agit d’une force linéique mais l’unité est une force surfacique car on raisonne pour une épaisseur unitaire (contraintes planes, déformations planes) ou divisé par \(2\pi\) pour les modélisations axisymétriques (voir § 3.5 ).

Affectation topologique:

◆ GROUP_MA

Le chargement est affecté sur les mailles qui sont nécessairement des segments .

Composantes:

◆ FX, FY, FZ

Valeurs des composantes des forces linéiques appliquées aux mailles spécifiées. Ce chargement s’applique aux modélisations suivantes: D_PLAN, AXISet AXIS_FOURIER, y compris XFEM.

Mot-clé FORCE_FACE#

FORCE_FACE = _F(
           ◇ GROUP_MA = grma,
           ◆ | FX = float ou fonction,
             | FY = float ou fonction,
             | FZ = float ou fonction,
)

Le mot-clé facteur FORCE_FACE est utilisable pour appliquer des forces surfaciques (donc de la dimension d’une pression) sur une faced’élément 3D , définies composante par composante dans le repère global . Cette face est définie par une ou plusieurs mailles de type triangle ou quadrangle .

Affectation topologique:

◆ GROUP_MA

Le chargement est affecté sur les mailles qui sont nécessairement des triangles ou des quadrangles .

Composantes:

◆ FX, FY, FZ

Valeurs des composantes des forces surfaciques appliquées aux mailles spécifiées. Ce chargement s’applique aux modélisations suivantes: 3D, 3D_HHM, 3D_HM, 3D_THHM, 3D_THM, 3D_HH2, 3D_THH2M et XFEM. Ce chargement peut être suiveur.

Mot-clé FORCE_INTERNE#

FORCE_INTERNE = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = grma,
           ◆ | FX = float ou fonction,
             | FY = float ou fonction,
             | FZ = float ou fonction,
)

Le mot-clé facteur FORCE_INTERNE est utilisable dans deux cas:

  • Pour appliquer des forces volumiques sur un domaine 3D , définies composante par composante dans le repère global . Ce domaineest définie par une ou plusieurs mailles de type hexaèdre , tétraèdre , pyramide ou pentaèdre .

  • Pour appliquer des forces volumiques sur un domaine 2D , définies composante par composante dans le repère global . Ce domaineest définie par une ou plusieurs mailles de type triangle ou quadrangle .

Affectation topologique:

◆ TOUT, GROUP_MA

Composantes:

Le chargement est affecté sur les mailles qui sont nécessairement des triangles ou des quadrangles en 2D et des hexaèdres, tétraèdres, pyramides ou pentaèdres en 3D.

◆ FX, FY, FZ

Valeurs des composantes des forces volumiques appliquées aux mailles spécifiées.

Pour le cas 3D, ce chargement s’applique aux modélisations suivantes: 3D , 3D_SI , 3D_INCO , 3D_HHMD , 3D_HMD , 3D_THHD , 3D_THHMD , 3D_THMD , 3D_THHM , 3D_THM , 3D_HM , 3D_THH , 3D_HHM.

Pour le cas 2D, ce chargement s’applique aux modélisations suivantes: C_PLAN , D_PLAN , AXIS , AXIS_FOURIER , AXIS_SI , AXIS_INCO , AXIS_THHM , AXIS_HM , AXIS_THH , AXIS_HHM, AXIS_THM , D_PLAN_THHM , D_PLAN_HM , D_PLAN_THH , D_PLAN_HHM , D_PLAN_THM .

Mot-clé PRES_REP#

PRES_REP = _F(
           ◆ | TOUT = "OUI" (ou non renseigné),
             | GROUP_MA = grma,
             | FISSURE = fiss_xfem,
           ◆ | PRES = float ou fonction,
             | CISA_2D = float ou fonction,
)

Le mot-clé facteur PRES_REP est utilisable pour appliquer:

  • une pression à un domaine de milieu continu 2D, 3D ou éléments d’interface fluide/structure ( *_FLUI_STRU);

  • une pression sur une coque de type COQUE_3D;

  • un cisaillement à un domaine de milieu continu 2D;

  • une pression sur les lèvres d’une fissure XFEM.

Affectation topologique:

◆ |TOUT, GROUP_MA

Le chargement est affecté sur les mailles qui sont nécessairement des segmentsen 2D et des trianglesou quadranglesen 3D.

◆ | FISSURE

L’imposition d’une pression sur les lèvres d’une fissure X-FEMse fait par le mot-clé spécifique FISSURE, puisque aucun groupe de maille ne correspond aux lèvres. On renseigne alors le ou les noms des fissures (provenant de la commande DEFI_FISS_XFEM[U4.82.08])sur lesquelles on souhaite appliquer la pression. Attention, il n’est pas possible d’appliquer un chargement de pression sur les lèvres d’un modèle XFEM de type cohésif.

◆ | PRES

Valeur de la pression imposée.

Pour les éléments isoparamétriques (2D ou 3D), la pression est positive suivant le sens contraire de la normale à l’élément. Soit \(\sigma\) le tenseur des contraintes, le chargement imposé est: \({\sigma}_{ij}{n}_{i}{n}_{j}=-p{n}_{i}{n}_{j}\) . Ce chargement s’applique aux modélisations suivantes: AXIS, D_PLAN, C_PLAN, AXIS_FOURIER, D_PLAN_HHM, D_PLAN_HM, D_PLAN_THHM, D_PLAN_THM, AXIS_HHM, AXIS_HM, AXIS_THHM, AXIS_THM, TUYAU_3M, TUYAU_6M, 3D_HHM, 3D_HM, 3D_THHM, 3D_THM, 3D et COQUE_3D.

Pour les éléments d’interface fluide-structure, ce chargement s’applique à FLUI_STRU, 2D_FLUI_STRU et AXIS_FLUI_STRU.

Dans le cas d’une pression «fonction», la dépendance à la géométrie peut être faite par rapport à la géométrie initiale avec les paramètres X, Y, et Z ou par rapport à la géométrie réactualisée (uniquement si TYPE_CHAR = ’SUIV’) avec les paramètres XF, YF, et ZF.

Remarques:

  • Les pressions de type «fonction», ne sont pour l’instant pas compatibles avec la modélisation COQUE_3D et COQUE_SOLIDE

  • Pour les éléments de type COQUE_SOLIDE, une contribution volumique de pincement est ajoutée aux chargements affectés sur les éléments de peau. Le processus est automatique lors de l’affectation du chargement

◆ | CISA_2D

Valeur du cisaillement imposé. Le cisaillement est positif suivant la tangente à l’élément. Ce chargement s’applique aux modélisations suivantes: AXIS, D_PLAN, C_PLAN et AXIS_FOURIER.

../../../../_images/10001836000069BB00002CF56467ACEC5629749D.svg

Mot-clé EVOL_CHAR#

EVOL_CHAR = evol_char

Le mot-clé facteur EVOL_CHAR est utilisable pour appliquer des chargements évolutifs dans le temps de type evol_char produits par [LIRE_RESU] et contenant des champs de pression (correspondant à un chargement de type PRES_REP), des densités de force volumique en 2D ou 3D (correspondant à un chargement de type FORCE_INTERNE) et des densités de force surfacique en 2D ou 3D (correspondant à un chargement de type FORCE_FACE et FORCE_CONTOUR).

Certains de ces chargements peuvent être suiveurs (voir § 3.6.2 ), mais comme c’est le chargement identifié par EVOL_CHAR qui est déclaré potentiellement comme suiveur, si ce dernier contient un seul chargement qui ne peut pas l’être, alors un message d’erreur est émis.

Mot-clé EFFE_FOND#

EFFE_FOND = _F(
           ◆ GROUP_MA_INT = grma,
           ◇ GROUP_MA = grma,
           ◆ PRES = float ou fonction,
)

Le mot-clé facteur EFFE_FOND est utilisable pour calculer l’effet de fond sur une branche de tuyauterie (modélisation 3D exclusivement) soumise à une pression interne \(P\) . La section de la tuyauterie doit être modélisée intégralement, sans symétrie .

../../../../_images/100000000000029A000000B4D4B1E9250032D555.png

Affectation topologique:

◇ GROUP_ MA

Ensemble des mailles surfaciques (triangles ou quadrangles) modélisant la section matérielle de tuyauterie (gmat sur la figure) où sera appliquée la pression. Cette surface doit avoir été orientée suivant la même convention que pour le chargement PRES_REP (cf. § 7.6 ).

◆ GROUP_MA_INT

Ensemble des mailles linéiques (segments) modélisant le contour du trou (gtrou sur la figure). La connaissance de ces mailles est nécessaire car on a besoin de calculer l’aire du trou. En effet, l’effort résultant (ou effet de fond) dû au bouchage du trou à l’extrémité vaut:

(134)#\[{F}_{b}=\pi {R}_{i}^{2}P\]

Cet effort ou effet de fond s’applique sur la paroi du tube (gmat). L’effort réparti correspondant vaut alors:

(135)#\[{F}_{p}=\frac{\pi {R}_{i}^{2}}{\pi \left({R}_{e}^{2}-{R}_{i}^{i}\right)}P=P\frac{{S}_{\mathit{trou}}}{{S}_{\mathit{mat}}}\]
◆  PRES

Pression interne à la tuyauterie. On appliquera en pratique \({F}_{p}\) à gmat (une valeur positive correspondant à un effort orienté dans le sens contraire à la normale sortante et un effet de fond induisant une traction sur la tuyauterie).

Mot-clé PESANTEUR#

PESANTEUR = _F(
           ◇ GROUP_MA = grma,
           ◆ GRAVITE = float,
           ◆ DIRECTION = float,
)

Le mot-clé facteur PESANTEUR est utilisable pour appliquer un champ de pesanteur sur le modèle. \(g\) représente l’intensité du champ de pesanteur et \(({a}_{p},{b}_{p},{c}_{p})\) précise la direction et le sens d’application du champ. Le chargement qui en résulte est de la forme:

(136)#\[\rho g\frac{({a}_{p}i+{b}_{p}j+{c}_{p}k)}{\sqrt{{a}_{p}^{2}+{b}_{p}^{2}+{c}_{p}^{2}}}\]

\((i,j,k)\) est le repère cartésien global. et \(\rho\) est la masse volumique définie comme caractéristique du matériau (voir opérateurs DEFI_MATERIAU [U4.43.01] et AFFE_MATERIAU [U4.43.03]).

Il ne peut y avoir qu’une seule occurrence de ce mot-clef dans AFFE_CHAR_MECA .

Affectation topologique:

◇ GROUP_MA

Par défaut, ce champ s’applique à tout le modèle. Il est possible de le restreindre à une partie du modèle à l’aide du mot-clé GROUP_MA,qui précise les mailles sur lesquelles le champ s’applique (cette possibilité, qui n’a pas de sens physique, est néanmoins très utile pour appliquer progressivement un champ de pesanteur).

◆ GRAVITE

Accélération de la pesanteur.

◆ DIRECTION

Direction de la pesanteur.

Mot-clé ROTATION#

ROTATION = _F(
           ◇ GROUP_MA = grma,
           ◇ SANS_GROUP_MA = grma,
           ◆ VITESSE = float,
           ◆ AXE = float,
           ◇ CENTRE = float,
)

Le mot-clé facteur ROTATION est utilisable pour appliquer un champ de force équivalent à la force centrifuge s’appliquant sur une structure en rotation. Soit \(\omega\) la vitesse de rotation et \(({a}_{r},{b}_{r},{c}_{r})\) l’axe de rotation.

(137)#\[ \begin{align}\begin{aligned}\omega =\omega \frac{({a}_{r}i+{b}_{r}j+{c}_{r}k)}{\sqrt{{a}_{r}^{2}+{b}_{r}^{2}+{c}_{r}^{2}}}\\ \omega =\omega \frac{({a}_{r}i+{b}_{r}j+{c}_{r}k)}{\sqrt{{a}_{r}^{2}+{b}_{r}^{2}+{c}_{r}^{2}}}\end{aligned}\end{align} \]

Le chargement qui en résulte est de la forme:

(138)#\[f=\rho (\omega \mathrm{\wedge }\mathit{OM})\mathrm{\wedge }\omega\]

\(O\) est l’origine des coordonnées et \(M\) un point courant de la structure avec \(\rho\) la masse volumique définie comme caractéristique du matériau (voir opérateurs DEFI_MATERIAU[U4.43.01] et AFFE_MATERIAU[U4.43.03]).

Il ne peut y avoir qu’une seule occurrence de ce mot-clef dans AFFE_CHAR_MECA *.*

Affectation topologique:

◇ GROUP_MA

Par défaut, ce champ s’applique à tout le modèle. Il est possible de le restreindre à une partie du modèle à l’aide du mot-clé GROUP_MA,qui précise les mailles sur lesquelles le champ s’applique.

◆ VITESSE

Vitesse de rotation.

◆ AXE

Axe de rotation. Pour les modélisations planes, l’axe de rotation doit être dans la direction \(Oz\) et pour les modélisations axisymétriques et Fourier, il doit être dans la direction \(Oy\).

◇ CENTRE

Si le centre de rotation n’est pas l’origine (défaut), on peut préciser ses coordonnées (x,y,z). Pour les modélisations axisymétriques et Fourier, le centre doit être l’origine.

On peut faire varier dans le temps la vitesse de rotation en décomposant la rotation de façon multiplicative entre chargement spatial et évolution en temps \(\omega (t)={\omega}_{0}f(t)\) , puis en multipliant la charge par une fonction multiplicatrice (mot-clef FONC_MULT) dans le calcul transitoire. Toutefois, il convient de faire attention: le chargement \(\rho (\omega \wedge \mathrm{OM})\wedge \omega\) étant proportionnel au carré de la vitesse de rotation, \(\omega {(t)}^{2}\) , il faut affecter le carré de l’évolution en temps, \(f{(t)}^{2}\) , derrière FONC_MULT.

Mot-clé PRE_SIGM#

PRE_SIGM = _F(
           ◆ SIGM = cham_elem / carte,
)

Le mot-clé facteur PRE_SIGM est utilisable pour appliquer une pré-contrainte \({\sigma}_{\mathit{pre}}\) . Ce chargement permet d’appliquer des contraintes volumiques moyennes, globalement uniforme (2D ou 3D) à un domaine volumique. Le second membre élémentaire calculé sera:

(139)#\[{\int}_{\mathit{Ve}}{\sigma}_{\mathit{pre}}:\varepsilon (v\text{*}){\mathit{dV}}_{e}\]

Ce chargement est connu sous l’option FORC_NODA que l’on retrouve dans la commande CALC_CHAMP ou pendant la phase de prédiction de Newton de l’opérateur STAT_NON_LINE.

Le champ de contraintes sigm est de type carte ou cham_elga. Il peut provenir de CREA_CHAMP ou avoir été calculé par ailleurs.

Il ne faut pas confondre cette pré-contrainte avec la contrainte initiale \({\sigma}_{\mathit{ini}}\) utilisée en non linéaire, car cette pré-contrainte n’intervient pas directement dans l’expression de la loi de comportement. Ce champ de pré-contrainte est utilisé comme second membre dans les résolutions de MECA_STATIQUE et STAT_NON_LINE.

Mot-clé PRE_EPSI#

PRE_EPSI = _F(
           ◆ | TOUT = "OUI" (ou non renseigné),
             | GROUP_MA = grma,
             | EPSI = cham_elem / carte,
           ◆ | EPXX = float ou fonction,
             | EPYY = float ou fonction,
             | EPZZ = float ou fonction,
             | EPXY = float ou fonction,
             | EPXZ = float ou fonction,
             | EPYZ = float ou fonction,
             | EPX = float ou fonction,
             | KY = float ou fonction,
             | KZ = float ou fonction,
             | EXX = float,
             | EYY = float,
             | EXY = float,
             | KXX = float,
             | KYY = float,
             | KXY = float,
             | VECT_N = float,
           # Si: exists("VECT_N")
               ◆ | KN1 = float ou fonction,
                 | KN2 = float ou fonction,
)

Le mot-clé facteur PRE_EPSI est utilisable pour appliquer une pré-déformation \({\varepsilon}_{\mathit{pre}}\). C’est un chargement de déformation appliqué à un élément 2D, 3D ou de structure. Le second membre élémentaire calculé sera:

(140)#\[{\int}_{\mathit{Ve}}A{\varepsilon}_{\mathit{pre}}:\varepsilon (v\text{*}){\mathit{dV}}_{e}\]

\(A\) désigne le tenseur d’élasticité (récupéré dans le champ matériau pour toutes les lois pour lesquelles sont définies les caractéristiques élastiques).

Il ne faut pas confondre cette pré-déformation avec la déformation initiale \({\varepsilon}_{\mathit{ini}}\) utilisée en non linéaire, car cette pré-déformation n’intervient pas directement dans l’expression de la loi de comportement.

Cette pré-déformation est utilisable par exemple pour résoudre les problèmes élémentaires déterminant les correcteurs élastiques dans la cellule de base (2D, 3D), en homogénéisation périodique. Les coefficients d’élasticité homogénéisée sont obtenus en calculant par l’opérateur POST_ELEM [U4.81.22] mot-clé ENER_POT l’énergie potentielle de déformation élastique à l’équilibre à partir des correcteurs. Mais cela peut servir pour d’autres applications.

Affectation directe d’une carte ou d’un champ de déformation#

◆ EPSI

Les cartes sont issues de CREA_CHAMP/AFFE et les champs de type ELGA sont issus d’un autre calcul.

Affectation topologique#

◆ TOUT, GROUP_MA

Le chargement est affecté sur ces mailles .

Composantes pour les éléments isoparamétriques#

◆  EPXX, EPYY, EPZZ, EPXY, EPXZ, EPYZ

Valeurs des composantes du tenseur des déformations initiales dans le repère global pour les éléments isoparamétriques 2D ou 3D (C_PLAN, AXIS, D_PLAN, 3D, 3D_SI, AXIS_SI, D_PLAN_SI)

Composantes pour les éléments de poutre#

Les modélisations compatibles avec les fonctionnalités décrites ici sont : POU_D_E, POU_D_T, POU_D_TG, POU_D_EM, POU_D_TGM. Avec les poutres homothétiques, ce chargement n’est autorisé que si les caractéristiques de section sont telles que : A1 = A2, IY1 = IY2 et IZ1 = IZ2. Ces conditions sont imposées car il n’est pour le moment pas possible d’obtenir des forces différentes aux deux noeuds d’un même élément.

◆  EPX

Valeur constante par élément de l’élongation selon l’axe local de la poutre.

◆  KY

Valeur constante par élément de la variation de courbure selon l’axe \(y\) local \(-\frac{d{\theta}_{y}}{\mathit{dx}}\) de la poutre.

◆ KZ

Valeur constante par élément de la variation de courbure selon l’axe \(z\) local \(\frac{d{\theta}_{z}}{\mathit{dx}}\) de la poutre.

◆ VECT_N

Direction (tri-dimensionnelle) \(v_n\) permettant de définir les variations de courbure dans un repère différent de \(y\) local et \(z\) local. Soit \(x\) le premier vecteur de la base locale (axe de la poutre), on définit alors \(y_n = \frac{v_n \wedge x}{\lVert v_n \wedge x \rVert}\) et \(z_n = x \wedge y_n\). On ne peut pas utiliser cette opérande avec KY et KZ.

◆ KN1

Valeur constante par élément de la variation de courbure selon l’axe \(y_n\) local \(-\frac{d{\theta}_{y_n}}{\mathit{dx}}\) de la poutre.

◆ KN2

Valeur constante par élément de la variation de courbure selon l’axe \(z_n\) local \(\frac{d{\theta}_{z_n}}{\mathit{dx}}\) de la poutre.

Cas des fonctions

Les opérandes EPX, KY, KZ, KN1 et KN2 peuvent être des fonctions. Pour cela il faut utiliser la commande AFFE_CHAR_MECA_F. Les fonctions fournies peuvent dépendre des paramètres :

  • X, Y et Z, (coordonnées des noeuds)

  • INST (valeurs de l’instant de calcul)

  • ABSC (valeurs de l’abscisse curviligne)

Dans le cas ABSC, il est nécessaire d’avoir construit les abscisses curvilignes en utilisant la commande MODI_MAILLAGE, mot-clé ABSC_CURV. Les fonctions fournies sont évaluées au milieu des éléments de poutre.

Composantes pour les éléments de coque (DKT, DST, Q4G)#

◆ EXX, EYY, EZZ

Valeurs constantes par élément des déformations de membrane dans le repère local de la coque.

◆ KXX, KYY, KZZ

Valeurs constantes par élément des variations de courbure dans le repère local de la coque.

Mot-clé FORCE_ELEC#

FORCE_ELEC = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = grma,
           ◇ POSITION = / "PARA",
                        / "INFI",
                        / "FINI",
           # Si: not exists("POSITION")
               ◇ FX = float,
               ◇ FY = float,
               ◇ FZ = float,
           # Si: equal_to("POSITION", 'PARA')
               ◆ / TRANS = float,
                 / DIST = float,
               # Si: exists("DIST")
                   ◆ POINT2 = float,
           # Si: (equal_to("POSITION", 'FINI')) or (equal_to("POSITION", 'INFI'))
               ◆ POINT1 = float,
               ◆ POINT2 = float,
)

Le mot-clé facteur FORCE_ELEC est utilisable pour appliquer la force de Laplace agissant sur un conducteur principal, due à la présence d’un conducteur secondaire droit (ne s’appuyant pas sur une partie de maillage) par rapport à ce conducteur principal.

En fait, le chargement défini par FORCE_ELEC a un module qui doit être multiplié par la fonction temporelle d’intensité spécifiée par l’opérateur DEFI_FONC_ELEC [U4.MK.10] pour représenter réellement la force de Laplace.

La fonction d’espace composant la densité linéique de force de Laplace exercée en un point \(M\) du conducteur \(1\) (conducteur principal) par les éléments du conducteur \(2\) (conducteur secondaire) est:

(141)#\[f(M)=\frac{{e}_{1}}{2}\wedge {\int}_{2}\frac{{e}_{2}\wedge r}{{\parallel r\parallel }^{3}}{\mathit{ds}}_{2}\]

Dont voici la représentation graphique:

../../../../_images/10000B1200001A9000000AF5B53199749707555A.svg

Dans le cas d’un conducteur secondaire droit et fini, cette expression devient:

(142)#\[f(M)=\frac{{e}_{1}}{2}\wedge \frac{n}{d}\left(\sin{\alpha}_{1}-\sin{\alpha}_{2}\right)\]

Dont voici la représentation graphique:

../../../../_images/1000000000000123000000B1DE786D7F44AC2DC9.png

avec \(n=\frac{{e}_{2}\wedge d}{d}\) , \(d=\parallel d\parallel\) , \(\parallel d\parallel =1\)

Dans le cas particulier du conducteur secondaire droit infini, \({\alpha}_{1}\) et \({\alpha}_{2}\) tendent vers \(\frac{\pi}{2}\) , on a alors:

(143)#\[ \begin{align}\begin{aligned}f(M)={e}_{1}\wedge \frac{n}{d}\\ f(M)={e}_{1}\wedge \frac{n}{d}\end{aligned}\end{align} \]

Affectation topologique:

◆ TOUT, GROUP_MA

Le conducteur principal s’appuie sur tout ou partie du maillage constitué d’éléments linéiques dans l’espace.

Composantes:

◆  FX, FY, FZ

Dans ce cas où il y a plusieurs conducteurs secondaires infinis et parallèles au conducteur principal (mots-clés COUR_PRIN et COUR_SECO dans la commande DEFI_FONC_ELEC) on précise directement les composantes \((\mathit{fx},\mathit{fy},\mathit{fz})\) de la direction de la force de Laplace qui doivent être normées à \(1\) (soit \({\mathit{fx}}^{2}+{\mathit{fy}}^{2}+{\mathit{fz}}^{2}=1\) )

◆  POSITION = ’PARA’/’FINI’/’INFI’

Précise la manière dont on va définir la position du second conducteur.

◆  POSITION    =’PARA’

Pour un conducteur secondaire infini et parallèle au conducteur principal, il y a lors deux manières de définir le conducteur secondaire.

◆ TRANS=(ux,uy,uz)

(ux,uy,uz) va définir la translation amenant du conducteur principal \(1\) au conducteur secondaire \(2\) .

../../../../_images/100000000000009F000000A5F46C691139F7C29A.png
◆ DIST     = d
  POINT2   = (x2,y2,z2)

Le conducteur secondaire \(2\) est défini par sa distance \(d\) au conducteur principal \(1\) et un deuxième point (x2,y2,z2).

../../../../_images/10000000000000DE000000A6CA26CB610EEB65E6.png
◆ POSITION    =’FINI’

Pour un conducteur secondaire fini et non-parallèle au conducteur principal.

◆ POINT1 = (x1,y1,z1)
◆ POINT2 = (x2,y2,z2)

Le conducteur secondaire \(2\) est défini par deux points (x1,y1,z1) et (x2,y2,z2) correspondant à ses extrémités.

../../../../_images/1000000000000187000001205A6083ECF8C641E4.png

Il est préférable de choisir POINT1 et POINT2 tels que le courant circule de POINT1à POINT2.

◆ POSITION = ’INFI’

Pour un conducteur secondaire infini et non-parallèle au conducteur principal.

◆ POINT1 = (x1,y1,z1)
◆ POINT2 = (x2,y2,z2)

Le conducteur secondaire \(2\) est défini par deux points (x1,y1,z1) et (x2,y2,z2).

../../../../_images/1000000000000180000001059A366C29469ADCD3.png

Il est préférable de choisir POINT1 et POINT 2 tels que le courant circule de POINT1 à POINT 2 .

Mot-clé VECT_ASSE#

VECT_ASSE = cham_no

Le mot-clé facteur VECT_ASSE est utilisable pour appliquer un second membre sous la forme d’un CHAM_NO. Ce CHAM_NO est transmis à ces commandes via le nom du chargement. Le champ de déplacements chamno est de type cham_no. Il peut provenir de CREA_CHAMP ou avoir été calculé par ailleurs.

Chargements de type Neumann pour les éléments de structure#

Mot-clé FORCE_POUTRE#

FORCE_POUTRE = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = grma,
           ◇ TYPE_CHARGE = / "VENT",
                           / "FORCE" (par défaut),
           # Si: equal_to("TYPE_CHARGE", 'FORCE')
               ◆ | FX = float,
                 | FY = float,
                 | FZ = float,
                 | MX = float,
                 | MY = float,
                 | MZ = float,
                 | N = float,
                 | VY = float,
                 | VZ = float,
                 | MT = float,
                 | MFY = float,
                 | MFZ = float,
                 | MGX = float,
                 | MGY = float,
                 | MGZ = float,
           # Si: equal_to("TYPE_CHARGE", 'VENT')
               ◆ | FX = formule / nappe / fonction,
                 | FY = formule / nappe / fonction,
                 | FZ = formule / nappe / fonction,
                 | N = formule / nappe / fonction,
                 | VY = formule / nappe / fonction,
                 | VZ = formule / nappe / fonction,
)

Le mot-clé facteur FORCE_POUTRE est utilisable pour appliquer des forces linéiques , sur des éléments de type poutre définis sur tout le maillage ou sur une ou plusieurs mailles. Les forces sont définies composante par composante, soit dans le repère global , soit dans le repère local de l’élément défini par l’opérateur AFFE_CARA_ELEM [U4.42.01].

On définit ainsi la force de type VENT . Si \(p\) est la pression exercée par le vent sur une surface plane normale à sa direction \(\nu =({\nu}_{x},{\nu}_{y},{\nu}_{z})\) le vecteur unitaire ayant la direction et le sens de la vitesse du vent, et \(d\) le diamètre du câble sur lequel s’exerce le vent, alors:

(144)#\[ \begin{align}\begin{aligned}\mathit{Fx}=pd{\nu}_{x}\\\mathit{Fy}=pd{\nu}_{y}\\\mathit{Fz}=pd{\nu}_{z}\end{aligned}\end{align} \]

Notons que l’on doit rester homogène dans chaque occurrence du mot-clé facteur FORCE_POUTRE: soit toutes les composantes sont définies dans le repère global soit toutes les composantes sont définies dans le repère local de définition de la poutre.

Affectation topologique: .. code-block:: text

◆ TOUT, GROUP_MA

Le chargement est affecté sur ces mailles qui sont nécessairement des segments.

◆ TYPE_CHARGE = ’FORCE’/’VENT’

Précise le type de charge.

  • Pour TYPE_CHARGE = ’FORCE’

Composantes:

◆ FX, FY, FZ, MX, MY, MZ

Valeurs des composantes des forces ou des momentslinéiques (dans le repère global )appliquées aux mailles spécifiées avec:

  • \(\mathit{fx}\) , \(\mathit{fy}\) , \(\mathit{fz}\) : forces suivant \(x\) , \(y\) et \(z\)

  • \(\mathit{mx}\) , \(\mathit{my}\) , \(\mathit{mz}\) : moments suivant \(x\) , \(y\) et \(z\)

Ce chargement s’applique aux modélisations suivantes: POU_D_T, POU_D_E, POU_D_TGMet POU_D_TG. Les moments répartis ne peuvent être appliqués que sur les poutres droites à section constante.

◆ N, VY, VZ, MT, MFY, MFZ, MGX, MGY, MGZ

Valeurs des composantes des efforts généralisés (dans le repère local de la poutre)linéiques appliquées aux mailles spécifiées avec:

  • \(n\) : effort de traction/compression

  • \(\mathit{vy}\) : effort tranchant suivant \(y\)

  • \(\mathit{vz}\) : effort tranchant suivant \(z\)

  • \(\mathit{mt}\) : moment de torsion

  • \(\mathit{mfy}\) : moment de flexion suivant \(y\)

  • \(\mathit{mfz}\) : moment de flexion suivant \(z\)

  • \(\mathit{mgx}\) : moment de la grille d’assemblage suivant \(x\)

  • \(\mathit{mgy}\) : moment de la grille d’assemblage suivant \(y\)

  • \(\mathit{mgz}\) : moment de la grille d’assemblage suivant \(z\)

Ce chargement s’applique aux modélisations suivantes: POU_D_T, POU_D_E, POU_D_TGM, POU_D_TG et POU_D_EM. Les moments répartis ne peuvent être appliqués que sur les poutres droites à section constante.

Dans le cas où la force est donnée par une fonction, donc par AFFE_CHAR_MECA_F, les paramètres de la fonction peuvent être:

“INST”: le temps

“X”, “Y”, “Z”: la position du nœud où est calculé l’effort

“DX”, “DY”, “DZ”: le vecteur directeur de l’élément de structure

“VITE_X”, “VITE_Y”, “VITE_Z”: la vitesse structure du nœud

“ACCE_X’, ’ACCE_Y’, ’ACCE_Z’: l’accélération structure du nœud

  • Pour TYPE_CHARGE = ’VENT’

Composantes:

◆ FX, FY, FZ

Valeurs des composantes des forces ou des moments linéiques (dans le repère global )appliquées aux mailles- spécifiées avec:

  • \(\mathit{fx}\) , \(\mathit{fy}\) , \(\mathit{fz}\) : forces suivant \(x\) , \(y\) et \(z\)

Ce chargement s’applique aux modélisations suivantes: POU_D_T, POU_D_E, POU_D_TGMet POU_D_TG.

◆ N, VY, VZ

Valeurs des composantes des efforts généralisés (dans le repère local de la poutre)linéiquesappliquées aux maillesspécifiées avec:

  • \(n\) : effort de traction/compression

  • \(\mathit{vy}\) : effort tranchant suivant \(y\)

  • \(\mathit{vz}\) : effort tranchant suivant \(z\)

Ce chargement s’applique aux modélisations suivantes: POU_D_T, POU_D_E , POU_D_TGM et POU_D_TG.

Mot-clé FORCE_TUYAU#

FORCE_TUYAU = _F(
   ◆ / TOUT = "OUI" (ou non renseigné),
     / GROUP_MA = grma,
   ◆ PRES = float,
)

Le mot-clé facteur FORCE_TUYAU est utilisable pour appliquer une pression sur des éléments tuyau, définis par une ou plusieurs mailles ou des groupes de mailles.

◆ TOUT, GROUP_MA

Le chargement est affecté sur ces mailles qui sont nécessairement des segments.

◆ PRES

Valeur de la pression imposée (réel ou fonction). La pression est positive lorsque la pression est interne à la tuyauterie. Ce chargement s’applique aux modélisations TUYAU_3M et TUYAU_6M.

Mot-clé FORCE_COQUE#

| FORCE_COQUE = _F(
     ◆ / TOUT = "OUI" (ou non renseigné),
       / GROUP_MA = grma,
     ◆ | FX = float,
       | FY = float,
       | FZ = float,
       | MX = float,
       | MY = float,
       | MZ = float,
       | PRES = float,
       | F1 = float,
       | F2 = float,
       | F3 = float,
       | MF1 = float,
       | MF2 = float,
     ◇ PLAN = / "SUP",
              / "INF",
              / "MOY",
              / "MAIL" (par défaut),
  ),

Le mot-clé facteur FORCE_COQUE est utilisable pour appliquer des efforts surfaciques sur des éléments de type coque (DKT, DST, Q4G, COQUE_3D…). Les opérandes de FORCE_COQUE peuvent être définis:

  • Dans le repère global avec les mot-clefs FX, FY, FZ, MX, MY et MZ si l’on veut imposer un torseur des efforts surfaciques par composante.

  • La composante PRES impose une pression normale à la surface;

  • Dans un repère de référence défini sur chaque maille avec les mot-clefs F1, F2, F3, MF1 et MF2 si l’on veut imposer un torseur des efforts surfaciques par composante; le repère est construit autour de la normale à l’élément de coque \(({z}_{\mathit{ref}})\) et d’une direction fixe \(({x}_{\mathit{ref}})\) (pour le groupe de maille) définie par le mot-clé ANGL_REP en même temps que l’épaisseur de la coque (voir mot-clé facteur COQUE de l’opérateur AFFE_CARA_ELEM [U4.42.01]).

S’il est appliqué sur des éléments COQUE_3D, ce chargement peut-être de type suiveur mais uniquement s’il s’agit d’une pression (opérande PRES).

../../../../_images/10000C8A00001A2600000C18F7C8329E10CC3DC1.svg

Il est aussi possible de définir un torseur d’efforts surfaciques sur le plan moyen, inférieur, supérieur ou du maillage. Si on note \(d\) l’excentrement, \(h\) l’épaisseur de la coque, \((\mathit{F2X},\mathit{F2Y},\mathit{F2Z},\mathit{M2X},\mathit{M2Y},\mathit{M2Z})\) le torseur des efforts sur le plan défini par l’utilisateur (soit excentré) et \((\mathit{F1X},\mathit{F1Y},\mathit{F1Z},\mathit{M1X},\mathit{M1Y},\mathit{M1Z})\) le torseur des efforts dans le plan du maillage.

Les formules de passage sont les suivantes:

  • Si le plan de calcul est le plan du maillage:

\(\mathit{F2}=\mathit{F1}\)

\(\mathit{M2}=\mathit{M1}\)

  • Si le plan de calcul est le feuillet moyen excentré:

\(\mathit{F2}=\mathit{F1}\)

\(\mathit{M2X}=\mathit{M1X}–\mathit{dx}\mathit{F1Y}\)

\(\mathit{M2Y}=\mathit{M1Y}+\mathit{dx}\mathit{F1X}\)

  • Si le plan de calcul est le feuillet supérieur excentré:

\(\mathit{F2}=\mathit{F1}\)

\(\mathit{M2X}=\mathit{M1X}–d+\frac{h}{2}.\mathit{F1Y}\)

\(\mathit{M2Y}=\mathit{M1Y}+d+\frac{h}{2}.\mathit{F1X}\)

  • Si le plan de calcul est le feuillet inférieur excentré:

\(\mathit{F2}=\mathit{F1}\)

\(\mathit{M2X}=\mathit{M1X}–d-\frac{h}{2}.\mathit{F1Y}\)

\(\mathit{M2Y}=\mathit{M1Y}+d-\frac{h}{2}.\mathit{F1X}\)

Notons que l’on doit rester homogène dans chaque occurrence du mot-clé facteur FORCE_COQUE: soit tout en composante d’effort dans le repère global soit tout en composante d’effort dans le repère de définition de la coque.

La pression appliquée est positive suivant le sens contraire de la normale à l’élément (définie par l’orientation de chaque maille (cf. [§ 3.9.1 ]).

Le chargement est affecté sur ces mailles qui sont nécessairement des triangles ou des quadrangles.

◆ PRES

Valeur de la pression imposée (réel ou fonction), normale à la coque.

Composantes:

◆ FX, FY, FZ, MX, MY, MZ

Valeur des efforts et des moments dans le repère global.

Composantes:

◆ F1, F2

Efforts de membrane suivant \({x}_{\mathit{ref}}\) et \({y}_{\mathit{ref}}\) .

Composantes:

◆  F3

Effort normal suivant \({z}_{\mathit{ref}}\) .

Composantes:

◆ MF1, MF2

Moments fléchissants d’axe \(X\) et \(Y\)

Définition du PLAN pour écrire le torseur d’efforts:

  • ’MOY’: on applique le torseur d’efforts sur le feuillet moyen excentré;

  • ’INF’: on applique le torseur d’efforts sur la peau inférieure;

  • ’SUP’: on applique le torseur d’efforts sur la peau supérieure;

  • ’MAIL’: on applique le torseur d’efforts au niveau du plan du maillage.

Mot-clé FORCE_COQUE_FO#

FORCE_COQUE_FO = _F(
   ◆ / TOUT = "OUI" (ou non renseigné),
     / GROUP_MA = grma,
   ◇ PRES = formule / nappe / fonction,
)

Le mot-clé facteur FORCE_COQUE_FO permet d’affecter des pressions (seul PRES est disponible) sous formes de fonctions qui ne dépendent pas du temps. Il est en quelque sorte équivalent à AFFE_CHAR_MECA_F/FORCE_COQUE mais permet, quand la fonction ne dépend pas du temps, d’évaluer cette fonction qu’une seule fois et non à chaque instant de calcul. Les fonctions ou formules fournies peuvent dépendre des paramètres X, Y, Z, EP et RHO. Où EP est l’épaisseur de la maille (dans ce cas, il faut fournir le mot-clé CARA_ELEM), et où RHO est la masse volumique de la maille (dans ce cas, il fait fournir le mot-clé CHAM_MATER).

Autres chargements#

Mot-clé LIAISON_INTERF#

LIAISON_INTERF = _F(
           ◆ MACR_ELEM_DYNA = macr_elem_dyna,
           ◇ TYPE_LIAISON = / "RIGIDE" (par défaut),
                            / "SOUPLE",
)

Le mot-clé facteur LIAISON_INTERF permet dedéfinir des relations linéaires entre les degrés de liberté physiques des interfaces de la partie de modèle en éléments finis et les coordonnées généralisées de modes de représentation réduite des mouvements d’interface contenus dans certains macro-éléments de condensation statique. Il est utilisable avec un modèle contenant à la fois des éléments finis et des macro-éléments statiques condensant certains sous-domaines.

◆  MACR_ELEM_DYNA

Nom du macr_elem_dyna qui sert à définir les relations linéaires entre les degrés de liberté physiques de l’interface entre le domaine non condensé modélisé en éléments finis et un domaine condensé par le macro-élément et les composantes des nœud assimilés à des coordonnées généralisées de modes de mouvements d’interface. Cela est nécessaire seulement quand les modes de mouvements d’interface sont une base réduite de tous les modes contraints correspondant chacun à un mode de déplacement pour chaque degré de liberté physique de l’interface. On génère ainsi des relations de type LIAISON_DDL dont les coefficients sont calculés de façon transparente pour l’utilisateur entre les nœuds de l’interface dynamique du macro-élément et ceux associés à la base de réduction qui a servi à constituer le macro-élément.

◇ TYPE_LIAISON = ’RIGIDE’/’SOUPLE’
  • Si ’RIGIDE’, on écrit la relation entre les degrés de liberté physiques de l’interface \({U}_{\Sigma}\) et les composantes des nœud assimilés à des coordonnées généralisées \(q\) de modes de mouvements d’interface \(\Phi\) sous la forme de produit simple: \({U}_{\Sigma}={\Phi}_{q}\) . Ce choix permet d’avoir une liaison plus rigide qu’en prenant en compte tous les modes contraints correspondant chacun à un mode de déplacement pour chaque degré de liberté physique de l’interface.

  • Si ’SOUPLE’, on écrit la relation entre les degrés de liberté physiques de l’interface \({U}_{\Sigma}\) et les composantes des nœud assimilés à des coordonnées généralisées \(q\) de modes de mouvements d’interface \(\Phi\) sous la forme de produit double: \({\Phi}^{T}{U}_{\Sigma}={\Phi}^{T}\Phi q\) . Ce choix permet d’avoir une liaison plus souple qu’en prenant en compte tous les modes contraints correspondant chacun à un mode de déplacement pour chaque degré de liberté physique de l’interface.

Mot-clé RELA_CINE_BP#

RELA_CINE_BP = _F(
   ◆ CABLE_BP = cabl_precont,
   ◇ RELA_CINE = / "OUI" (par défaut),
                 / "NON",
   # Si: equal_to("RELA_CINE", 'OUI')
       ◇ SIGM_BPEL = / "OUI",
                     / "NON" (par défaut),
   # Si: equal_to("RELA_CINE", 'NON')
       ◇ SIGM_BPEL = "OUI",
   ◇ TYPE_EPX = / "ADHE" (par défaut),
                / "GLIS",
                / "FROT",
   ◇ DIST_MIN = float,
)

Ce type de chargement peut être défini pour un système mécanique comprenant une structure béton et ses câbles de précontrainte. Les profils initiaux de tension dans les câbles, ainsi que les coefficients des relations cinématiques entre les degrés de liberté des nœuds des câbles et les degrés de liberté des nœuds de la structure béton sont déterminés préalablement par l’opérateur DEFI_CABLE_BP [U4.42.04]. Les concepts cabl_precont produits par cet opérateur apportent toutes les informations nécessaires à la définition du chargement.

Les occurrences multiples sont autorisées pour le mot-clé facteur RELA_CINE_BP, afin de permettre dans un même appel à l’opérateur AFFE_CHAR_MECA de définir les contributions de chacun des groupes de câbles ayant fait l’objet d’appels distincts à l’opérateur DEFI_CABLE_BP [U4.42.04]. À chaque groupe de câbles considéré, défini par un concept cabl_precont, est associée une occurrence du mot-clé facteur RELA_CINE_BP.

Le chargement ainsi défini sert ensuite à calculer l’état d’équilibre de l’ensemble structure béton / câbles de précontrainte. Cependant, la prise en compte de ce type de chargement n’est pas effective dans tous les opérateurs de résolution. Le chargement de type RELA_CINE_BP n’est reconnu pour l’instant que par l’opérateur STAT_NON_LINE [U4.51.03], comportements incrémentaux exclusivement.

◆ CABLE_BP

Concept de type cabl_precont produit par l’opérateur DEFI_CABLE_BP [U4.42.04]. Ce concept apporte d’une part la carte des contraintes initiales dans les éléments des câbles d’un même groupe, et d’autre part les listes des relations cinématiques entre les degrés de liberté des nœuds de ces câbles et les degrés de liberté des nœuds de la structure béton.

◇ SIGM_BPEL = ’OUI’/’NON’

Indicateur de type texte par lequel on spécifie la prise en compte des contraintes initiales dans les câbles; la valeur par défaut est ’NON’.

Dans le cas ’NON’, seul le liaisonnement cinématique est pris en compte. C’est utile si on enchaîne des STAT_NON_LINE alors qu’on a des câbles de précontrainte. Pour le premier STAT_NON_LINE il faut avoir mis ’OUI’, de telle sorte que l’on met en place la tension dans les câbles. En revanche, pour les STAT_NON_LINE suivants, il ne faut considérer comme chargement que les liaisons cinématiques et donc définir le chargement avec SIGM_BPEL = ’NON’, sinon la tension est comptée deux fois.

Depuis la restitution de la macro pour mettre en tension les câbles, l’utilisateur ne devrait plus avoir besoin de faire un AFFE_CHAR_MECA avec SIGM_BPEL = ’OUI’, cela devrait ainsi éviter les risques d’erreur.

◇ RELA_CINE = ’OUI’/’NON’

Indicateur de type texte par lequel on spécifie la prise en compte des relations cinématiques entre les degrés de liberté des nœuds des câbles et les degrés de liberté des nœuds de la structure béton; valeur par défaut ’OUI’.

◇ DIST_MIN = float

Voir LIAISON_SOLIDE §:ref:5.16 <RefNumPara__19433_53696255>.

◇ TYPE_EPX = ’ADHE’/’GLIS’/’FROT’

Ce mot-clé n’a d’effet que dans CALC_EUROPLEXUS. Il permet d’indiquer si on souhaite des liaisons câble-béton totales (c’est-à-dire dans les 3 directions de l’espace, correspondant à ce chargement Aster), des liaisons glissantes ou frottantes.

Mot-clé VITE_FACE#

VITE_FACE = _F(
           ◇ GROUP_MA = grma,
           ◆ / VNOR = float,
             / DIRECTION = float,
           # Si: exists("DIRECTION")
               ◆ VITE = float,
)

Le mot-clé facteur VITE_FACE permet d’appliquer des vitesses à une face dans le cas de la modélisation 2D_FLUIDE, AXIS_FLUIDE, 3D_FLUIDE ou éléments d’interface fluide/structure ( *_FLUI_STRU).

Affectation topologique:

◇ GROUP_MA

Le chargement est affecté sur les mailles qui sont nécessairement des segments en 2D et des triangles ou quadrangles en 3D.

Il y a deux manières d’affecter une vitesse:

  1. Si on renseigne VNOR, alors la vitesse (de norme VNOR) sera normale à la face sur laquelle elle est appliquée (définie par GROUP_MA);

  2. Si on renseigne DIRECTION qui donne la direction de la vitesse alors VITE sera la norme de cette vitesse. Cette méthode n’est utilisable que si on a choisi une formulation de type U_PHI (mot-clef dans AFFE_MODELE).

La direction et la norme (VNOR ou VITE) peuvent être des réels ou des fonctions.

Mot-clé ONDE_PLANE#

ONDE_PLANE =_F(
            ◇ GROUP_MA = grma,
            ◆ TYPE_ONDE =  / "S",
                           / "P",
                           / "SV",
                           / "SH",
            ◆ DIRECTION = (kx,ky,kz),
            ◆ FONC_SIGNAL = f,
            ◇ DEPL_IMPO = fd,
            ◇ COOR_SOURCE = (x0, y0, z0),
            # Si: exists("COOR_SOURCE")
                ◇ COOR_REFLECHI = (x1, y1, z1),
)

Le mot-clé facteur ONDE_PLANE (une seule occurrence est permise) permet d’imposer un chargement sismique par onde plane, correspondant aux chargements classiquement rencontrés lors des calculs d’interaction sol-structure par les équations intégrales (voir [R4.05.01] ). En harmonique, une onde plane élastique est caractérisée par sa direction, sa pulsation et son type (onde \(P\) pour les ondes de compression, ondes \(S\) , \(\mathit{SV}\) ou \(\mathit{SH}\) pour les ondes de cisaillement). En transitoire, la donnée de la pulsation, correspondant à une onde stationnaire en temps, doit être remplacée par la donnée d’un profil de déplacement dont on va prendre en compte la propagation au cours du temps dans la direction de l’onde. Plus précisément, on caractérise:

  • Une onde \(P\) par la fonction \(u(x,t)=f\left(k\cdot x-{C}_{p}t\right)\) ;

  • Une onde \(S\) par la fonction \(u(x,t)=f\left(k\cdot x-{C}_{s}t\right)\wedge k\) ;

Avec:

  • \(k\) le vecteur unitaire de direction;

  • \(f\) le profil de l’onde donné selon la direction \(k\) ;

Il ne peut y avoir qu’une seule occurrence de ce mot-clef dans AFFE_CHAR_MECA *.*

Affectation topologique:

◇ GROUP_MA

Le chargement est affecté sur les mailles de frontières absorbantes concernées par l’introduction de l’onde incidente. Si rien n’est donné, par défaut, ce sont toutes les mailles de la modélisation ABSO qui sont concernées.

◇ COOR_SOURCE

Cette liste de paramètres réels permet de déterminer le déphasage en temps dû au passage de l’onde, en indiquant les coordonnées du point d’entrée \({\mathrm{x}}_{0}\) du chargement par onde plane dans la structure. Si ce paramètre n’est pas présent, alors on renseignera l’opérande FONC_SIGNAL avec une nappe de signaux temporels.

◇ COOR_REFLECHI

Cette liste de paramètres réels permet la prise en compte de l’onde réfléchie, activée si on donne les coordonnéesdu point de sortie \({\mathrm{x}}_{1}\). Dans ce cas, l’expression du profil de l’onde en tenant compte du déphasage spatial lié au passage de l’onde \(\dot{f}\left(k.(\mathrm{x}-{\mathrm{x}}_{0})-{C}_{m}t\right)\) devient alors \(\dot{f}\left(k.(\mathrm{x}-{\mathrm{x}}_{0})-{C}_{m}t\right)+\dot{f}\left(k.(2{\mathrm{x}}_{1}-{\mathrm{x}}_{0}-\mathrm{x})-{C}_{m}t\right)\) avec \(m=S\) ou \(P\) .

../../../../_images/10000201000004FD000006BF7BB4B4564A10FC81.png

Figure 9.4-1: Schéma d’une propagation d’onde plane inclinée dans un modèle 2D

Pour clarifier l’utilisation des opérandes COOR_SOURCE et COOR_REFLECHI on fait référence au schéma dans la . Si on considère une onde plane inclinée d’un angle \(\alpha\) avec la verticale, on identifie de façon évidente le premier point qui rentre en contact avec le domaine d’étude, c’est-à-dire le point \({\mathrm{x}}_{0}\) . Ce point est considéré comme le point source de l’onde incidente et ses coordonnées représentent la donnée d’entrée de l’opérande COOR_SOURCE. Avec le même raisonnement, si l’on souhaite rajouter la prise en compte de l’onde réfléchie, on peut clairement identifier le premier point de la surface libre qui génère l’onde réfléchie, c’est-à-dire le point \({\mathrm{x}}_{1}\) . Ce point est considéré comme le point source de l’onde réfléchie et ses coordonnées représentent la donnée d’entrée de l’opérande COOR_REFLECHI.

Remarques concernant l’utilisation des opérandes COOR_SOURCE et COOR_REFLECHI:

  • Dans le cas d’une modélisation 2D (D_PLAN, par exemple) on travaille dans le repère XY. Dans ce cas il faudra rentrer tout simplement les coordonnés X et Y du point source de l’onde incidente (COOR_SOURCE) et, éventuellement, de l’onde réfléchie (COOR_REFLECHI). La troisième coordonnée, même si elle est rentrée, ne sera pas considérée;

  • Dans le cas d’une propagation verticale, le déphasage de l’onde est indépendante des coordonnées X et Y en 3D (X en 2D). En effet, le front d’onde est parfaitement horizontal et il est déphasé exclusivement par rapport à la côte verticale (Z en 3D et Y en 2D). Par conséquent, on peut rentrer n’importe quelle coordonnée X et Y en 3D (X en 2D) pour les points source de l’onde incidente et de l’onde réfléchie. Ce qui compte est de bien rentrer la coordonnée Z en 3D (Y en 2D) pour bien calculer le déphasage lié à la propagation verticale.

◆ TYPE_ONDE = ’P’/’S’/’SV’/’SH’

Type de l’onde (compression ou cisaillement).

\(P\)

onde de compression

\(\mathit{SV}\)

onde de cisaillement (uniquement en 3D)

\(\mathit{SH}\)

onde de cisaillement (uniquement en 3D)

\(S\)

onde de cisaillement (uniquement en 2D)

Les directions des ondes \(P\), \(\mathit{SV}`et :math:\)mathit{SH}`sont déterminées à partir du vecteur \(V\) renseigné par DIRECTION. A savoir :

  • \(P\) est colinéaire à \(V\) et normé à 1,

  • \(\mathit{SH}\) est l’intersection du plan horizontal et du plan normal à \(V\), et normé à 1,

  • \(\mathit{SV}\) est le produit vectoriel de \(\mathit{SH}`et de :math:`P\). Il existe un cas d’indétermination avec cette règle quand le plan horizontal et le plan normal sont confondus. Dans ce cas, si \(V`= :math:`Z\) purement vertical, on impose \(\mathit{SH}`= :math:`Y\), et \(\mathit{SV}`= :math:`X\).

◆ DIRECTION

Direction de propagation de l’onde.

◆ FONC_SIGNAL

Dérivée du profil de l’onde \(f(t)\) pour \(t\in [0,+\infty [\) . Attention: c’est la fonction correspondant à la vitesse \(v(t)=\dot{u}(t)\) que l’utilisateur donne dans FONC_SIGNAL. Si l’opérande COOR_SOURCE est absent, on donne une nappe de signaux temporels en vitesse paramétrés par des valeurs de coordonnées de propagation \(k.\mathrm{x}\) pour la variable \(X\) .

◇ DEPL_IMPO

Profil de l’onde \(\mathit{fd}(t)\) pour \(t\in [0,+\infty [\) . Attention: c’est la fonction correspondant à l’intégrale de la vitesse \(v(t)=\dot{u}(t)\) que l’utilisateur donne obligatoirement dans DEPL_IMPO. Cette donnée facultative n’est activée que si on a des raideurs ajoutées sur la frontière absorbante, activées par la donnée d’une valeur non nulle de l’opérande LONG_CARA du mot clé ELAS de DEFI_MATERIAU. Si l’opérande COOR_SOURCE est absent, on donne une nappe de signaux temporels en déplacement paramétrés par des valeurs de coordonnées de propagation \(k.\mathrm{x}\) pour la variable \(X\) .

Remarque concernant l’utilisation de cette charge: Il est fortement conseillé d’orienter au moyen des mots clés ORIE_PEAU_2D ou ORIE_PEAU_3D de MODI_MAILLAGE les mailles de peau affectées par une modélisation de frontière absorbante vers l’extérieur du domaine qu’elles délimitent.

Mot-clé ONDE_FLUI#

ONDE_FLUI = _F(
           ◇ GROUP_MA = grma,
           ◆ PRES = float,
)

Le mot-clé facteur ONDE_FLUI permet d’appliquer une amplitude de pression d’onde incidente sinusoïdale arrivant normalement à une face sur les modélisations 3D_FLUIDE, 2D_FLUIDE et AXIS_FLUIDE.

Affectation topologique:

◇ GROUP_MA

L’onde est appliquée sur ces mailles . Ce sont nécessairement des mailles de bord (segments en 2D et triangles/quadrangles en 3D).

◆ PRES

Amplitude de pression d’onde incidente sinusoïdale arrivant normalement à la face.

Mot-clé FLUX_THM_REP#

FLUX_THM_REP = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = grma,
           ◆ | FLUN = float,
             | FLUN_HYDR1 = float,
             | FLUN_HYDR2 = float,
             | FLUN_FRAC = fonction / formule / nappe,

)

Le mot-clé facteur FLUX_THM_REP permet d’appliquer à un domaine de milieu continu 2D ou 3D un flux de chaleur et/ou un apport de masse fluide (flux hydraulique). Les flux hydrauliques (eau et vapeur) sont définis par:

(145)#\[\begin{split}\begin{array}{c}{\varphi}^{e}={\rho}_{e}\left(\nabla {P}_{e}-{\rho}_{e}g\right)\cdot n\\ {\varphi}^{v}={\rho}_{v}\left(\nabla {P}_{v}-{\rho}_{v}g\right)\cdot n\end{array}\end{split}\]

Avec la masse volumique de l’eau \({\rho}_{e}\) , la masse volumique de la vapeur \({\rho}_{\nu}\) , la pression de l’eau \({P}_{e}\) (degré de liberté PRE1 ) et la pression de la vapeur \({P}_{v}\) (degré de liberté PRE2 ).

Le flux de chaleur est défini par:

(146)#\[{\varphi}_{T}={\lambda}_{T}\frac{\partial T}{\partial n}+{h}_{m}^{e}{\varphi}^{e}+{h}_{m}^{v}{\varphi}^{v}+{h}_{m}^{a}{\varphi}^{a}\]

Avec les enthalpies massiques de l’eau \({h}_{m}^{l}\) , de la vapeur \({h}_{m}^{v}\) , de l’air \({h}_{m}^{a}\) et le flux d’air \({\varphi}^{a}\) .

Affectation topologique:

◆ / TOUT = "OUI" (ou non renseigné),
  / GROUP_MA = grma,

Le chargement est affecté sur ces mailles Ce sont nécessairement des mailles de bord (segments en 2D et triangles/quadrangles en 3D).Ce chargement n’est utilisable qu’en (thermo)-hydraulique ou en hydraulique pur (THM,THH,THHM,HMou HHM).

◆ | FLUN

Valeur du flux de chaleur.

◆ | FLUN_HYDR1

Valeur du flux hydraulique associé au constituant eau.

◆ | FLUN_HYDR2

Valeur du flux hydraulique associé au constituant vapeur.

◆ | FLUN_FRAC

Valeur du flux hydraulique injecté dans une interface cohésive pour les modèles HM-XFEM. Ce chargement est imposé exclusivement à l’aide d’une fonction de l’espace sur les éléments principaux et non pas les éléments de bord. Pour plus de détails concernant l’utilisation de ce mot-clef, se reporter aux documentations [R7.02.18] et [U2.05.02].

Mot-clé ECHANGE_THM#

ECHANGE_THM = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = grma,
           ◆ COEF_11 = float,
           ◇ COEF_12 = float,
           ◇ COEF_21 = float,
           ◇ COEF_22 = float,
           ◆ PRE1_EXT = float,
           ◇ PRE2_EXT = float,
)

Le mot-clé facteur ECHANGE_THM permet pour une modélisation non saturée d’appliquer à un domaine de milieu continu 2D ou 3D une condition d’échange sur les pressions hydrauliques extérieures. Les flux hydrauliques (eau et air) qui en résultent sont définis par:

(147)#\[\begin{split}\begin{array}{c}\left({M}_{w}+{M}_{\text{vp}}\right).n=C11({p}_{1}-{p}_{{}_{1}}^{\text{ext}})-C12({p}_{2}-{p}_{{}_{2}}^{\text{ext}})\\ \left({M}_{\text{ad}}+{M}_{\text{as}}\right).n=C21({p}_{1}-{p}_{{}_{1}}^{\text{ext}})-C22({p}_{2}-{p}_{{}_{2}}^{\text{ext}})\end{array}\end{split}\]

Avec la pression capillaire \({p}_{1}\) (degré de liberté PRE1 ) et la pression gaz \({p}_{2}\) (degré de liberté PRE2 ). \({M}_{w}+{M}_{\text{vp}}\) correspond au flux d’eau (somme du flux d’eau liquide \({M}_{w}\) et du flux de vapeur \({M}_{\text{vp}}\) ) et \({M}_{\text{ad}}+{M}_{\text{as}}\) correspond au flux d’air (somme du flux d’air dissous \({M}_{\mathit{ad}}\) et du flux d’air sec \({M}_{\text{as}}\) ).

Affectation topologique:

◆ / TOUT = "OUI" (ou non renseigné),
  / GROUP_MA = grma,

Le chargement est affecté sur ces mailles Ce sont nécessairement des mailles de bord (segments en 2D et triangles/quadrangles en 3D).Ce chargement n’est utilisable que pour les modélisations non saturés de typeTHH2MS,THH2S,HH2MSou HH2S.

◆ PRE1_EXT

Valeur de la pression capillaire extérieure.

◇ PRE2_EXT

Valeur de la pression de gaz extérieure (0 par défaut).

◆ COEF_11

coefficient d’échange C11 (cf. eq. ) reliant le flux d’eau à la pression capillaire.

◇ COEF_12

coefficient d’échange C12 (cf. eq. ) reliant le flux d’eau à la pression de gaz (0 par défaut).

◇ COEF_21

coefficient d’échange C21 (cf. eq. ) reliant le flux d’air à la pression capillaire (0 par défaut).

◇ COEF_22

coefficient d’échange C22 (cf. eq. ) reliant le flux d’air à la pression de gaz (0 par défaut).

Mot-clé ECHANGE_THM_HR#

ECHANGE_THM_HR = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = grma,
           ◆ HR_EXT = float,
           ◆ ALPHA = float,
           ◆ PVAP_SAT = float,

)

Le mot-clé facteur ECHANGE_THM_HR permet pour une modélisation non saturée d’appliquer à un domaine de milieu continu 2D ou 3D une condition mixte d’échange sur la densité de vapeur (proportionelle à l’humidité relative). Le flux d’eau s’écrit alors :

\[\left({M}_{w}+{M}_{\text{vp}}\right).n= \alpha.\left( \rho_{vp} -{\rho_{vp}}^{ext} \right)\]

avec \(\rho_{vp}\) la densité de vapeur.

Sachant que l’humidité relative HR est fonction de la densité via la densité de vapeur saturante \(\rho_{vp}^{sat}\) :

\[\rho_{vp} = HR.\rho_{vp}^{sat}\]

Le flux s’exprime alors

\[\left({M}_{w}+{M}_{\text{vp}}\right).n= \alpha.\rho_{vp}^{sat}\left( HR -{HR}^{ext} \right)\]

On peut exprimer cette équation en fonction de la pression capillaire (Pc qui est une inconnue du modèle) grace à la relation de Kelvin soit :

\[HR = exp\left[ \frac{Pc.M_{H2O}}{\rho_{l}.R.T}\right]\]

avec \({M}_{H2O}\) la masse molaire de l’eau, R la constant des gaz parfaits et T la température. In fine l’expression du flux devient :

\[\left({M}_{w}+{M}_{\text{vp}}\right).n= \alpha.\rho_{vp}.\left( exp\left[ \frac{Pc.M_{H2O}}{\rho_{l}.R.T}\right] -{HR}^{ext} \right)\]

Affectation topologique:

◆ / TOUT = "OUI" (ou non renseigné),
  / GROUP_MA = grma,
◆ HR_EXT

Humidité relative extérieure.

◆ ALPHA

Coefficient d’échange

◆ PVAP_SAT

Pression de vapeur saturante

Mot-clé FORCE_SOL#

FORCE_SOL = _F(
           ◆ / GROUP_NO_INTERF = grno,
             / SUPER_MAILLE = ma,
           ◆ | UNITE_RESU_MASS = unit,
             | UNITE_RESU_RIGI = unit,
             | UNITE_RESU_AMOR = unit,
           ◇ UNITE_RESU_FORC = unit,
           ◇ NB_PAS_TRONCATURE = int,
           ◇ TYPE = / "BINAIRE",
                    / "ASCII" (par défaut),
)

Le mot-clé facteur FORCE_SOL permet de prendre en compte la force interne d’un domaine de sol en utilisant les évolutions temporelles des contributions en rigidité, masse et amortissement de l’impédance de sol. L’impédance de sol extraite à l’instant initial permet de constituer par MACR_ELEM_DYNA un macro-élément représentant le comportement du domaine de sol que l’on ajoute au modèle de structure. L’interface dynamique du macro-élément est décrite soit par une super-maille du modèle contenant à la fois la structure et ce macro-élément, soit par un groupe de nœuds si l’interface physique coïncide avec l’interface dynamique modale.

On peut également prendre en compte, si elle existe, l’évolution temporelle des forces sismiques, affectée à cette même interface dynamique sous forme d’unité logique .

Ce type de charge est pris en compte dans la commande DYNA_NON_LINE. Un exemple d’utilisation est fourni dans le cas test MISS03B [V1.10.122].

Il ne peut y avoir qu’une seule occurrence de ce mot-clef dans AFFE_CHAR_MECA *.*

Affectation topologique:

◆ / GROUP_NO_INTERF = grno,
  / SUPER_MAILLE = ma,

Ces opérandes permettent de décrire l’interface dynamique du macro-élément représentant le comportement du domaine de sol que l’on ajoute au modèle de structure soit par une super-maille du modèle contenant à la fois la structure et ce macro-élément par le mot clé SUPER_MAILLE, soit par un groupe de nœuds par le mot clé GROUP_NO_INTERF si l’interface physique coïncide avec l’interface dynamique modale.

◆ | UNITE_RESU_MASS = unit,
  | UNITE_RESU_RIGI = unit,
  | UNITE_RESU_AMOR = unit,

Ces opérandes permettent d’introduire les évolutions temporelles des contributions en rigidité, masse et amortissement de l’impédance de sol sous forme d’unités logiques.

◇ TYPE = / "BINAIRE",
         / "ASCII" (par défaut)

Cet opérande permet d’introduire le format d’écriture commun (“ASCII” ou “BINAIRE”) des évolutions temporelles des contributions en rigidité, masse et amortissement de l’impédance de sol renseignées sous forme d’unités logiques par les opérandes précédents UNITE_RESU_* . La valeur de l’opérande doit être cohérente avec la valeur entrée dans l’opérande TYPE_FICHIER_TEMPS lors du calcul de l’option TYPE_RESU=”FICHIER_TEMPS” par CALC_MISS.

◇ UNITE_RESU_FORC

Cet opérande permet d’introduire, si elle existe et sous forme d’unité logique, l’évolution temporelle des forces sismiques, affectée à l’interface dynamique du macro-élément représentant le comportement du domaine de sol que l’on ajoute au modèle de structure.

◇ NB_PAS_TRONCATURE = int,

Cet opérande permet d’introduire (s’il est présent) une troncature du calcul de la contribution au second membre de la force de sol dans DYNA_NON_LINE. Cette troncature s’opère sur la sommation à partir des champs de déplacements stockés aux instants précédents. Suite à des tests, on se rend compte qu’il suffit souvent de tronquer la somme sur les 50 à 100 derniers pas de temps au lieu de faire la somme complète sur tous les instants stockés précédents, qui est l’option par défaut. Il est donc conseillé d’utiliser comme valeur pratique la valeur entière du maximum entre 50 et le dixième du nombre total de pas de temps stockés.