2 # --------------------------------------------------
4 # --------------------------------------------------
11 JdC = JDC_CATA(code='HOMARD',
13 regles = (AU_MOINS_UN('DONNEES_HOMARD'),),
16 # Type le plus general
17 #class entier (ASSD):pass
18 #class reel (ASSD):pass
19 #class complexe(ASSD):pass
20 #class liste (ASSD):pass
21 #class chaine (ASSD):pass
25 #class grno(GEOM):pass
27 #class grma(GEOM):pass
29 # --------------------------------------------------
31 # --------------------------------------------------
34 return BLOC(condition = "( RAFFINEMENT != None ) or ( DERAFFINEMENT != None ) ",
35 fr="Nom MED du maillage en sortie, numero d'iteration et mise à jour de champs",
36 ang="MED name of the out-mesh, iteration rank and field updating",
37 NITER =SIMP(statut='o',typ='I',
38 fr="Numéro d'itération avant l'adaptation.",
39 ang="Iteration number before adaptation." ),
40 NOM_MED_MAILLAGE_NP1 =SIMP(statut='o',typ='TXM',
41 fr="Nom MED du maillage en sortie",
42 ang="MED name of the out-mesh" ),
43 FICHIER_MED_MAILLAGE_NP1 =SIMP(statut='o',typ='TXM',
44 fr="Nom du fichier MED du maillage en sortie",
45 ang="MED file name of the out-mesh" ),
48 def critere_de_deraffinement():
49 return BLOC(condition = "( DERAFFINEMENT == 'LIBRE' ) ",
50 fr="Critère de déraffinement.",
51 ang="Unrefinement threshold.",
52 regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),),
53 CRIT_DERA_ABS =SIMP(statut='f',typ='R' ,
55 ang="Absolute threshold" ),
56 CRIT_DERA_REL =SIMP(statut='f',typ='R',
58 ang="Relative threshold" ),
59 CRIT_DERA_PE =SIMP(statut='f',typ='R',
60 fr="Pourcentage d'éléments",
61 ang="Percentage of elements" ),
64 TEST=PROC(nom="TEST",op= 189, docu="U7.04.01-b",
65 fr="Imprime le fichier de configuration de HOMARD.",
66 TRAITEMENT =FACT(statut='o',
67 regles=( UN_PARMI('TYPE_RAFFINEMENT_LIBRE','TYPE_RAFFINEMENT_UNIFORME'),),
68 TYPE_RAFFINEMENT_LIBRE = FACT(statut='f',
69 RAFFINEMENT = SIMP(statut='o',typ='TXM',
70 fr="Choix du mode de raffinement.",
71 ang="Choice of refinement mode.",
72 into=("LIBRE","UNIFORME",),
74 DERAFFINEMENT = SIMP(statut='o',typ='TXM',
75 fr="Choix du mode de deraffinement.",
76 ang="Choice of unrefinement mode.",
79 b_iteration_maj_champ =bloc_maj_champ(),
80 b_critere_de_deraffinement =critere_de_deraffinement(),
83 TYPE_RAFFINEMENT_UNIFORME = FACT(statut='f',
84 RAFFINEMENT = SIMP(statut='o',typ='TXM',
85 fr="Choix du mode de raffinement.",
86 ang="Choice of refinement mode.",
87 into=("NON","NON-CONFORME","NON-CONFORME-INDICATEUR"),
89 DERAFFINEMENT = SIMP(statut='o',typ='TXM',
90 fr="Choix du mode de deraffinement.",
91 ang="Choice of unrefinement mode.",
92 into=("UNIFORME","NON",),
94 b_iteration_maj_champ =bloc_maj_champ(),
95 b_critere_de_deraffinement =critere_de_deraffinement(),
100 DONNEES_HOMARD=PROC(nom="DONNEES_HOMARD",op= 189, docu="U7.04.01-b",
101 UIinfo={"groupes":("Fonction",)},
102 fr="Imprime le fichier de configuration de HOMARD.",
103 ang="Writes the configuration file for HOMARD.",
104 # 3. Le type de traitement :
106 TRAITEMENT =FACT(statut='o',
108 # 3.1. DEUX CHOIX EXCLUSIFS :
110 # A. ADAPTATION AVEC DES VARIANTES SUR LE MODE DE RAFFINEMENT/DERAFFINEMENT
111 # . RAFFINEMENT ET DERAFFINEMENT
113 # . DERAFFINEMENT SEUL
115 regles=( AU_MOINS_UN('TYPE_RAFFINEMENT_LIBRE','TYPE_RAFFINEMENT_UNIFORME'),
116 EXCLUS('TYPE_RAFFINEMENT_LIBRE','TYPE_RAFFINEMENT_UNIFORME'),),
117 TYPE_RAFFINEMENT_LIBRE = FACT(statut='f',
118 RAFFINEMENT = SIMP(statut='o',typ='TXM',
120 fr="Choix du mode de raffinement.",
121 ang="Choice of refinement mode.",
122 into=("LIBRE","UNIFORME",) ),
123 DERAFFINEMENT = SIMP(statut='o',typ='TXM',
125 fr="Choix du mode de deraffinement.",
126 ang="Choice of unrefinement mode.",
127 into=("LIBRE",), ),),
128 TYPE_RAFFINEMENT_UNIFORME = FACT(statut='f',
129 RAFFINEMENT = SIMP(statut='o',typ='TXM',
130 fr="Choix du mode de raffinement.",
131 ang="Choice of refinement mode.",
132 into=("NON","NON-CONFORME","NON-CONFORME-INDICATEUR") ),
133 DERAFFINEMENT = SIMP(statut='o',typ='TXM',
134 fr="Choix du mode de deraffinement.",
135 ang="Choice of unrefinement mode.",
136 into=("UNIFORME","NON",), ),),
138 b_iteration_maj_champ =BLOC(condition = "( RAFFINEMENT != None ) or ( DERAFFINEMENT != None ) ",
139 #b_iteration_maj_champ =BLOC(condition = "(TYPE_RAFFINEMENT_UNIFORME != None) or (TYPE_RAFFINEMENT_LIBRE != None)",
140 fr="Nom MED du maillage en sortie, numero d'iteration et mise à jour de champs",
141 ang="MED name of the out-mesh, iteration rank and field updating",
142 NITER =SIMP(statut='o',typ='I',
143 fr="Numéro d'itération avant l'adaptation.",
144 ang="Iteration number before adaptation." ),
145 NOM_MED_MAILLAGE_NP1 =SIMP(statut='o',typ='TXM',
146 fr="Nom MED du maillage en sortie",
147 ang="MED name of the out-mesh" ),
148 FICHIER_MED_MAILLAGE_NP1 =SIMP(statut='o',typ='TXM',
149 fr="Nom du fichier MED du maillage en sortie",
150 ang="MED file name of the out-mesh" ),
153 b_critere_de_deraffinement =BLOC ( condition = "( DERAFFINEMENT == 'LIBRE' ) ",
154 fr="Critère de déraffinement.",
155 ang="Unrefinement threshold.",
156 regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),),
157 CRIT_DERA_ABS =SIMP(statut='f',typ='R' ,
159 ang="Absolute threshold" ),
160 CRIT_DERA_REL =SIMP(statut='f',typ='R',
161 fr="Critère relatif",
162 ang="Relative threshold" ),
163 CRIT_DERA_PE =SIMP(statut='f',typ='R',
164 fr="Pourcentage d'éléments",
165 ang="Percentage of elements" ),