# faire que la division soit toujours réelle
from __future__ import division
-__version__ = "$Name: $"
-__Id__ = "$Id: cata_aster_v6.py,v 1.12 2001/01/16 15:55:05 iliade Exp $"
+__version__ = "$Name: BR_dev_V1_14 $"
+__Id__ = "$Id: cata.py,v 1.2.6.5.4.1 2008-06-13 14:26:09 cchris Exp $"
import Accas
from Accas import *
# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
# ======================================================================
# RESPONSABLE GREFFET N.GREFFET
-
-from Intranet.macro_bascule_schema_ops import macro_bascule_schema_ops
-
-MACRO_BASCULE_SCHEMA = MACRO(nom="MACRO_BASCULE_SCHEMA", op=macro_bascule_schema_ops, sd_prod=evol_noli,reentrant='f',
- fr="Macro permettant la bascule de schema en temps dans DYNA_NON_LINE",
- UIinfo={"groupes":("Résolution",)},
- regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
- MODE =SIMP(statut='o',typ=modele_sdaster),
- MATE =SIMP(statut='o',typ=cham_mater),
- MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
- CARA =SIMP(statut='f',typ=cara_elem),
- MASS_DIAG =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
- EXC_T =FACT(statut='o',max='**',
- regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
- PRESENT_PRESENT('ACCE','VITE','DEPL'),
- # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
- ),
- TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
- into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
- CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
- FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
- DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
- ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
- VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
- MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
- DIRECTION =SIMP(statut='f',typ='R',max='**'),
- NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
- GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
- ),
- EXCIT_GENE =FACT(statut='f',max='**',
- FONC_MULT =SIMP(statut='f',typ=fonction_sdaster,max='**' ),
- VECT_GENE =SIMP(statut='f',typ=vect_asse_gene,max='**' ),
- ),
- SOUS_STRUC =FACT(statut='f',min=01,max='**',
- regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
- CAS_CHARGE =SIMP(statut='o',typ='TXM' ),
- TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
- SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
- FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
- ),
- AMOR_MODAL =FACT(statut='f',
- regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
- MODE_MECA =SIMP(statut='f',typ=mode_meca),
- AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ),
- LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),
- NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ),
- REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
- ),
- PROJ_MODAL =FACT(statut='f',max='**',
- MODE_MECA =SIMP(statut='o',typ=mode_meca),
- NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ),
- regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),),
- MASS_GENE =SIMP(statut='f',typ=matr_asse_gene_r),
- RIGI_GENE =SIMP(statut='f',typ=matr_asse_gene_r),
- AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r),
- ),
-#-------------------------------------------------------------------
- b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
- INIT =FACT(statut='o',
- regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',),
- EXCLUS('EVOL_NOLI','DEPL',),
- EXCLUS('EVOL_NOLI','VITE'),
- EXCLUS('EVOL_NOLI','ACCE'),
- EXCLUS('EVOL_NOLI','SIGM',),
- EXCLUS('EVOL_NOLI','VARI',),
- EXCLUS('NUME_ORDRE','INST'), ),
- DEPL =SIMP(statut='f',typ=cham_no_sdaster),
- VITE =SIMP(statut='f',typ=cham_no_sdaster),
- ACCE =SIMP(statut='f',typ=cham_no_sdaster),
- SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
- VARI =SIMP(statut='f',typ=cham_elem),
- EVOL_NOLI =SIMP(statut='f',typ=evol_noli),
- NUME_ORDRE =SIMP(statut='f',typ='I'),
- INST =SIMP(statut='f',typ='R'),
- PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
- CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
- NUME_DIDI =SIMP(statut='f',typ='I'),
- INST_ETAT_INIT =SIMP(statut='f',typ='R'),
- ),),
- b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
- INIT =FACT(statut='f',
- regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',),
- EXCLUS('EVOL_NOLI','DEPL',),
- EXCLUS('EVOL_NOLI','VITE'),
- EXCLUS('EVOL_NOLI','ACCE'),
- EXCLUS('EVOL_NOLI','SIGM',),
- EXCLUS('EVOL_NOLI','VARI',),
- EXCLUS('NUME_ORDRE','INST'), ),
- DEPL =SIMP(statut='f',typ=cham_no_sdaster),
- VITE =SIMP(statut='f',typ=cham_no_sdaster),
- ACCE =SIMP(statut='f',typ=cham_no_sdaster),
- SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
- VARI =SIMP(statut='f',typ=cham_elem),
- EVOL_NOLI =SIMP(statut='f',typ=evol_noli),
- NUME_ORDRE =SIMP(statut='f',typ='I'),
- INST =SIMP(statut='f',typ='R'),
- PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
- CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
- NUME_DIDI =SIMP(statut='f',typ='I'),
- INST_ETAT_INIT =SIMP(statut='f',typ='R'),
- ),),
- NEWT =FACT(statut='d',
- REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ),
- PREDICTION =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
- MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
- REAC_ITER =SIMP(statut='f',typ='I',defaut= 0),
- REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0),
- PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0),
- ),
- SOLVEUR =FACT(statut='d',
- METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
- b_mult_front =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
- RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
- ),
- b_ldlt =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT",
- RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
- ),
- b_ldlt_mult =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'",
- fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
- NPREC =SIMP(statut='f',typ='I',defaut= 8 ),
- STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
- ),
- b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
- TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("NONSYM","SYMGEN","SYMDEF","AUTO")),
- PRETRAITEMENTS =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
- RENUM =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
- ELIM_LAGR2 =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
- PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=10,),
- RESI_RELA =SIMP(statut='f',typ='R',defaut=-1.0,),
- PARALLELISME =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
- into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
- PARTITION =SIMP(statut='f',typ=sd_feti_sdaster),
- CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
- CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
- ),
- b_gcpc =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué",
- PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
- NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
- RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
- RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
- NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ),
- ),
- SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
- ),
-#-------------------------------------------------------------------
- CONVERGENCE =FACT(statut='d',
- regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
- b_refe_rela =BLOC(condition = "RESI_REFE_RELA != None",
- regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE',
- 'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE'),),
- SIGM_REFE =SIMP(statut='f',typ='R'),
- EPSI_REFE =SIMP(statut='f',typ='R'),
- FLUX_THER_REFE =SIMP(statut='f',typ='R'),
- FLUX_HYD1_REFE =SIMP(statut='f',typ='R'),
- FLUX_HYD2_REFE =SIMP(statut='f',typ='R'),
- VARI_REFE =SIMP(statut='f',typ='R'),
- ),
- RESI_REFE_RELA =SIMP(statut='f',typ='R'),
- RESI_GLOB_MAXI =SIMP(statut='f',typ='R'),
- RESI_GLOB_RELA =SIMP(statut='f',typ='R'),
- ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10),
- ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25),
- ARRET =SIMP(statut='f',typ='TXM',defaut="OUI"),
- ),
-#-------------------------------------------------------------------
- OBSERVATION =FACT(statut='f',max='**',
- NOM_CMP =SIMP(statut='o',typ='TXM',max='**' ),
- SUIVI_DDL =SIMP(statut='f',typ='TXM',defaut="NON",max=1,into=("OUI","NON")),
- b_suivi =BLOC(condition = "SUIVI_DDL == 'OUI' ",
- regles=(UN_PARMI('NOEUD','MAILLE','GROUP_NO','GROUP_MA','VALE_MIN','VALE_MAX'),
- PRESENT_PRESENT('MAILLE','POINT'),),
- NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
- GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
- POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
- MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
- NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
- into=("DEPL","VITE","ACCE","SIEF_ELGA",
- "VARI_ELGA","FORC_NODA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)),
- GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
- NUME_SUIVI =SIMP(statut='o',typ='I' ,min=1,max=4),
- VALE_MAX =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),
- VALE_MIN =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),),
- b_non_suivi =BLOC(condition = "SUIVI_DDL == 'NON' ",
- regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),PRESENT_PRESENT('MAILLE','POINT'),),
- NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
- GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
- POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
- MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
- NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA",
- "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU")),
- INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
- LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
- PAS_OBSE =SIMP(statut='f',typ='I'),
- LIST_ARCH =SIMP(statut='f',typ=listis_sdaster),
- PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
- CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),),
- ),
-
- AFFICHAGE = FACT(statut='f',max=16,
-
- UNITE = SIMP(statut='f',typ='I',val_min=1),
-
- LONG_R = SIMP(statut='f',typ='I',defaut=12,val_min=1,val_max=12),
- PREC_R = SIMP(statut='f',typ='I',defaut=5, val_min=1,val_max=8),
- LONG_I = SIMP(statut='f',typ='I',defaut=6, val_min=1,val_max=12),
-
- NOM_COLONNE = SIMP(statut='o',typ='TXM',defaut="STANDARD",
- into=("STANDARD","MINIMUM",
- "ITER_NEWT",
- "INCR_TPS",
- "RESI_RELA","RELA_NOEU",
- "RESI_MAXI","MAXI_NOEU",
- "RESI_REFE","REFE_NOEU",
- "RELI_ITER","RELI_COEF",
- "PILO_PARA",
- "LAGR_ECAR","LAGR_INCR","LAGR_ITER",
- "MATR_ASSE",
- "ITER_DEBO",
- "CTCD_ITER","CTCD_INFO","CTCD_GEOM","CTCD_NOEU",
- "CTCC_GEOM","CTCC_FROT","CTCC_CONT",
- "SUIV_1","SUIV_2","SUIV_3","SUIV_4",
- ),
- ),
- b_residu = BLOC(condition = " NOM_COLONNE == 'RESI_RELA' or \
- NOM_COLONNE == 'RESI_MAXI' or\
- NOM_COLONNE == 'RESI_REFE' or\
- NOM_COLONNE == 'CTCD_GEOM' or\
- NOM_COLONNE == 'STANDARD' ",
- INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
- ),
- ),
-#-------------------------------------------------------------------
- ARCHIVAGE =FACT(statut='f',
- regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
- EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
- LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ),
- INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
- PAS_ARCH =SIMP(statut='f',typ='I' ),
- PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3),
- ARCH_ETAT_INIT =SIMP(statut='f',typ='TXM',into=("OUI",)),
- NUME_INIT =SIMP(statut='f',typ='I'),
- DETR_NUME_SUIV =SIMP(statut='f',typ='TXM',into=("OUI",)),
- CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
- into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","LANL_ELGA")),
- ),
-
-#-------------------------------------------------------------------
- CRIT_FLAMB =FACT(statut='f',min=1,max=1,
- NB_FREQ =SIMP(statut='f',typ='I',max=1,defaut=3),
- CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10.),
- fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),
- ),
- MODE_VIBR =FACT(statut='f',min=1,max=1,
- MATR_RIGI =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE") ),
- NB_FREQ =SIMP(statut='f',typ='I',max=1,defaut=3),
- ),
-#-------------------------------------------------------------------
- SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
- fr="Liste des paramètres de sensibilité",
- ang="List of sensitivity parameters"),
-#
-# Specificite bascules
-#
- INCR_I =FACT(statut='o',
- regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
- EXCLUS('NUME_INST_FIN','INST_FIN'),),
- LIST_INST =SIMP(statut='o',typ=listr8_sdaster),
- EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
- into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
- NUME_INST_INIT =SIMP(statut='f',typ='I'),
- INST_INIT =SIMP(statut='f',typ='R'),
- NUME_INST_FIN =SIMP(statut='f',typ='I'),
- INST_FIN =SIMP(statut='f',typ='R'),
- PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
- # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
- SUBD_METHODE =SIMP( statut='f',typ='TXM',
- into =("AUCUNE","UNIFORME","EXTRAPOLE"),
- defaut="AUCUNE",
- fr="Méthode de subdivision des pas de temps en cas de non-convergence"
- ),
- b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
- regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
- SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
- fr="Coefficient multiplicateur de la 1ère subdivision"),
- SUBD_PAS =SIMP(statut='f',typ='I',defaut=4,val_min=2,
- fr="Nombre de subdivision d''un pas de temps"),
- SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
- fr="Nombre maximum de niveau de subdivision d''un pas de temps"),
- SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
- fr="Pas de temps en dessous duquel on ne subdivise plus"),
- ),
- b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
- regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
- SUBD_OPTION =SIMP(statut='f',typ='TXM',
- into =("IGNORE_PREMIERES","GARDE_DERNIERES",),
- defaut="IGNORE_PREMIERES",
- fr="Technique d'' extrapolation les 1 ere itérations sont ignorées ou les dernières sont gardées"),
- SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
- fr="Les n premières itérations sont ignorées pour l''extrapolation"),
- SUBD_ITER_FIN =SIMP(statut='c',typ='I',defaut=8,val_min=3,
- fr="Seules les n dernières itérations sont prises pour l''extrapolation"),
- SUBD_PAS =SIMP(statut='c',typ='I',defaut=4,val_min=2,
- fr="Nombre de subdivision d''un pas de temps en cas divergence"),
- SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
- fr="Nombre maximum de niveau de subdivision d''un pas de temps"),
- SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
- fr="Pas de temps en dessous duquel on ne subdivise plus"),
- SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
- fr="% itération autorisée en plus"),
- ),
- # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
- OPTI_LIST_INST =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
- NOM_CHAM =SIMP(statut='f',typ='TXM',),
- NOM_CMP =SIMP(statut='f',typ='TXM',),
- VALE =SIMP(statut='f',typ='R'),
- ),
-#
- INCR_E =FACT(statut='o',
- regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
- EXCLUS('NUME_INST_FIN','INST_FIN'),),
- LIST_INST =SIMP(statut='o',typ=listr8_sdaster),
- EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
- into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
- NUME_INST_INIT =SIMP(statut='f',typ='I'),
- INST_INIT =SIMP(statut='f',typ='R'),
- NUME_INST_FIN =SIMP(statut='f',typ='I'),
- INST_FIN =SIMP(statut='f',typ='R'),
- PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
- # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
- SUBD_METHODE =SIMP( statut='f',typ='TXM',
- into =("AUCUNE","UNIFORME","EXTRAPOLE"),
- defaut="AUCUNE",
- fr="Méthode de subdivision des pas de temps en cas de non-convergence"
- ),
- b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
- regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
- SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
- fr="Coefficient multiplicateur de la 1ère subdivision"),
- SUBD_PAS =SIMP(statut='f',typ='I',defaut=4,val_min=2,
- fr="Nombre de subdivision d''un pas de temps"),
- SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
- fr="Nombre maximum de niveau de subdivision d''un pas de temps"),
- SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
- fr="Pas de temps en dessous duquel on ne subdivise plus"),
- ),
- b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
- regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
- SUBD_OPTION =SIMP(statut='f',typ='TXM',
- into =("IGNORE_PREMIERES","GARDE_DERNIERES",),
- defaut="IGNORE_PREMIERES",
- fr="Technique d'' extrapolation les 1 ere itérations sont ignorées ou les dernières sont gardées"),
- SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
- fr="Les n premières itérations sont ignorées pour l''extrapolation"),
- SUBD_ITER_FIN =SIMP(statut='c',typ='I',defaut=8,val_min=3,
- fr="Seules les n dernières itérations sont prises pour l''extrapolation"),
- SUBD_PAS =SIMP(statut='c',typ='I',defaut=4,val_min=2,
- fr="Nombre de subdivision d''un pas de temps en cas divergence"),
- SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
- fr="Nombre maximum de niveau de subdivision d''un pas de temps"),
- SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
- fr="Pas de temps en dessous duquel on ne subdivise plus"),
- SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
- fr="% itération autorisée en plus"),
- ),
- # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
- OPTI_LIST_INST =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
- NOM_CHAM =SIMP(statut='f',typ='TXM',),
- NOM_CMP =SIMP(statut='f',typ='TXM',),
- VALE =SIMP(statut='f',typ='R'),
- ),
-#
- SCH_TEMPS_I =FACT(statut='o',
- SCHEMA =SIMP(statut='o',min=1,max=1,typ='TXM',
- into=("NEWMARK","HHT","THETA_METHODE"),),
- b_newmark = BLOC(condition="SCHEMA=='NEWMARK'",
- ALPHA =SIMP(statut='f',typ='R',defaut= 0.25),
- DELTA =SIMP(statut='f',typ='R',defaut= 0.5),),
- b_hht = BLOC(condition="SCHEMA=='HHT'",
- ALPHA =SIMP(statut='f',typ='R',defaut= -0.3 ),
- MODI_EQUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),),
- b_theta = BLOC(condition="SCHEMA=='THETA_METHODE'",
- THETA =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=1. ),),
- b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'",
- FORMULATION =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE",),),),
- ),
-#
- SCH_TEMPS_E =FACT(statut='o',
- SCHEMA =SIMP(statut='o',min=1,max=1,typ='TXM',
- into=("DIFF_CENT","TCHAMWA",),),
- b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'",
- PHI =SIMP(statut='f',typ='R',defaut= 1.05),),
- b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'",
- STOP_CFL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
- FORMULATION =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),),
- ),
-#
- SCH_TEMPS_EQ =FACT(statut='f',
- SCHEMA =SIMP(statut='o',min=1,max=1,typ='TXM',
- into=("DIFF_CENT","TCHAMWA",),),
- b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'",
- PHI =SIMP(statut='f',typ='R',defaut= 1.05),),
- b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'",
- STOP_CFL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
- FORMULATION =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),),
- ),
-#
- C_INCR_I =C_COMP_INCR(),
- C_INCR_E =C_COMP_INCR(),
-#
- TP_BAS =SIMP(statut='o',typ=listr8_sdaster),
- SCH_INI =SIMP(statut='o',typ='TXM',into=("IMPLICITE","EXPLICITE")),
- EQUILIBRAGE =FACT(statut='o',
- EQU_EXP_IMP =SIMP(statut='o',typ='TXM',into=("OUI","NON",),),
- DT_IMP =SIMP(statut='o',typ='R'),
-#
-# Fin specificites bascule
-#
-#-------------------------------------------------------------------
- INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
- TITRE =SIMP(statut='f',typ='TXM',max='**'),
- DT_EXP =SIMP(statut='o',typ='R'),),
-);