1 # -*- coding: utf-8 -*-
2 #& MODIF ENTETE DATE 18/03/2003 AUTEUR MCOURTOI M.COURTOIS
3 # CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
6 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9 # (AT YOUR OPTION) ANY LATER VERSION.
11 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
16 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
18 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19 # ======================================================================
33 __version__="$Name: $"
34 __Id__="$Id: cata_reduit.py,v 1.5 2004/09/10 15:51:43 eficas Exp $"
36 JdC = JDC_CATA(code='ASTER',
38 regles = (AU_MOINS_UN('DEBUT','POURSUITE'),
40 A_CLASSER(('DEBUT','POURSUITE'),'FIN')))
41 # Type le plus general
42 class entier (ASSD):pass
43 class reel (ASSD):pass
44 class complexe(ASSD):pass
45 class chaine (ASSD):pass
58 class cabl_precont (ASSD):pass
59 class cara_elem (ASSD):pass
60 class cara_pout (ASSD):pass
61 class cham_mater (ASSD):pass
62 class char_acou (ASSD):pass
63 class char_cine_acou (ASSD):pass
64 class char_cine_meca (ASSD):pass
65 class char_cine_ther (ASSD):pass
66 class char_meca (ASSD):pass
67 class char_ther (ASSD):pass
68 class courbe (ASSD):pass
69 class fond_fiss (ASSD):pass
70 class interf_dyna_clas(ASSD):pass
71 class interspfact (ASSD):pass
72 class listis (ASSD):pass
73 class liste (ASSD):pass
74 class macr_elem_dyna (ASSD):pass
75 class macr_elem_stat (ASSD):pass
76 class mater (ASSD):pass
77 class melasflu (ASSD):pass
78 class modele (ASSD):pass
79 class modele_gene (ASSD):pass
80 class nume_ddl (ASSD):pass
81 class nume_ddl_gene (ASSD):pass
82 class obstacle (ASSD):pass
83 class spectre (ASSD):pass
84 class surface (ASSD):pass
85 class tran_gene (ASSD):pass
86 class type_flui_stru (ASSD):pass
87 class valeur (ASSD):pass
91 #--------------------------------
93 def LIST_VALEURS(self) :
94 """ retourne la liste des valeurs [ val1, ...] """
95 vale=string.ljust(self.get_name(),19)+'.VALE'
96 return list(aster.getvectjev(vale))
101 #--------------------------------
102 class maillage(ASSD):
103 def LIST_GROUP_NO(self) :
104 """ retourne la liste des groupes de noeuds sous la forme :
105 [ (gno1, nb noeuds gno1), ...] """
106 return aster.GetMaillage(self.get_name(), "GROUP_NO")
107 def LIST_GROUP_MA(self) :
108 """ retourne la liste des groupes de mailles sous la forme :
109 [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """
110 return aster.GetMaillage(self.get_name(), "GROUP_MA")
113 class squelette (maillage):pass
116 # cham_gd (carte,cham_no,cham_elem)
117 #--------------------------------
119 class cham_gd(ASSD):pass
122 #--------------------------------
123 class carte(cham_gd):pass
124 class carte_dbel_r (carte):pass
125 class carte_depl_c (carte):pass
126 class carte_depl_f (carte):pass
127 class carte_depl_r (carte):pass
128 class carte_durt_r (carte):pass
129 class carte_ener_r (carte):pass
130 class carte_epsi_r (carte):pass
131 class carte_erreur (carte):pass
132 class carte_flux_r (carte):pass
133 class carte_g_depl_r (carte):pass
134 class carte_geom_r (carte):pass
135 class carte_hydr_r (carte):pass
136 class carte_inst_r (carte):pass
137 class carte_inte_r (carte):pass
138 class carte_irra_r (carte):pass
139 class carte_meta_r (carte):pass
140 class carte_neut_f (carte):pass
141 class carte_neut_r (carte):pass
142 class carte_pres_r (carte):pass
143 class carte_sief_r (carte):pass
144 class carte_sour_r (carte):pass
145 class carte_temp_f (carte):pass
146 class carte_temp_r (carte):pass
147 class carte_var2_r (carte):pass
148 class carte_vnor_c (carte):pass
151 # cham_gd/cham_elem :
152 #--------------------------------
153 class cham_elem(cham_gd):pass
154 class cham_elem_crit_r(cham_elem):pass
155 class cham_elem_dbel_r(cham_elem):pass
156 class cham_elem_depl_c(cham_elem):pass
157 class cham_elem_depl_f(cham_elem):pass
158 class cham_elem_depl_r(cham_elem):pass
159 class cham_elem_dommag(cham_elem):pass
160 class cham_elem_durt_r(cham_elem):pass
161 class cham_elem_ener_r(cham_elem):pass
162 class cham_elem_epsi_c(cham_elem):pass
163 class cham_elem_epsi_r(cham_elem):pass
164 class cham_elem_erreur(cham_elem):pass
165 class cham_elem_facy_r(cham_elem):pass
166 class cham_elem_flux_r(cham_elem):pass
167 class cham_elem_g_depl(cham_elem):pass
168 class cham_elem_geom_r(cham_elem):pass
169 class cham_elem_hydr_r(cham_elem):pass
170 class cham_elem_inst_r(cham_elem):pass
171 class cham_elem_inte_r(cham_elem):pass
172 class cham_elem_irra_r(cham_elem):pass
173 class cham_elem_meta_r(cham_elem):pass
174 class cham_elem_neut_f(cham_elem):pass
175 class cham_elem_neut_r(cham_elem):pass
176 class cham_elem_pres_r(cham_elem):pass
177 class cham_elem_sief_c(cham_elem):pass
178 class cham_elem_sief_r(cham_elem):pass
179 class cham_elem_sour_r(cham_elem):pass
180 class cham_elem_spma_r(cham_elem):pass
181 class cham_elem_temp_f(cham_elem):pass
182 class cham_elem_temp_r(cham_elem):pass
183 class cham_elem_vari_r(cham_elem):pass
184 class cham_elem_vnor_c(cham_elem):pass
188 #--------------------------------
189 class cham_no(cham_gd):pass
190 class cham_no_dbel_r (cham_no):pass
191 class cham_no_depl_c (cham_no):pass
192 class cham_no_depl_f (cham_no):pass
193 class cham_no_depl_r (cham_no):pass
194 class cham_no_durt_r (cham_no):pass
195 class cham_no_ener_r (cham_no):pass
196 class cham_no_epsi_r (cham_no):pass
197 class cham_no_erreur (cham_no):pass
198 class cham_no_flux_r (cham_no):pass
199 class cham_no_g_depl_r (cham_no):pass
200 class cham_no_geom_r (cham_no):pass
201 class cham_no_hydr_r (cham_no):pass
202 class cham_no_inst_r (cham_no):pass
203 class cham_no_inte_r (cham_no):pass
204 class cham_no_irra_r (cham_no):pass
205 class cham_no_meta_r (cham_no):pass
206 class cham_no_neut_f (cham_no):pass
207 class cham_no_neut_r (cham_no):pass
208 class cham_no_pres_c (cham_no):pass
209 class cham_no_pres_r (cham_no):pass
210 class cham_no_sief_r (cham_no):pass
211 class cham_no_sour_r (cham_no):pass
212 class cham_no_spma_r (cham_no):pass
213 class cham_no_temp_c (cham_no):pass
214 class cham_no_temp_f (cham_no):pass
215 class cham_no_temp_r (cham_no):pass
216 class cham_no_vanl_r (cham_no):pass
217 class cham_no_var2_r (cham_no):pass
218 class cham_no_vnor_c (cham_no):pass
221 # resultat : (evol,mode_stat,mode_meca)
222 #--------------------------------
224 class resultat(ASSD):
225 def LIST_CHAMPS (self) :
226 return aster.GetResu(self.get_name(), "CHAMPS")
227 def LIST_NOM_CMP (self) :
228 return aster.GetResu(self.get_name(), "COMPOSANTES")
229 def LIST_VARI_ACCES (self) :
230 return aster.GetResu(self.get_name(), "VARI_ACCES")
232 class acou_harmo (resultat):pass
233 class base_modale (resultat):pass
234 class comb_fourier (resultat):pass
235 class dyna_harmo (resultat):pass
236 class dyna_trans (resultat):pass
237 class fourier_elas (resultat):pass
238 class harm_gene (resultat):pass
239 class mode_acou (resultat):pass
240 class mode_cycl (resultat):pass
241 class mode_flamb (resultat):pass
242 class mode_gene (resultat):pass
243 class mult_elas (resultat):pass
244 class theta_geom (resultat):pass
247 #--------------------------------
248 class evol(resultat):pass
249 class evol_char(evol):pass
250 class evol_elas(evol):pass
251 class evol_noli(evol):pass
252 class evol_ther(evol):pass
253 class evol_varc(evol):pass
255 # resultat/mode_stat :
256 #--------------------------------
257 class mode_stat(resultat):pass
258 class mode_stat_depl(mode_stat):pass
259 class mode_stat_acce(mode_stat):pass
260 class mode_stat_forc(mode_stat):pass
263 # resultat/mode_meca :
264 #--------------------------------
265 class mode_meca(resultat):pass
266 class mode_meca_c(mode_meca):pass
270 #--------------------------------
271 class fonction(ASSD):
272 def LIST_VALEURS(self) :
273 """ retourne la liste des valeurs [ val1, ...] """
274 vale=string.ljust(self.get_name(),19)+'.VALE'
275 lbl=list(aster.getvectjev(vale))
277 for i in range(len(lbl)/2):
279 lbr.append(lbl[len(lbl)/2+i])
281 class para_sensi(fonction):pass
282 class fonction_c(fonction):
283 def LIST_VALEURS(self) :
284 """ retourne la liste des valeurs [ val1, ...] """
285 vale=string.ljust(self.get_name(),19)+'.VALE'
286 lbl=list(aster.getvectjev(vale))
288 for i in range(len(lbl)/3):
290 lbr.append(lbl[len(lbl)/3+i*2])
291 lbr.append(lbl[len(lbl)/3+i*2+1])
293 class nappe(fonction):pass
297 #--------------------------------
298 class matr_asse(ASSD):pass
299 class matr_asse_depl_c(matr_asse):pass
300 class matr_asse_depl_r(matr_asse):pass
301 class matr_asse_gene_r(matr_asse):pass
302 class matr_asse_gene_c(matr_asse):pass
303 class matr_asse_pres_c(matr_asse):pass
304 class matr_asse_pres_r(matr_asse):pass
305 class matr_asse_temp_c(matr_asse):pass
306 class matr_asse_temp_r(matr_asse):pass
309 #--------------------------------
310 class matr_elem(ASSD):pass
311 class matr_elem_depl_c(matr_elem):pass
312 class matr_elem_depl_r(matr_elem):pass
313 class matr_elem_pres_c(matr_elem):pass
314 class matr_elem_temp_r(matr_elem):pass
320 #--------------------------------
323 def __getitem__(self,key):
324 requete=string.ljust(key[0],24)
325 tblp=string.ljust(self.get_name(),19)+'.TBLP'
326 tabnom=list(aster.getvectjev(tblp))
327 for i in range(len(tabnom)) :
328 if tabnom[i]==requete: break
329 resu=aster.getvectjev(tabnom[i+2])
330 if key[1]>len(resu) : raise KeyError
331 else : return resu[key[1]-1]
333 class tabl_aire_int (table):pass
334 class tabl_calc_g_loca(table):pass
335 class tabl_calc_g_th (table):pass
336 class tabl_cara_geom (table):pass
337 class tabl_char_limite(table):pass
338 class tabl_ener_elas (table):pass
339 class tabl_ener_pot (table):pass
340 class tabl_ener_cin (table):pass
341 class tabl_trav_ext (table):pass
342 class tabl_ener_totale(table):pass
343 class tabl_indic_ener (table):pass
344 class tabl_indic_seuil(table):pass
345 class tabl_intsp (table):pass
346 class tabl_mass_iner (table):pass
347 class tabl_post_alea (table):pass
348 class tabl_post_beta (table):pass
349 class tabl_post_dyna (table):pass
350 class tabl_post_f_alea(table):pass
351 class tabl_post_fatig (table):pass
352 class tabl_post_gouj2e(table):pass
353 class tabl_post_k (table):pass
354 class tabl_post_rccm (table):pass
355 class tabl_post_rele (table):pass
356 class tabl_post_simpli(table):pass
357 class tabl_post_usur (table):pass
358 class tabl_reca_weib (table):pass
359 class tabl_rice_tracey(table):pass
360 class tabl_texture (table):pass
361 class tabl_trc (table):pass
362 class tabl_weibull (table):pass
366 #--------------------------------
367 class vect_asse(ASSD):pass
368 class vect_asse_gene(vect_asse):pass
372 #--------------------------------
373 class vect_elem(ASSD):pass
374 class vect_elem_depl_r(vect_elem):pass
375 class vect_elem_pres_c(vect_elem):pass
376 class vect_elem_pres_r(vect_elem):pass
377 class vect_elem_temp_r(vect_elem):pass
379 #& MODIF COMMUN DATE 31/03/2003 AUTEUR ASSIRE A.ASSIRE
380 # CONFIGURATION MANAGEMENT OF EDF VERSION
381 # ======================================================================
382 # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG
383 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
384 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
385 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
386 # (AT YOUR OPTION) ANY LATER VERSION.
388 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
389 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
390 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
391 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
393 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
394 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
395 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
396 # ======================================================================
397 DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,docu="U4.11.01-g",repetable='n',
398 UIinfo={"groupes":("Gestion du travail",)},
399 fr="Ouverture d une étude. Allocation des ressources mémoire et disque",
402 PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
403 into=("OUI","NON"),defaut="OUI"),
404 BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX",
405 statut='f',min=1,max=3,
406 FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM',
407 into=('GLOBALE','VOLATILE','LOCALE'),),
408 TITRE =SIMP(statut='f',typ='TXM'),
409 CAS =SIMP(statut='f',typ='TXM'),
410 NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
411 LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
412 LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
414 IMPRESSION =FACT(statut='f',min=1,max=3,
415 FICHIER =SIMP(statut='o',typ='TXM'),
416 UNITE =SIMP(statut='o',typ='I'),
418 CATALOGUE =FACT(statut='f',min=1,max=10,
419 FICHIER =SIMP(statut='o',typ='TXM'),
420 TITRE =SIMP(statut='f',typ='TXM'),
421 UNITE =SIMP(statut='f',typ='I'),
423 CODE =FACT(fr="définition d un nom pour l'esemble d'une étude",
424 statut='f',min=1,max=1,
425 NOM =SIMP(statut='o',typ='TXM'),
426 NIV_PUB_WEB =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')),
427 UNITE =SIMP(statut='f',typ='I',defaut=15),
429 DEBUG =FACT(fr="option de déboggage reservée aux développeurs",
430 statut='f',min=1,max=1,
431 JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
432 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
433 JEVEUX =SIMP(fr="force les déchargement sur disque",
434 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
435 ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA",
436 statut='f',typ='TXM',into=('TEST',)),
438 MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
439 GESTION =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
440 TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
441 TAILLE =SIMP(statut='f',typ='I'),
442 TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.),
443 PARTITION =SIMP(statut='f',typ='R'),
446 #& MODIF COMMANDE DATE 22/04/2003 AUTEUR MCOURTOI M.COURTOIS
447 # CONFIGURATION MANAGEMENT OF EDF VERSION
448 # ======================================================================
449 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
450 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
451 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
452 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
453 # (AT YOUR OPTION) ANY LATER VERSION.
455 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
456 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
457 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
458 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
460 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
461 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
462 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
463 # ======================================================================
464 AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-g",
465 fr="Affectation des éléments finis sur le maillage",
467 UIinfo={"groupes":("Modélisation",)},
468 VERIF=SIMP(statut='f',typ='TXM',max=2,into=("MAILLE","NOEUD")),
471 PLS_BASE_SIMPLE=OPER(nom="PLS_BASE_SIMPLE",op=19,sd_prod=cara_elem,
472 fr="Exemple de PLUSIEURS_BASE_Panel sans validator",
473 docu="U4.42.01-g",reentrant='n',
474 UIinfo={"groupes":("Modélisation",)},
475 VAR1=SIMP(statut='o',typ='TXM',min=1,max=6 ),
476 VAR2=SIMP(statut='o',typ='TXM',min=1,max=6,into =( "TUTU","TATA","CCCC")),
477 VAR3=SIMP(statut='o',typ='I',min=1,max=1,into =( 1,2,3)),
478 VAR4=SIMP(statut='o',typ='I',min=1,max=1),
479 VAR44=SIMP(statut='o',typ='I',min=1,max=6),
480 VAR5=SIMP(statut='o',typ='TXM',min=1,max=1),
481 VAR6=SIMP(statut='o',typ='C',min=1,max=1),
482 MODELE=SIMP(statut='o',typ=modele ),
485 TESTS_VALID=OPER(nom="TESTS_VALID",op=19,sd_prod=cara_elem,
486 fr="Exemple de PLUSIEURS_BASE_Panel sans validator",
487 docu="U4.42.01-g",reentrant='n',
488 UIinfo={"groupes":("Modélisation",)},
489 LongStr=SIMP(statut='o',typ='TXM',validators=LongStr(3,5)),
490 ListStr=SIMP(statut='o',typ='TXM',min=1,max=4,validators=LongStr(3,5)),
491 PairVal=SIMP(statut='o',typ='I',min=1,max=4,validators=PairVal()),
492 RangeVal=SIMP(statut='o',typ='I',validators=RangeVal(3,15)),
493 CardVal=SIMP(statut='o',typ='I',max='**',validators=CardVal(3,15)),
494 EnumVal=SIMP(statut='o',typ='I',validators=EnumVal((3,2,4,8,9,15))),
495 OrdList=SIMP(statut='o',typ='I',max='**',validators=OrdList("croissant")),
496 OrdList2=SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),max='**',validators=OrdList("croissant")),
497 TypeVal=SIMP(statut='o',typ='I',validators=TypeVal(1)),
500 PLS_BASE_NOREPEAT=OPER(nom="PLS_BASE_NOREPEAT",op=19,sd_prod=cara_pout,
501 fr="Exemple de PLUSIEURS_BASE_Panel avec validator",
502 docu="U4.42.01-g",reentrant='n',
503 UIinfo={"groupes":("Modélisation",)},
504 VAR1=SIMP(statut='o',typ='TXM',min=1,max=6,validators=NoRepeat()),
505 VAR2=SIMP(statut='o',typ='TXM',min=1,max=6,into =( "TUTU","TATA","CCCC"),validators=NoRepeat()),
506 VAR3=SIMP(statut='o',typ='I',min=1,max=1,into =( 1,2,3),validators=PairVal()),
507 VAR4=SIMP(statut='o',typ='I',min=1,max=1,validators=PairVal()),
508 VAR5=SIMP(statut='o',typ='I',min=1,max=6,validators=PairVal()),
509 VAR6=SIMP(statut='o',typ='I',min=1,max=6,validators=(NoRepeat(),PairVal())),
510 VAR7=SIMP(statut='o',typ='I',min=1,max=6,validators=[NoRepeat(),PairVal()]),
516 BLOCBLOC=OPER(nom="BLOCBLOC",op=1,sd_prod=toto,
517 TITI =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
518 TUTU =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
519 TATA =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
520 TOTO =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
521 b_unit1 =BLOC(condition = "TITI =='AAA'",
522 TOTO1 =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
523 c_unit1 =BLOC(condition = "TOTO1 == 'AAA'", UNITE1 =SIMP(statut='f',typ='I',defaut=25),),
525 b_unit2 =BLOC(condition = "TUTU =='AAA'",
526 TOTO2 =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
527 c_unit2 =BLOC(condition = "TOTO2 == 'BBB'", UNITE2 =SIMP(statut='f',typ='I',defaut=25),),
529 b_unit3 =BLOC(condition = "TATA =='BBB'",
530 TOTO3 =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
531 c_unit3 =BLOC(condition = "TOTO3 == 'BBB'", UNITE3 =SIMP(statut='f',typ='I',defaut=25),),
533 b_unit4 =BLOC(condition = "TOTO =='BBB'",
534 TOTO4 =SIMP(statut='f',typ='TXM',defaut='AAA',into=('AAA','BBB'),),
535 c_unit4 =BLOC(condition = "TOTO4 == 'AAA'", UNITE4 =SIMP(statut='f',typ='I',defaut=25),),
539 CARDFACT=OPER(nom="CARDFACT",op=1,sd_prod=toto,reentrant='f',
540 A=FACT(F=SIMP(typ='TXM')),
541 B=FACT(statut='f',F=SIMP(typ='TXM')),
542 C=FACT(statut='o',F=SIMP(typ='TXM')),
543 D=FACT(statut='f',min=3,max=5,F=SIMP(typ='TXM')),
544 E=FACT(statut='o',min=3,max=5,F=SIMP(typ='TXM')),
545 F=FACT(statut='o',min=3,max=5,F=SIMP(statut='o',typ='TXM')),
546 TOTO=SIMP(typ='TXM'),
547 bl=BLOC(condition="TOTO=='a'",
548 DD=FACT(statut='f',min=3,max=5,F=SIMP(typ='TXM')),
549 DE=FACT(statut='o',min=3,max=5,F=SIMP(typ='TXM')),
550 DF=FACT(statut='o',min=3,max=5,F=SIMP(statut='o',typ='TXM')),
552 bl2=BLOC(condition="reuse",
553 ED=FACT(statut='f',min=3,max=5,F=SIMP(typ='TXM')),
554 EE=FACT(statut='o',min=3,max=5,F=SIMP(typ='TXM')),
555 EF=FACT(statut='o',min=3,max=5,F=SIMP(statut='o',typ='TXM')),
557 X=FACT(statut='f',min=3,max=5,F=FACT(max=3,X=SIMP(typ='TXM'),
558 Y=FACT(max=3,Z=SIMP(typ='TXM'),),
563 #& MODIF COMMANDE DATE 21/03/2003 AUTEUR ASSIRE A.ASSIRE
564 # CONFIGURATION MANAGEMENT OF EDF VERSION
565 # ======================================================================
566 POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',fr="Poursuite d une étude",
567 docu="U4.11.03-g",sd_prod = ops.POURSUITE,
568 UIinfo={"groupes":("Gestion du travail",)},
569 op_init = ops.POURSUITE_context,fichier_ini = 1,
570 PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
571 into=("OUI","NON"),defaut="OUI"),
572 BASE =FACT(fr="définition des parmètres associés aux bases JEVEUX",
573 statut='f',min=1,max=3,
574 FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM'),
575 TITRE =SIMP(statut='f',typ='TXM'),
576 CAS =SIMP(statut='f',typ='TXM'),
577 NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
578 LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
579 LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
581 IMPRESSION =FACT(statut='f',min=1,max=3,
582 FICHIER =SIMP(statut='o',typ='TXM'),
583 UNITE =SIMP(statut='o',typ='I'),
585 CATALOGUE =FACT(statut='f',min=1,max=10,
586 FICHIER =SIMP(statut='o',typ='TXM'),
587 TITRE =SIMP(statut='f',typ='TXM'),
588 UNITE =SIMP(statut='f',typ='I'),
590 DEBUG =FACT(fr="option de déboggage reservée aux développeurs",
591 statut='f',min=1,max=1,
592 JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
593 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
594 JEVEUX =SIMP(fr="force les déchargement sur disque",
595 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
596 ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA",
597 statut='f',typ='TXM',into=('TES',)),
599 MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
600 GESTION =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
601 TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
602 TAILLE =SIMP(statut='f',typ='I'),
603 TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.),
604 PARTITION =SIMP(statut='f',typ='R' ),
606 CODE =FACT("définition d un nom pour l'esemble d'une étude",
607 statut='f',min=1,max=1,
608 NOM =SIMP(statut='o',typ='TXM'),
609 UNITE =SIMP(statut='f',typ='I',defaut=15),
612 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
613 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
614 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
615 # ======================================================================
616 FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude",
618 UIinfo={"groupes":("Gestion du travail",)},
619 RETASSAGE =SIMP(fr="provoque le retassage de la base GLOBALE",
620 statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
621 PERFORMANCE =SIMP(fr="provoque l'impression d'un résumé des mesures de temps ",
622 statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
623 INFO_RESU =SIMP(fr="provoque l'impression des informations sur les structures de données",
624 statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
625 FICHIER =SIMP(statut='f',typ='TXM',defaut="MESSAGE"),
628 FORMULE = FORM( nom='FORMULE',op=ops.build_formule,sd_prod=formule,
630 fr="Définition d une fonction",reentrant = 'n',
631 regles=(UN_PARMI('REEL','COMPLEXE'),),
633 ##### fonctions entieres interdites suite au probleme AL2003-072
634 ##### regles=(UN_PARMI('REEL','ENTIER','COMPLEXE'),),
635 ##### ENTIER = SIMP(typ = 'shell',),
637 REEL = SIMP(typ = 'shell',),
638 COMPLEXE = SIMP(typ = 'shell',),
641 DETRUIRE=PROC(nom="DETRUIRE",op=-7,docu="U4.14.01-e",
642 UIinfo={"groupes":("Gestion du travail",)},
643 fr="Destruction d un concept utilisateur dans la base GLOBALE",
644 op_init=ops.detruire,
645 regles=(UN_PARMI('CONCEPT','OBJET',),),
646 CONCEPT =FACT(statut='f',
647 NOM =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),
649 OBJET =FACT(statut='f',
650 CHAINE =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
651 POSITION =SIMP(statut='o',typ='I' ,validators=NoRepeat(),max='**'),
653 INFO =SIMP(statut='f',typ='I',into=(1,2),defaut=2, ),