evol_ther = THER_NON_LINE(
◇ reuse = <objet de RESULTAT>,
◇ & RESULTAT = evol_ther,
◆ MODELE = modele,
◆ CHAM_MATER = cham_mater,
◇ CARA_ELEM = cara_elem,
⟐ COMPORTEMENT = _F(
◇ RELATION = / "THER_HYDR",
/ "THER_NL" (par défaut),
◆ / TOUT = "OUI" (ou non renseigné),
/ GROUP_MA = list[grma],
),
◆ EXCIT = _F(
◆ CHARGE = char_cine_ther / char_ther,
◇ FONC_MULT = fonction / formule / nappe,
◇ TYPE_CHARGE = "FIXE_CSTE",
),
⟐ AFFICHAGE = _F(
◇ INFO_RESIDU = / "NON" (par défaut),
/ "OUI",
◇ INFO_TEMPS = / "NON" (par défaut),
/ "OUI",
◇ UNITE = unit,
◇ PAS = int,
),
◇ METHODE = / "MODELE_REDUIT",
/ "NEWTON" (par défaut),
/ "NEWTON_KRYLOV",
/ "RASPEN",
# Si: equal_to("METHODE", 'NEWTON') or equal_to("METHODE", 'NEWTON_KRYLOV') or equal_to("METHODE", 'RASPEN')
⟐ NEWTON = _F(
◇ REAC_ITER = int (défaut: 0),
◇ REAC_INCR = int (défaut: 1),
◇ PREDICTION = "TANGENTE",
◇ MATRICE = "TANGENTE",
),
◇ RECH_LINEAIRE = _F(
◇ METHODE = "CORDE",
◇ RESI_LINE_RELA = float (défaut: 0.1),
◇ ITER_LINE_MAXI = int (défaut: 3),
◇ RHO_MIN = float (défaut: 0.01),
◇ RHO_MAX = float (défaut: 10.0),
◇ RHO_EXCL = float (défaut: 0.009),
),
# Si: equal_to("METHODE", 'MODELE_REDUIT')
⟐ MODELE_REDUIT = _F(
◇ REAC_ITER = int (défaut: 0),
◇ REAC_INCR = int (défaut: 1),
◆ BASE_PRIMAL = mode_empi,
◇ DOMAINE_REDUIT = / "NON" (par défaut),
/ "OUI",
# Si: (equal_to("DOMAINE_REDUIT", 'OUI'))
◆ GROUP_NO_INTERF = grno,
◇ CORR_COMPLET = / "NON" (par défaut),
/ "OUI",
# Si: (equal_to("CORR_COMPLET", 'OUI'))
◆ GROUP_NO_ENCASTRE = grno,
◇ COEF_PENA = float (défaut: 1000000.0),
),
◇ TYPE_CALCUL = / "STAT",
/ "TRAN" (par défaut),
# Si: (equal_to("TYPE_CALCUL", 'TRAN'))
◆ ETAT_INIT = _F(
◆ / STAT = "OUI" (ou non renseigné),
/ EVOL_THER = evol_ther,
/ CHAM_NO = cham_no,
/ VALE = float,
# Si: exists("EVOL_THER")
◇ NUME_ORDRE = int,
◇ INST = float,
# Si: exists("INST")
◇ CRITERE = / "ABSOLU",
/ "RELATIF" (par défaut),
# Si: (equal_to("CRITERE", 'RELATIF'))
◇ PRECISION = float (défaut: 1e-06),
# Si: (equal_to("CRITERE", 'ABSOLU'))
◆ PRECISION = float,
),
⟐ SCHEMA_TEMPS = _F(
◇ SCHEMA = "THETA",
# Si: equal_to("SCHEMA", 'THETA')
◇ THETA = float (défaut: 0.57),
),
# Si: (equal_to("TYPE_CALCUL", 'STAT'))
⟐ ETAT_INIT = _F(
◇ STAT = "OUI",
),
◆ INCREMENT = _F(
# Si: exists("INST_INIT") or exists("INST_FIN")
◇ CRITERE = "RELATIF",
# Si: (equal_to("CRITERE", 'RELATIF'))
◇ PRECISION = float (défaut: 1e-06),
◆ LIST_INST = list_inst / listr8,
◇ / NUME_INST_INIT = int,
/ INST_INIT = float,
◇ / NUME_INST_FIN = int,
/ INST_FIN = float,
),
⟐ CONVERGENCE = _F(
◆ | RESI_GLOB_MAXI = float,
| RESI_GLOB_RELA = float,
◇ ITER_GLOB_MAXI = int (défaut: 10),
),
⟐ SOLVEUR = _F(
◇ METHODE = / "GCPC",
/ "LDLT",
/ "MULT_FRONT",
/ "MUMPS" (par défaut),
/ "PETSC",
# Si: equal_to("METHODE", 'MULT_FRONT')
◇ RENUM = / "MD",
/ "MDA" (par défaut),
◇ NPREC = int (défaut: 8),
◇ ELIM_LAGR = / "NON" (par défaut),
/ "OUI",
◇ STOP_SINGULIER = / "NON",
/ "OUI" (par défaut),
# Si: equal_to("METHODE", 'LDLT')
◇ RENUM = "RCMK",
◇ NPREC = int (défaut: 8),
◇ ELIM_LAGR = / "NON" (par défaut),
/ "OUI",
◇ STOP_SINGULIER = / "NON",
/ "OUI" (par défaut),
# Si: equal_to("METHODE", 'MUMPS')
◇ RENUM = / "AMD",
/ "AMF",
/ "AUTO" (par défaut),
/ "METIS",
/ "PARMETIS",
/ "PORD",
/ "PTSCOTCH",
/ "QAMD",
/ "SCOTCH",
◇ NPREC = int (défaut: 8),
◇ ELIM_LAGR = / "LAGR2" (par défaut),
/ "NON",
/ "OUI",
◇ STOP_SINGULIER = / "NON",
/ "OUI" (par défaut),
◇ TYPE_RESOL = / "AUTO" (par défaut),
/ "NONSYM",
/ "SYMDEF",
/ "SYMGEN",
◇ ACCELERATION = / "AUTO" (par défaut),
/ "FR",
/ "FR+",
/ "FR++",
/ "LR",
/ "LR+",
/ "LR++",
◇ LOW_RANK_SEUIL = float (défaut: 0.0),
◇ PRETRAITEMENTS = / "AUTO" (par défaut),
/ "SANS",
◇ POSTTRAITEMENTS = / "AUTO" (par défaut),
/ "FORCE",
/ "MINI",
/ "SANS",
◇ PCENT_PIVOT = int (défaut: 35),
◇ REDUCTION_MPI = int (défaut: 0),
◇ NB_RHS = int (défaut: 1),
◇ RESI_RELA = float (défaut: -1.0),
◇ GESTION_MEMOIRE = / "AUTO" (par défaut),
/ "EVAL",
/ "IN_CORE",
/ "OUT_OF_CORE",
◇ FILTRAGE_MATRICE = float (défaut: -1.0),
◇ MIXER_PRECISION = / "NON" (par défaut),
/ "OUI",
◇ MATR_DISTRIBUEE = / "NON" (par défaut),
/ "OUI",
# Si: equal_to("METHODE", 'GCPC')
◇ ELIM_LAGR = / "NON" (par défaut),
/ "OUI",
◇ PRE_COND = / "LDLT_DP",
/ "LDLT_INC" (par défaut),
/ "LDLT_SP",
◇ RESI_RELA = float (défaut: 1e-06),
◇ NMAX_ITER = int (défaut: 0),
# Si: equal_to("PRE_COND", 'LDLT_INC')
◇ RENUM = "RCMK",
◇ NIVE_REMPLISSAGE = int (défaut: 0),
# Si: is_in("PRE_COND", ('LDLT_SP', 'LDLT_DP'))
◇ RENUM = / "METIS",
/ "PARMETIS" (par défaut),
/ "SANS",
◇ REAC_PRECOND = int (défaut: 30),
◇ PCENT_PIVOT = int (défaut: 20),
◇ GESTION_MEMOIRE = / "AUTO" (par défaut),
/ "IN_CORE",
◇ LOW_RANK_SEUIL = float (défaut: 0.0),
# Si: equal_to("METHODE", 'PETSC')
◇ ELIM_LAGR = / "NON" (par défaut),
/ "OUI",
◇ MATR_DISTRIBUEE = / "NON" (par défaut),
/ "OUI",
◇ ALGORITHME = / "CG",
/ "CR",
/ "FGMRES" (par défaut),
/ "GCR",
/ "GMRES",
/ "GMRES_LMP",
◇ OPTION_PETSC = text (défaut: ""),
◇ PRE_COND = / "BLOC_LAGR",
/ "BOOMER",
/ "FIELDSPLIT",
/ "GAMG",
/ "HPDDM",
/ "JACOBI",
/ "LDLT_DP",
/ "LDLT_INC",
/ "LDLT_SP" (par défaut),
/ "ML",
/ "SANS",
/ "SOR",
/ "UTILISATEUR",
◇ RESI_RELA = float (défaut: 1e-06),
◇ NMAX_ITER = int (défaut: 0),
# Si: equal_to("PRE_COND", 'LDLT_INC')
◇ RENUM = "RCMK",
◇ NIVE_REMPLISSAGE = int (défaut: 0),
◇ REMPLISSAGE = float (défaut: 1.0),
# Si: is_in("PRE_COND", ('LDLT_SP', 'LDLT_DP'))
◇ RENUM = / "METIS",
/ "PARMETIS" (par défaut),
/ "SANS",
◇ REAC_PRECOND = int (défaut: 30),
◇ PCENT_PIVOT = int (défaut: 20),
◇ GESTION_MEMOIRE = / "AUTO" (par défaut),
/ "IN_CORE",
◇ LOW_RANK_SEUIL = float (défaut: 0.0),
# Si: equal_to("PRE_COND", 'ML')
◇ RENUM = "SANS",
# Si: equal_to("PRE_COND", 'BOOMER')
◇ RENUM = "SANS",
# Si: equal_to("PRE_COND", 'GAMG')
◇ RENUM = "SANS",
# Si: equal_to("PRE_COND", 'HPDDM')
◇ RENUM = "SANS",
# Si: equal_to("PRE_COND", 'BLOC_LAGR')
◇ RENUM = "SANS",
# Si: is_in("PRE_COND", ('FIELDSPLIT'))
◇ RENUM = "SANS",
◇ PARTITION_CMP = list[int],
◇ NOM_CMP = list[text],
# Si: is_in("PRE_COND", ('UTILISATEUR'))
◇ KSP_UTIL = not_checked,
◇ RENUM = "SANS",
# Si: is_in("PRE_COND", ('JACOBI','SOR','SANS'))
◇ RENUM = / "RCMK",
/ "SANS" (par défaut),
),
⟐ ARCHIVAGE = _F(
◆ / PAS_ARCH = int,
/ LIST_INST = listr8,
/ INST = list[float],
# Si: exists("INST") or exists("LIST_INST")
◇ CRITERE = / "ABSOLU",
/ "RELATIF" (par défaut),
# Si: equal_to("CRITERE", 'RELATIF')
◇ PRECISION = float (défaut: 1e-06),
# Si: equal_to("CRITERE", 'ABSOLU')
◆ PRECISION = float,
◇ CHAM_EXCLU = list[text] (défaut: "('RESI_NOEU', 'RESI_RELA_NOEU')"),
),
◇ OBSERVATION = _F(
◆ / TOUT = "OUI" (ou non renseigné),
/ NOEUD = list[no],
/ GROUP_NO = list[grno],
/ GROUP_MA = list[grma],
/ MAILLE = list[ma],
◇ TITRE = text,
◇ OBSE_ETAT_INIT = / "NON",
/ "OUI" (par défaut),
◇ EVAL_CHAM = / "MAX",
/ "MAXI_ABS",
/ "MIN",
/ "MINI_ABS",
/ "MOY",
/ "VALE" (par défaut),
◆ / NOM_CMP = list[text],
◇ EVAL_CMP = / "FORMULE",
/ "VALE" (par défaut),
◇ INST = list[float],
◇ LIST_INST = listr8,
◇ PAS_OBSE = int,
◇ CRITERE = / "ABSOLU",
/ "RELATIF" (par défaut),
◆ NOM_CHAM = "TEMP" (ou non renseigné),
# Si: (equal_to("EVAL_CMP", 'FORMULE'))
◆ FORMULE = formule,
# Si: (equal_to("CRITERE", 'RELATIF'))
◇ PRECISION = float (défaut: 1e-06),
# Si: (equal_to("CRITERE", 'ABSOLU'))
◆ PRECISION = float,
),
◇ TITRE = text,
◇ INFO = / 1 (par défaut),
/ 2,
)
◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles