Syntaxe ======= .. code-block:: text char_contact = DEFI_CONTACT( ◆ MODELE = modele, ◇ INFO = / 1, / 2, ◇ FORMULATION = / "CONTINUE", / "DISCRETE" (par défaut), / "LIAISON_UNIL", ◇ FROTTEMENT = / "COULOMB", / "SANS" (par défaut), # Si: ((equal_to("FORMULATION", 'CONTINUE')) or (equal_to("FORMULATION", 'DISCRETE'))) ◇ STOP_INTERP = / "NON" (par défaut), / "OUI", ◇ LISSAGE = / "NON" (par défaut), / "OUI", ◇ VERI_NORM = / "NON", / "OUI" (par défaut), # Si: equal_to("FORMULATION", 'DISCRETE') ◇ ALGO_RESO_GEOM = "POINT_FIXE", ◇ REAC_GEOM = / "AUTOMATIQUE" (par défaut), / "CONTROLE", / "SANS", # Si: equal_to("REAC_GEOM", 'AUTOMATIQUE') ◇ ITER_GEOM_MAXI = int (défaut: 10), ◇ RESI_GEOM = float (défaut: 0.01), # Si: equal_to("REAC_GEOM", 'CONTROLE') ◇ NB_ITER_GEOM = int (défaut: 2), # Si: equal_to("FORMULATION", 'CONTINUE') ◇ ALGO_RESO_GEOM = / "NEWTON", / "POINT_FIXE" (par défaut), ◇ CONT_STAT_ELAS = int (défaut: 0), # Si: equal_to("ALGO_RESO_GEOM", 'NEWTON') ◇ RESI_GEOM = float (défaut: 1e-06), # Si: equal_to("ALGO_RESO_GEOM", 'POINT_FIXE') ◇ REAC_GEOM = / "AUTOMATIQUE" (par défaut), / "CONTROLE", / "SANS", # Si: equal_to("REAC_GEOM", 'AUTOMATIQUE') ◇ ITER_GEOM_MAXI = int (défaut: 10), ◇ RESI_GEOM = float (défaut: 0.01), # Si: equal_to("REAC_GEOM", 'CONTROLE') ◇ NB_ITER_GEOM = int (défaut: 2), # Si: equal_to("FORMULATION", 'DISCRETE') ◇ ITER_CONT_MULT = int (défaut: 4), # Si: equal_to("FORMULATION", 'CONTINUE') ◇ ALGO_RESO_CONT = / "NEWTON" (par défaut), / "POINT_FIXE", ◇ RESI_CONT = float (défaut: -1), # Si: equal_to("ALGO_RESO_CONT", 'POINT_FIXE') ◇ ITER_CONT_TYPE = / "MAXI" (par défaut), / "MULT", # Si: equal_to("ITER_CONT_TYPE", 'MULT') ◇ ITER_CONT_MULT = int (défaut: 4), # Si: equal_to("ITER_CONT_TYPE", 'MAXI') ◇ ITER_CONT_MAXI = int (défaut: 30), # Si: equal_to("FROTTEMENT", 'COULOMB') and equal_to("FORMULATION", 'CONTINUE') ◇ ALGO_RESO_FROT = / "NEWTON" (par défaut), / "POINT_FIXE", # Si: equal_to("ALGO_RESO_FROT", 'POINT_FIXE') ◇ ITER_FROT_MAXI = int (défaut: 10), ◇ RESI_FROT = float (défaut: 0.0001), # Si: equal_to("ALGO_RESO_FROT", 'NEWTON') ◇ RESI_FROT = float (défaut: 0.0001), # Si: equal_to("FORMULATION", 'DISCRETE') ◇ STOP_SINGULIER = / "NON", / "OUI" (par défaut), ◇ NB_RESOL = int (défaut: 10), ◇ RESI_ABSO = float, ◇ ITER_GCP_MAXI = int (défaut: 0), ◇ RECH_LINEAIRE = / "ADMISSIBLE" (par défaut), / "NON_ADMISSIBLE", ◇ PRE_COND = / "DIRICHLET", / "SANS" (par défaut), # Si: equal_to("PRE_COND", 'DIRICHLET') ◇ COEF_RESI = float (défaut: -1.0), ◇ ITER_PRE_MAXI = int (défaut: 0), # Si: equal_to("FORMULATION", 'LIAISON_UNIL') ◆ ZONE = _F( ◆ / GROUP_MA = list[grma], / GROUP_NO = list[grno], ◆ NOM_CMP = list[text], ◆ COEF_IMPO = fonction / formule / nappe, ◆ COEF_MULT = list[fonction / formule / nappe], ◇ SANS_GROUP_NO = list[grno], ◇ ALGO_CONT = / "CONTRAINTE" (par défaut), / "PENALISATION", # Si: equal_to("ALGO_CONT", 'PENALISATION') ◆ COEF_PENA = float, ), # Si: equal_to("FORMULATION", 'DISCRETE') and equal_to("FROTTEMENT", 'COULOMB') ◆ ZONE = _F( ◇ APPARIEMENT = / "MAIT_ESCL" (par défaut), / "NODAL", ◇ GROUP_MA_MAIT = grma, ◇ GROUP_MA_ESCL = grma, ◇ NORMALE = / "ESCL", / "MAIT" (par défaut), / "MAIT_ESCL", ◇ VECT_MAIT = / "AUTO" (par défaut), / "FIXE", / "VECT_Y", # Si: equal_to("VECT_MAIT", 'FIXE') ◆ MAIT_FIXE = list[float], # Si: equal_to("VECT_MAIT", 'VECT_Y') ◆ MAIT_VECT_Y = list[float], ◇ VECT_ESCL = / "AUTO" (par défaut), / "FIXE", / "VECT_Y", # Si: equal_to("VECT_ESCL", 'FIXE') ◆ ESCL_FIXE = list[float], # Si: equal_to("VECT_ESCL", 'VECT_Y') ◆ ESCL_VECT_Y = list[float], ◇ TYPE_PROJECTION = / "FIXE", / "ORTHOGONALE" (par défaut), # Si: equal_to("TYPE_PROJECTION", 'FIXE') ◇ DIRE_APPA = list[float], ◇ DIST_POUTRE = / "NON" (par défaut), / "OUI", ◇ DIST_COQUE = / "NON" (par défaut), / "OUI", # Si: equal_to("DIST_POUTRE", 'OUI') or equal_to("DIST_COQUE", 'OUI') ◆ CARA_ELEM = cara_elem, ◇ DIST_MAIT = fonction / formule / nappe, ◇ DIST_ESCL = fonction / formule / nappe, ◇ DIST_APPA = float (défaut: -1.0), ◇ TOLE_PROJ_EXT = float (défaut: 0.5), ◇ SANS_GROUP_NO = list[grno], ◇ SANS_GROUP_MA = list[grma], ◇ RESOLUTION = / "NON", / "OUI" (par défaut), # Si: equal_to("RESOLUTION", 'NON') ◇ TOLE_INTERP = float (défaut: 0.0), ◇ ALGO_CONT = / "CONTRAINTE" (par défaut), / "GCP", / "PENALISATION", # Si: equal_to("ALGO_CONT", 'CONTRAINTE') ◇ GLISSIERE = / "NON" (par défaut), / "OUI", # Si: equal_to("GLISSIERE", 'OUI') ◇ ALARME_JEU = float (défaut: 0.0), # Si: equal_to("ALGO_CONT", 'PENALISATION') ◆ E_N = float, ◆ COULOMB = float, ◇ COEF_MATR_FROT = float (défaut: 0.0), ◇ ALGO_FROT = "PENALISATION", ◆ E_T = float, ), # Si: equal_to("FORMULATION", 'DISCRETE') and not equal_to("FROTTEMENT", 'COULOMB') ◆ ZONE = _F( ◇ APPARIEMENT = / "MAIT_ESCL" (par défaut), / "NODAL", ◇ GROUP_MA_MAIT = grma, ◇ GROUP_MA_ESCL = grma, ◇ NORMALE = / "ESCL", / "MAIT" (par défaut), / "MAIT_ESCL", ◇ VECT_MAIT = / "AUTO" (par défaut), / "FIXE", / "VECT_Y", # Si: equal_to("VECT_MAIT", 'FIXE') ◆ MAIT_FIXE = list[float], # Si: equal_to("VECT_MAIT", 'VECT_Y') ◆ MAIT_VECT_Y = list[float], ◇ VECT_ESCL = / "AUTO" (par défaut), / "FIXE", / "VECT_Y", # Si: equal_to("VECT_ESCL", 'FIXE') ◆ ESCL_FIXE = list[float], # Si: equal_to("VECT_ESCL", 'VECT_Y') ◆ ESCL_VECT_Y = list[float], ◇ TYPE_PROJECTION = / "FIXE", / "ORTHOGONALE" (par défaut), # Si: equal_to("TYPE_PROJECTION", 'FIXE') ◇ DIRE_APPA = list[float], ◇ DIST_POUTRE = / "NON" (par défaut), / "OUI", ◇ DIST_COQUE = / "NON" (par défaut), / "OUI", # Si: equal_to("DIST_POUTRE", 'OUI') or equal_to("DIST_COQUE", 'OUI') ◆ CARA_ELEM = cara_elem, ◇ DIST_MAIT = fonction / formule / nappe, ◇ DIST_ESCL = fonction / formule / nappe, ◇ DIST_APPA = float (défaut: -1.0), ◇ TOLE_PROJ_EXT = float (défaut: 0.5), ◇ SANS_GROUP_NO = list[grno], ◇ SANS_GROUP_MA = list[grma], ◇ RESOLUTION = / "NON", / "OUI" (par défaut), # Si: equal_to("RESOLUTION", 'NON') ◇ TOLE_INTERP = float (défaut: 0.0), ◇ ALGO_CONT = / "CONTRAINTE" (par défaut), / "GCP", / "PENALISATION", # Si: equal_to("ALGO_CONT", 'CONTRAINTE') ◇ GLISSIERE = / "NON" (par défaut), / "OUI", # Si: equal_to("GLISSIERE", 'OUI') ◇ ALARME_JEU = float (défaut: 0.0), # Si: equal_to("ALGO_CONT", 'PENALISATION') ◆ E_N = float, ), # Si: equal_to("FORMULATION", 'CONTINUE') and equal_to("FROTTEMENT", 'COULOMB') ◆ ZONE = _F( ◇ ALGO_CONT = / "LAC", / "PENALISATION", / "STANDARD" (par défaut), ◇ ALGO_FROT = / "PENALISATION", / "STANDARD" (par défaut), # Si: equal_to("ALGO_FROT", 'STANDARD') # Si: (equal_to("ALGO_CONT", 'PENALISATION') and equal_to("ALGO_FROT", 'STANDARD') ) ◇ ADAPTATION = / "ADAPT_COEF", / "CYCLAGE" (par défaut), / "NON", / "TOUT", ◇ COEF_FROT = float (défaut: 100.0), # Si: (equal_to("ADAPTATION", 'NON') or equal_to("ADAPTATION", 'CYCLAGE') or not exists("ADAPTATION")) ◆ COEF_PENA_CONT = float, # Si: (equal_to("ADAPTATION", 'ADAPT_COEF') or equal_to("ADAPTATION", 'TOUT')) ◇ PENE_MAXI = float, ◇ COEF_PENA_CONT = float (défaut: 100.0), # Si: (equal_to("ALGO_CONT", 'STANDARD') and equal_to("ALGO_FROT",'STANDARD' ) ) ◇ ADAPTATION = / "ADAPT_COEF", / "CYCLAGE" (par défaut), / "NON", / "TOUT", ◇ COEF_CONT = float (défaut: 100.0), ◇ COEF_FROT = float (défaut: 100.0), # Si: (equal_to("ALGO_CONT", 'PENALISATION') and equal_to("ALGO_FROT", 'PENALISATION')) ◇ ADAPTATION = / "ADAPT_COEF", / "CYCLAGE" (par défaut), / "NON", / "TOUT", # Si: (equal_to("ADAPTATION", 'NON') or equal_to("ADAPTATION", 'CYCLAGE') or not exists("ADAPTATION")) ◆ COEF_PENA_CONT = float, ◆ COEF_PENA_FROT = float, # Si: (equal_to("ADAPTATION", 'ADAPT_COEF') or equal_to("ADAPTATION", 'TOUT')) ◇ PENE_MAXI = float, ◇ COEF_PENA_CONT = float (défaut: 100.0), ◇ GLIS_MAXI = float, ◇ COEF_PENA_FROT = float (défaut: 10000000.0), # Si: (equal_to("ALGO_CONT", 'STANDARD') and equal_to("ALGO_FROT", 'PENALISATION')) ◇ ADAPTATION = / "ADAPT_COEF", / "CYCLAGE" (par défaut), / "NON", / "TOUT", ◇ COEF_CONT = float (défaut: 100.0), # Si: (equal_to("ADAPTATION", 'NON') or equal_to("ADAPTATION", 'CYCLAGE')) ◆ COEF_PENA_FROT = float, # Si: (equal_to("ADAPTATION", 'ADAPT_COEF') or equal_to("ADAPTATION", 'TOUT')) ◇ GLIS_MAXI = float, ◇ COEF_PENA_FROT = float (défaut: 10000000.0), # Si: equal_to("ALGO_CONT", 'STANDARD') or equal_to("ALGO_CONT", 'PENALISATION') ◇ APPARIEMENT = "MAIT_ESCL", ◇ GROUP_MA_MAIT = grma, ◇ GROUP_MA_ESCL = grma, ◇ NORMALE = / "ESCL", / "MAIT" (par défaut), / "MAIT_ESCL", ◇ VECT_MAIT = / "AUTO" (par défaut), / "FIXE", / "VECT_Y", # Si: equal_to("VECT_MAIT", 'FIXE') ◆ MAIT_FIXE = list[float], # Si: equal_to("VECT_MAIT", 'VECT_Y') ◆ MAIT_VECT_Y = list[float], ◇ VECT_ESCL = / "AUTO" (par défaut), / "FIXE", / "VECT_Y", # Si: equal_to("VECT_ESCL", 'FIXE') ◆ ESCL_FIXE = list[float], # Si: equal_to("VECT_ESCL", 'VECT_Y') ◆ ESCL_VECT_Y = list[float], ◇ TYPE_PROJECTION = / "FIXE", / "ORTHOGONALE" (par défaut), # Si: equal_to("TYPE_PROJECTION", 'FIXE') ◇ DIRE_APPA = list[float], ◇ DIST_APPA = float (défaut: -1.0), ◇ TOLE_PROJ_EXT = float (défaut: 0.5), ◇ DIST_POUTRE = / "NON" (par défaut), / "OUI", ◇ DIST_COQUE = / "NON" (par défaut), / "OUI", # Si: equal_to("DIST_POUTRE", 'OUI') or equal_to("DIST_COQUE", 'OUI') ◆ CARA_ELEM = cara_elem, ◇ DIST_MAIT = fonction / formule / nappe, ◇ DIST_ESCL = fonction / formule / nappe, ◇ SANS_GROUP_NO = list[grno], ◇ SANS_GROUP_MA = list[grma], ◇ INTEGRATION = / "AUTO" (par défaut), / "GAUSS", / "NCOTES", / "SIMPSON", # Si: equal_to("INTEGRATION", 'GAUSS') ◇ ORDRE_INT = int (défaut: 3), # Si: equal_to("INTEGRATION", 'SIMPSON') ◇ ORDRE_INT = int (défaut: 1), # Si: equal_to("INTEGRATION", 'NCOTES') ◇ ORDRE_INT = int (défaut: 3), ◇ RESOLUTION = / "NON", / "OUI" (par défaut), # Si: equal_to("RESOLUTION", 'NON') ◇ TOLE_INTERP = float (défaut: 0.0), ◇ CONTACT_INIT = / "INTERPENETRE" (par défaut), / "NON", / "OUI", # Si: equal_to("CONTACT_INIT", 'INTERPENETRE') ◇ DIST_MAXI = float, ◇ GLISSIERE = / "NON" (par défaut), / "OUI", # Si: equal_to("ALGO_CONT", 'LAC') ◇ APPARIEMENT = "MORTAR", ◇ TYPE_APPA = / "RAPIDE" (par défaut), / "ROBUSTE", ◇ RESI_APPA = float (défaut: 1e-08), ◇ TYPE_JACOBIEN = / "ACTUALISE", / "INITIAL" (par défaut), ◇ INTEGRATION = "AUTO", ◆ GROUP_MA_MAIT = grma, ◆ GROUP_MA_ESCL = grma, ◇ CONTACT_INIT = / "INTERPENETRE" (par défaut), / "NON", / "OUI", # Si: equal_to("CONTACT_INIT", 'INTERPENETRE') ◇ DIST_MAXI = float, ◆ COULOMB = float, ◇ GRAND_GLIS = / "NON" (par défaut), / "OUI", ◇ SEUIL_INIT = float, ◇ SANS_GROUP_NO_FR = list[grno], # Si: exists("SANS_GROUP_NO_FR") ◇ DIRE_EXCL_FROT = list[float], ), # Si: equal_to("FORMULATION", 'CONTINUE') and not equal_to("FROTTEMENT", 'COULOMB') ◆ ZONE = _F( ◇ ALGO_CONT = / "LAC", / "PENALISATION", / "STANDARD" (par défaut), # Si: equal_to("ALGO_CONT", 'STANDARD') ◇ COEF_CONT = float (défaut: 100.0), ◇ ADAPTATION = / "ADAPT_COEF", / "CYCLAGE" (par défaut), / "NON", / "TOUT", # Si: equal_to("ALGO_CONT", 'PENALISATION') ◇ ADAPTATION = / "ADAPT_COEF", / "CYCLAGE" (par défaut), / "NON", / "TOUT", # Si: (equal_to("ADAPTATION", 'ADAPT_COEF')) or (equal_to("ADAPTATION", 'TOUT')) ◇ PENE_MAXI = float, ◇ COEF_PENA_CONT = float (défaut: 100.0), # Si: (equal_to("ADAPTATION", 'CYCLAGE')) or (equal_to("ADAPTATION", 'NON')) or (not exists("ADAPTATION")) ◆ COEF_PENA_CONT = float, # Si: equal_to("ALGO_CONT", 'STANDARD') or equal_to("ALGO_CONT", 'PENALISATION') ◇ APPARIEMENT = "MAIT_ESCL", ◇ GROUP_MA_MAIT = grma, ◇ GROUP_MA_ESCL = grma, ◇ NORMALE = / "ESCL", / "MAIT" (par défaut), / "MAIT_ESCL", ◇ VECT_MAIT = / "AUTO" (par défaut), / "FIXE", / "VECT_Y", # Si: equal_to("VECT_MAIT", 'FIXE') ◆ MAIT_FIXE = list[float], # Si: equal_to("VECT_MAIT", 'VECT_Y') ◆ MAIT_VECT_Y = list[float], ◇ VECT_ESCL = / "AUTO" (par défaut), / "FIXE", / "VECT_Y", # Si: equal_to("VECT_ESCL", 'FIXE') ◆ ESCL_FIXE = list[float], # Si: equal_to("VECT_ESCL", 'VECT_Y') ◆ ESCL_VECT_Y = list[float], ◇ TYPE_PROJECTION = / "FIXE", / "ORTHOGONALE" (par défaut), # Si: equal_to("TYPE_PROJECTION", 'FIXE') ◇ DIRE_APPA = list[float], ◇ DIST_APPA = float (défaut: -1.0), ◇ TOLE_PROJ_EXT = float (défaut: 0.5), ◇ DIST_POUTRE = / "NON" (par défaut), / "OUI", ◇ DIST_COQUE = / "NON" (par défaut), / "OUI", # Si: equal_to("DIST_POUTRE", 'OUI') or equal_to("DIST_COQUE", 'OUI') ◆ CARA_ELEM = cara_elem, ◇ DIST_MAIT = fonction / formule / nappe, ◇ DIST_ESCL = fonction / formule / nappe, ◇ SANS_GROUP_NO = list[grno], ◇ SANS_GROUP_MA = list[grma], ◇ INTEGRATION = / "AUTO" (par défaut), / "GAUSS", / "NCOTES", / "SIMPSON", # Si: equal_to("INTEGRATION", 'GAUSS') ◇ ORDRE_INT = int (défaut: 3), # Si: equal_to("INTEGRATION", 'SIMPSON') ◇ ORDRE_INT = int (défaut: 1), # Si: equal_to("INTEGRATION", 'NCOTES') ◇ ORDRE_INT = int (défaut: 3), ◇ RESOLUTION = / "NON", / "OUI" (par défaut), # Si: equal_to("RESOLUTION", 'NON') ◇ TOLE_INTERP = float (défaut: 0.0), ◇ CONTACT_INIT = / "INTERPENETRE" (par défaut), / "NON", / "OUI", # Si: equal_to("CONTACT_INIT", 'INTERPENETRE') ◇ DIST_MAXI = float, ◇ GLISSIERE = / "NON" (par défaut), / "OUI", # Si: equal_to("ALGO_CONT", 'LAC') ◇ APPARIEMENT = "MORTAR", ◇ TYPE_APPA = / "RAPIDE" (par défaut), / "ROBUSTE", ◇ RESI_APPA = float (défaut: 1e-08), ◇ TYPE_JACOBIEN = / "ACTUALISE", / "INITIAL" (par défaut), ◇ INTEGRATION = "AUTO", ◆ GROUP_MA_MAIT = grma, ◆ GROUP_MA_ESCL = grma, ◇ CONTACT_INIT = / "INTERPENETRE" (par défaut), / "NON", / "OUI", ), ) ◆ : obligatoire ◇ : optionnel ⟐ : présent par défaut & : ensemble / : un seul parmi | : plusieurs choix possibles