]> SALOME platform Git repositories - tools/eficas.git/blob - Aster/Cata/cata_reduit.py
Salome HOME
mise a jour sdist
[tools/eficas.git] / Aster / Cata / cata_reduit.py
1 #& MODIF ENTETE  DATE 18/03/2003   AUTEUR MCOURTOI M.COURTOIS 
2 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3 # ======================================================================
4 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8 # (AT YOUR OPTION) ANY LATER VERSION.                                 
9 #
10 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14 #
15 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18 # ======================================================================
19 import Accas
20 from Accas import *
21 from Accas import _F
22 import string
23
24 import ops
25
26 try:
27   import aster
28 except:
29   pass
30
31 #
32 __version__="$Name:  $"
33 __Id__="$Id: cata_reduit.py,v 1.1.2.2 2003/10/16 10:09:09 eficas Exp $"
34 #
35 JdC = JDC_CATA(code='ASTER',
36                execmodul=None,
37                regles = (AU_MOINS_UN('DEBUT','POURSUITE'),
38                          AU_MOINS_UN('FIN'),
39                          A_CLASSER(('DEBUT','POURSUITE'),'FIN')))
40 # Type le plus general
41 class entier  (ASSD):pass
42 class reel    (ASSD):pass
43 class complexe(ASSD):pass
44 class chaine  (ASSD):pass
45
46
47 # Type geometriques
48 class no  (GEOM):pass
49 class grno(GEOM):pass
50 class ma  (GEOM):pass
51 class grma(GEOM):pass
52
53
54
55 # Autres
56
57 class cabl_precont    (ASSD):pass
58 class cara_elem       (ASSD):pass
59 class cara_pout       (ASSD):pass
60 class cham_mater      (ASSD):pass
61 class char_acou       (ASSD):pass
62 class char_cine_acou  (ASSD):pass
63 class char_cine_meca  (ASSD):pass
64 class char_cine_ther  (ASSD):pass
65 class char_meca       (ASSD):pass
66 class char_ther       (ASSD):pass
67 class courbe          (ASSD):pass
68 class fond_fiss       (ASSD):pass
69 class interf_dyna_clas(ASSD):pass
70 class interspfact     (ASSD):pass
71 class listis          (ASSD):pass
72 class liste           (ASSD):pass
73 class macr_elem_dyna  (ASSD):pass
74 class macr_elem_stat  (ASSD):pass
75 class mater           (ASSD):pass
76 class melasflu        (ASSD):pass
77 class modele          (ASSD):pass
78 class modele_gene     (ASSD):pass
79 class nume_ddl        (ASSD):pass
80 class nume_ddl_gene   (ASSD):pass
81 class obstacle        (ASSD):pass
82 class spectre         (ASSD):pass
83 class surface         (ASSD):pass
84 class tran_gene       (ASSD):pass
85 class type_flui_stru  (ASSD):pass
86 class valeur          (ASSD):pass
87
88
89 # liste :
90 #--------------------------------
91 class listr8   (ASSD):
92   def LIST_VALEURS(self) :
93     """ retourne la liste des valeurs [ val1, ...] """
94     vale=string.ljust(self.get_name(),19)+'.VALE'
95     return list(aster.getvectjev(vale))
96    
97
98
99 # maillage :
100 #--------------------------------
101 class maillage(ASSD):
102   def LIST_GROUP_NO(self) :
103     """ retourne la liste des groupes de noeuds sous la forme :
104         [ (gno1, nb noeuds  gno1), ...] """
105     return aster.GetMaillage(self.get_name(), "GROUP_NO")
106   def LIST_GROUP_MA(self) :
107     """ retourne la liste des groupes de mailles sous la forme :
108         [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """
109     return aster.GetMaillage(self.get_name(), "GROUP_MA")
110     
111     
112 class squelette     (maillage):pass
113
114
115 # cham_gd (carte,cham_no,cham_elem)
116 #--------------------------------
117
118 class cham_gd(ASSD):pass
119
120 # cham_gd/carte :
121 #--------------------------------
122 class carte(cham_gd):pass
123 class carte_dbel_r   (carte):pass
124 class carte_depl_c   (carte):pass
125 class carte_depl_f   (carte):pass
126 class carte_depl_r   (carte):pass
127 class carte_durt_r   (carte):pass
128 class carte_ener_r   (carte):pass
129 class carte_epsi_r   (carte):pass
130 class carte_erreur   (carte):pass
131 class carte_flux_r   (carte):pass
132 class carte_g_depl_r (carte):pass
133 class carte_geom_r   (carte):pass
134 class carte_hydr_r   (carte):pass
135 class carte_inst_r   (carte):pass
136 class carte_inte_r   (carte):pass
137 class carte_irra_r   (carte):pass
138 class carte_meta_r   (carte):pass
139 class carte_neut_f   (carte):pass
140 class carte_neut_r   (carte):pass
141 class carte_pres_r   (carte):pass
142 class carte_sief_r   (carte):pass
143 class carte_sour_r   (carte):pass
144 class carte_temp_f   (carte):pass
145 class carte_temp_r   (carte):pass
146 class carte_var2_r   (carte):pass
147 class carte_vnor_c   (carte):pass
148
149
150 # cham_gd/cham_elem :
151 #--------------------------------
152 class cham_elem(cham_gd):pass
153 class cham_elem_crit_r(cham_elem):pass
154 class cham_elem_dbel_r(cham_elem):pass
155 class cham_elem_depl_c(cham_elem):pass
156 class cham_elem_depl_f(cham_elem):pass
157 class cham_elem_depl_r(cham_elem):pass
158 class cham_elem_dommag(cham_elem):pass
159 class cham_elem_durt_r(cham_elem):pass
160 class cham_elem_ener_r(cham_elem):pass
161 class cham_elem_epsi_c(cham_elem):pass
162 class cham_elem_epsi_r(cham_elem):pass
163 class cham_elem_erreur(cham_elem):pass
164 class cham_elem_facy_r(cham_elem):pass
165 class cham_elem_flux_r(cham_elem):pass
166 class cham_elem_g_depl(cham_elem):pass
167 class cham_elem_geom_r(cham_elem):pass
168 class cham_elem_hydr_r(cham_elem):pass
169 class cham_elem_inst_r(cham_elem):pass
170 class cham_elem_inte_r(cham_elem):pass
171 class cham_elem_irra_r(cham_elem):pass
172 class cham_elem_meta_r(cham_elem):pass
173 class cham_elem_neut_f(cham_elem):pass
174 class cham_elem_neut_r(cham_elem):pass
175 class cham_elem_pres_r(cham_elem):pass
176 class cham_elem_sief_c(cham_elem):pass
177 class cham_elem_sief_r(cham_elem):pass
178 class cham_elem_sour_r(cham_elem):pass
179 class cham_elem_spma_r(cham_elem):pass
180 class cham_elem_temp_f(cham_elem):pass
181 class cham_elem_temp_r(cham_elem):pass
182 class cham_elem_vari_r(cham_elem):pass
183 class cham_elem_vnor_c(cham_elem):pass
184
185
186 # cham_gd/cham_no :
187 #--------------------------------
188 class cham_no(cham_gd):pass
189 class cham_no_dbel_r   (cham_no):pass
190 class cham_no_depl_c   (cham_no):pass
191 class cham_no_depl_f   (cham_no):pass
192 class cham_no_depl_r   (cham_no):pass
193 class cham_no_durt_r   (cham_no):pass
194 class cham_no_ener_r   (cham_no):pass
195 class cham_no_epsi_r   (cham_no):pass
196 class cham_no_erreur   (cham_no):pass
197 class cham_no_flux_r   (cham_no):pass
198 class cham_no_g_depl_r (cham_no):pass
199 class cham_no_geom_r   (cham_no):pass
200 class cham_no_hydr_r   (cham_no):pass
201 class cham_no_inst_r   (cham_no):pass
202 class cham_no_inte_r   (cham_no):pass
203 class cham_no_irra_r   (cham_no):pass
204 class cham_no_meta_r   (cham_no):pass
205 class cham_no_neut_f   (cham_no):pass
206 class cham_no_neut_r   (cham_no):pass
207 class cham_no_pres_c   (cham_no):pass
208 class cham_no_pres_r   (cham_no):pass
209 class cham_no_sief_r   (cham_no):pass
210 class cham_no_sour_r   (cham_no):pass
211 class cham_no_spma_r   (cham_no):pass
212 class cham_no_temp_c   (cham_no):pass
213 class cham_no_temp_f   (cham_no):pass
214 class cham_no_temp_r   (cham_no):pass
215 class cham_no_vanl_r   (cham_no):pass
216 class cham_no_var2_r   (cham_no):pass
217 class cham_no_vnor_c   (cham_no):pass
218
219
220 # resultat : (evol,mode_stat,mode_meca)
221 #--------------------------------
222
223 class resultat(ASSD):
224   def LIST_CHAMPS (self) :
225     return aster.GetResu(self.get_name(), "CHAMPS")
226   def LIST_NOM_CMP (self) :
227     return aster.GetResu(self.get_name(), "COMPOSANTES")
228   def LIST_VARI_ACCES (self) :
229     return aster.GetResu(self.get_name(), "VARI_ACCES")
230
231 class acou_harmo    (resultat):pass
232 class base_modale     (resultat):pass
233 class comb_fourier  (resultat):pass
234 class dyna_harmo    (resultat):pass
235 class dyna_trans    (resultat):pass
236 class fourier_elas  (resultat):pass
237 class harm_gene     (resultat):pass
238 class mode_acou     (resultat):pass
239 class mode_cycl     (resultat):pass
240 class mode_flamb    (resultat):pass
241 class mode_gene     (resultat):pass
242 class mult_elas     (resultat):pass
243 class theta_geom    (resultat):pass
244
245 # resultat/evol :
246 #--------------------------------
247 class evol(resultat):pass
248 class evol_char(evol):pass
249 class evol_elas(evol):pass
250 class evol_noli(evol):pass
251 class evol_ther(evol):pass
252 class evol_varc(evol):pass
253
254 # resultat/mode_stat :
255 #--------------------------------
256 class mode_stat(resultat):pass
257 class mode_stat_depl(mode_stat):pass
258 class mode_stat_acce(mode_stat):pass
259 class mode_stat_forc(mode_stat):pass
260
261
262 # resultat/mode_meca :
263 #--------------------------------
264 class mode_meca(resultat):pass
265 class mode_meca_c(mode_meca):pass
266
267
268 # fonction :
269 #--------------------------------
270 class fonction(ASSD):
271   def LIST_VALEURS(self) :
272     """ retourne la liste des valeurs [ val1, ...] """
273     vale=string.ljust(self.get_name(),19)+'.VALE'
274     lbl=list(aster.getvectjev(vale))
275     lbr=[]
276     for i in range(len(lbl)/2):
277         lbr.append(lbl[i])
278         lbr.append(lbl[len(lbl)/2+i])
279     return lbr
280 class para_sensi(fonction):pass
281 class fonction_c(fonction):
282   def LIST_VALEURS(self) :
283     """ retourne la liste des valeurs [ val1, ...] """
284     vale=string.ljust(self.get_name(),19)+'.VALE'
285     lbl=list(aster.getvectjev(vale))
286     lbr=[]
287     for i in range(len(lbl)/3):
288         lbr.append(lbl[i])
289         lbr.append(lbl[len(lbl)/3+i*2])
290         lbr.append(lbl[len(lbl)/3+i*2+1])
291     return lbr
292 class nappe(fonction):pass
293
294
295 # matr_asse :
296 #--------------------------------
297 class matr_asse(ASSD):pass
298 class matr_asse_depl_c(matr_asse):pass
299 class matr_asse_depl_r(matr_asse):pass
300 class matr_asse_gene_r(matr_asse):pass
301 class matr_asse_gene_c(matr_asse):pass
302 class matr_asse_pres_c(matr_asse):pass
303 class matr_asse_pres_r(matr_asse):pass
304 class matr_asse_temp_c(matr_asse):pass
305 class matr_asse_temp_r(matr_asse):pass
306
307 # matr_elem :
308 #--------------------------------
309 class matr_elem(ASSD):pass
310 class matr_elem_depl_c(matr_elem):pass
311 class matr_elem_depl_r(matr_elem):pass
312 class matr_elem_pres_c(matr_elem):pass
313 class matr_elem_temp_r(matr_elem):pass
314
315
316
317
318 # table :
319 #--------------------------------
320
321 class table(ASSD):
322   def __getitem__(self,key):
323       requete=string.ljust(key[0],24)
324       tblp=string.ljust(self.get_name(),19)+'.TBLP'
325       tabnom=list(aster.getvectjev(tblp))
326       for i in range(len(tabnom)) : 
327          if tabnom[i]==requete: break
328       resu=aster.getvectjev(tabnom[i+2])
329       if key[1]>len(resu) : raise KeyError
330       else                : return resu[key[1]-1]
331
332 class tabl_aire_int   (table):pass
333 class tabl_calc_g_loca(table):pass
334 class tabl_calc_g_th  (table):pass
335 class tabl_cara_geom  (table):pass
336 class tabl_char_limite(table):pass
337 class tabl_ener_elas  (table):pass
338 class tabl_ener_pot   (table):pass
339 class tabl_ener_cin   (table):pass
340 class tabl_trav_ext   (table):pass
341 class tabl_ener_totale(table):pass
342 class tabl_indic_ener (table):pass
343 class tabl_indic_seuil(table):pass
344 class tabl_intsp      (table):pass
345 class tabl_mass_iner  (table):pass
346 class tabl_post_alea  (table):pass
347 class tabl_post_beta  (table):pass
348 class tabl_post_dyna  (table):pass
349 class tabl_post_f_alea(table):pass
350 class tabl_post_fatig (table):pass
351 class tabl_post_gouj2e(table):pass
352 class tabl_post_k     (table):pass
353 class tabl_post_rccm  (table):pass
354 class tabl_post_rele  (table):pass
355 class tabl_post_simpli(table):pass
356 class tabl_post_usur  (table):pass
357 class tabl_reca_weib  (table):pass
358 class tabl_rice_tracey(table):pass
359 class tabl_texture    (table):pass
360 class tabl_trc        (table):pass
361 class tabl_weibull    (table):pass
362
363
364 # vect_asse :
365 #--------------------------------
366 class vect_asse(ASSD):pass
367 class vect_asse_gene(vect_asse):pass
368
369
370 # vect_elem :
371 #--------------------------------
372 class vect_elem(ASSD):pass
373 class vect_elem_depl_r(vect_elem):pass
374 class vect_elem_pres_c(vect_elem):pass
375 class vect_elem_pres_r(vect_elem):pass
376 class vect_elem_temp_r(vect_elem):pass
377
378 #& MODIF COMMUN  DATE 31/03/2003   AUTEUR ASSIRE A.ASSIRE 
379 #            CONFIGURATION MANAGEMENT OF EDF VERSION
380 # ======================================================================
381 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
382 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
383 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
384 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
385 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
386 #                                                                       
387 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
388 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
389 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
390 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
391 #                                                                       
392 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
393 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
394 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
395 # ======================================================================
396 DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,docu="U4.11.01-g",repetable='n',
397             UIinfo={"groupes":("Gestion du travail",)},
398            fr="Ouverture d une étude. Allocation des ressources mémoire et disque",
399           sd_prod=ops.DEBUT,
400
401          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
402                            into=("OUI","NON"),defaut="OUI"),
403          BASE            =FACT(fr="définition des paramètres associés aux bases JEVEUX",
404                                statut='f',min=1,max=3,
405            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM',
406                                  into=('GLOBALE','VOLATILE','LOCALE'),),
407            TITRE           =SIMP(statut='f',typ='TXM'),
408            CAS             =SIMP(statut='f',typ='TXM'),
409            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
410            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
411            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
412          ),
413          IMPRESSION      =FACT(statut='f',min=1,max=3,
414            FICHIER         =SIMP(statut='o',typ='TXM'),
415            UNITE           =SIMP(statut='o',typ='I'),
416          ),
417          CATALOGUE       =FACT(statut='f',min=1,max=10,
418            FICHIER         =SIMP(statut='o',typ='TXM'),
419            TITRE           =SIMP(statut='f',typ='TXM'),
420            UNITE           =SIMP(statut='f',typ='I'),
421          ),
422          CODE            =FACT(fr="définition d un nom pour l'esemble d'une étude",
423                                statut='f',min=1,max=1,
424            NOM             =SIMP(statut='o',typ='TXM'),
425            NIV_PUB_WEB     =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')),
426            UNITE           =SIMP(statut='f',typ='I',defaut=15),
427          ),
428          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
429                                statut='f',min=1,max=1,
430            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
431                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
432            JEVEUX          =SIMP(fr="force les déchargement sur disque",
433                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
434            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
435                                  statut='f',typ='TXM',into=('TEST',)),
436          ),
437          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
438            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
439            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
440            TAILLE          =SIMP(statut='f',typ='I'),
441            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
442            PARTITION       =SIMP(statut='f',typ='R'),
443          ),
444  );
445 #& MODIF COMMANDE  DATE 22/04/2003   AUTEUR MCOURTOI M.COURTOIS 
446 #            CONFIGURATION MANAGEMENT OF EDF VERSION
447 # ======================================================================
448 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
449 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
450 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
451 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
452 # (AT YOUR OPTION) ANY LATER VERSION.                                 
453 #
454 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
455 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
456 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
457 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
458 #
459 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
460 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
461 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
462 # ======================================================================
463 AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-g",
464             fr="Affectation des éléments finis sur le maillage",
465             reentrant='n',
466             UIinfo={"groupes":("Modélisation",)},
467 VERIF=SIMP(statut='f',typ='TXM',max=2,into=("MAILLE","NOEUD")),
468 ) ;
469
470 PLS_BASE_SIMPLE=OPER(nom="PLS_BASE_SIMPLE",op=19,sd_prod=cara_elem,
471                     fr="Exemple de PLUSIEURS_BASE_Panel sans validator",
472                     docu="U4.42.01-g",reentrant='n',
473                     UIinfo={"groupes":("Modélisation",)},
474   VAR1=SIMP(statut='o',typ='TXM',min=1,max=6 ),
475   VAR2=SIMP(statut='o',typ='TXM',min=1,max=6,into =( "TUTU","TATA","CCCC")),
476   VAR3=SIMP(statut='o',typ='I',min=1,max=1,into =( 1,2,3)),
477   VAR4=SIMP(statut='o',typ='I',min=1,max=1),
478   VAR44=SIMP(statut='o',typ='I',min=1,max=6),
479   VAR5=SIMP(statut='o',typ='TXM',min=1,max=1),
480   VAR6=SIMP(statut='o',typ='C',min=1,max=1),
481   MODELE=SIMP(statut='o',typ=modele ),
482 ) ;
483
484 TESTS_VALID=OPER(nom="TESTS_VALID",op=19,sd_prod=cara_elem,
485                     fr="Exemple de PLUSIEURS_BASE_Panel sans validator",
486                     docu="U4.42.01-g",reentrant='n',
487                     UIinfo={"groupes":("Modélisation",)},
488   LongStr=SIMP(statut='o',typ='TXM',validators=LongStr(3,5)),
489   ListStr=SIMP(statut='o',typ='TXM',min=1,max=4,validators=LongStr(3,5)),
490   PairVal=SIMP(statut='o',typ='I',min=1,max=4,validators=PairVal()),
491   RangeVal=SIMP(statut='o',typ='I',validators=RangeVal(3,15)),
492   CardVal=SIMP(statut='o',typ='I',max='**',validators=CardVal(3,15)),
493   EnumVal=SIMP(statut='o',typ='I',validators=EnumVal((3,2,4,8,9,15))),
494   OrdList=SIMP(statut='o',typ='I',max='**',validators=OrdList("croissant")),
495   OrdList2=SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),max='**',validators=OrdList("croissant")),
496   TypeVal=SIMP(statut='o',typ='I',validators=TypeVal(int)),
497 ) ;
498
499 PLS_BASE_NOREPEAT=OPER(nom="PLS_BASE_NOREPEAT",op=19,sd_prod=cara_pout,
500                     fr="Exemple de PLUSIEURS_BASE_Panel avec validator",
501                     docu="U4.42.01-g",reentrant='n',
502                     UIinfo={"groupes":("Modélisation",)},
503   VAR1=SIMP(statut='o',typ='TXM',min=1,max=6,validators=NoRepeat()),
504   VAR2=SIMP(statut='o',typ='TXM',min=1,max=6,into =( "TUTU","TATA","CCCC"),validators=NoRepeat()),
505   VAR3=SIMP(statut='o',typ='I',min=1,max=1,into =( 1,2,3),validators=PairVal()),
506   VAR4=SIMP(statut='o',typ='I',min=1,max=1,validators=PairVal()),
507   VAR5=SIMP(statut='o',typ='I',min=1,max=6,validators=PairVal()),
508   VAR6=SIMP(statut='o',typ='I',min=1,max=6,validators=(NoRepeat(),PairVal())),
509   VAR7=SIMP(statut='o',typ='I',min=1,max=6,validators=[NoRepeat(),PairVal()]),
510 ) ;
511
512 #& MODIF COMMANDE  DATE 21/03/2003   AUTEUR ASSIRE A.ASSIRE 
513 #            CONFIGURATION MANAGEMENT OF EDF VERSION
514 # ======================================================================
515 POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',fr="Poursuite d une étude",
516                 docu="U4.11.03-g",sd_prod = ops.POURSUITE,
517             UIinfo={"groupes":("Gestion du travail",)},
518                 op_init = ops.POURSUITE_context,fichier_ini = 1,
519          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
520                            into=("OUI","NON"),defaut="OUI"),
521          BASE            =FACT(fr="définition des parmètres associés aux bases JEVEUX",
522                                statut='f',min=1,max=3,
523            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM'),
524            TITRE           =SIMP(statut='f',typ='TXM'),
525            CAS             =SIMP(statut='f',typ='TXM'),
526            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
527            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
528            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
529          ),
530          IMPRESSION      =FACT(statut='f',min=1,max=3,
531            FICHIER         =SIMP(statut='o',typ='TXM'),
532            UNITE           =SIMP(statut='o',typ='I'),
533          ),
534          CATALOGUE       =FACT(statut='f',min=1,max=10,
535            FICHIER         =SIMP(statut='o',typ='TXM'),
536            TITRE           =SIMP(statut='f',typ='TXM'),
537            UNITE           =SIMP(statut='f',typ='I'),
538          ),
539          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
540                                statut='f',min=1,max=1,
541            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
542                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
543            JEVEUX          =SIMP(fr="force les déchargement sur disque",
544                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
545            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
546                                  statut='f',typ='TXM',into=('TES',)),
547          ),
548          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
549            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
550            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
551            TAILLE          =SIMP(statut='f',typ='I'),
552            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
553            PARTITION       =SIMP(statut='f',typ='R' ),
554          ),
555          CODE            =FACT("définition d un nom pour l'esemble d'une étude",
556                                statut='f',min=1,max=1,
557            NOM             =SIMP(statut='o',typ='TXM'),
558            UNITE           =SIMP(statut='f',typ='I',defaut=15),
559          ),
560 )  ;
561 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
562 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
563 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
564 # ======================================================================
565 FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude",
566          docu="U4.11.02-g",
567             UIinfo={"groupes":("Gestion du travail",)},
568          RETASSAGE       =SIMP(fr="provoque le retassage de la base GLOBALE",
569                                statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
570          PERFORMANCE     =SIMP(fr="provoque l'impression d'un résumé des mesures de temps ",
571                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
572          INFO_RESU       =SIMP(fr="provoque l'impression des informations sur les structures de données",
573                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
574          FICHIER         =SIMP(statut='f',typ='TXM',defaut="MESSAGE"),
575 )  ;
576