]> SALOME platform Git repositories - tools/eficas.git/blob - Aster/Cata/cataSTA73/cata.py
Salome HOME
Modif V6_4_°
[tools/eficas.git] / Aster / Cata / cataSTA73 / cata.py
1 #& MODIF ENTETE  DATE 30/11/2004   AUTEUR MCOURTOI M.COURTOIS 
2 # -*- coding: iso-8859-1 -*-
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.
10 #
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.
15 #
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 # ======================================================================
20
21 import Accas
22 from Accas import *
23 from Accas import _F
24 import string
25 import Numeric
26 from math import sin,cos,tan,asin,acos,atan2,atan,sinh,cosh,tanh,exp,log,log10
27 from math import sqrt,pi
28 import ops
29
30 try:
31   import aster
32 except:
33   pass
34
35 #
36 __version__="$Name:  $"
37 __Id__="$Id: cata_aster_v6.py,v 1.12 2001/01/16 15:55:05 iliade Exp $"
38 #
39 JdC = JDC_CATA(code='ASTER',
40                execmodul=None,
41                regles = (AU_MOINS_UN('DEBUT','POURSUITE'),
42                          AU_MOINS_UN('FIN'),
43                          A_CLASSER(('DEBUT','POURSUITE'),'FIN')))
44 # Type le plus general
45 class entier   (ASSD):
46    def __init__(self,valeur=None,**args):
47       ASSD.__init__(self,**args)
48       self.valeur=valeur
49
50 # Type geometriques
51 class no  (GEOM):pass
52 class grno(GEOM):pass
53 class ma  (GEOM):pass
54 class grma(GEOM):pass
55
56
57
58 # Autres
59
60 class cabl_precont    (ASSD):pass
61 class cara_elem       (ASSD):pass
62 class cara_pout       (ASSD):pass
63 class cham_mater      (ASSD):pass
64 class char_acou       (ASSD):pass
65 class char_cine_acou  (ASSD):pass
66 class char_cine_meca  (ASSD):pass
67 class char_cine_ther  (ASSD):pass
68 class char_meca       (ASSD):pass
69 class char_ther       (ASSD):pass
70 class compor_sdaster  (ASSD):pass
71 class courbe_sdaster  (ASSD):pass
72 class fiss_xfem       (ASSD):pass
73 class fond_fiss       (ASSD):pass
74 class interf_dyna_clas(ASSD):pass
75 class interspfact     (ASSD):pass
76 class listis_sdaster  (ASSD):pass
77 class macr_elem_dyna  (ASSD):pass
78 class macr_elem_stat  (ASSD):pass
79 class mater_sdaster   (ASSD):pass
80 class melasflu_sdaster(ASSD):pass
81 class modele_sdaster  (ASSD):pass
82 class modele_gene     (ASSD):pass
83 class nume_ddl_sdaster(ASSD):pass
84 class nume_ddl_gene   (ASSD):pass
85 class obstacle_sdaster(ASSD):pass
86 class sd_feti_sdaster (ASSD):pass
87 class spectre_sdaster (ASSD):pass
88 class surface_sdaster (ASSD):pass
89 class tran_gene       (ASSD):pass
90 class type_flui_stru  (ASSD):pass
91
92
93 # liste :
94 #--------------------------------
95 class listr8_sdaster   (ASSD):
96   def Valeurs(self) :
97     """
98     Retourne la liste des valeurs : [val1, ..., valN]
99     """
100     vale=string.ljust(self.get_name(),19)+'.VALE'
101     return list(aster.getvectjev(vale))
102
103
104 # post-traitement :
105 #--------------------------------
106 class post_comp_cham_el :
107   def __init__(self,valeurs,maille=None,point=None,sous_point=None) :
108     self.valeurs=valeurs
109     self.maille=maille
110     self.point=point
111     self.sous_point=sous_point
112
113 class post_comp_cham_no :
114   def __init__(self,valeurs,noeud=None) :
115     self.valeurs=valeurs
116     self.noeud=noeud
117
118 # maillage :
119 #--------------------------------
120 class maillage_sdaster(ASSD):
121   def LIST_GROUP_NO(self) :
122     """ retourne la liste des groupes de noeuds sous la forme :
123         [ (gno1, nb noeuds  gno1), ...] """
124     nommail=self.get_name()
125     dic_gpno=aster.getcolljev(nommail.ljust(8)+".GROUPENO")
126     return [(gpno.strip(),len(dic_gpno[gpno])) for gpno in dic_gpno]
127   def LIST_GROUP_MA(self) :
128     """ retourne la liste des groupes de mailles sous la forme :
129         [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """
130     nommail=self.get_name()
131     nommail=nommail.ljust(8)
132     ngpma=[]
133     ltyma =aster.getvectjev("&CATA.TM.NOMTM")
134     catama=aster.getcolljev("&CATA.TM.TMDIM")
135     dic_gpma=aster.getcolljev(nommail+".GROUPEMA")
136     dimama=[catama[ltyma[ma-1]][0] for ma in aster.getvectjev(nommail+".TYPMAIL")]
137     for grp in dic_gpma.keys():
138         dim=max([dimama[ma-1] for ma in dic_gpma[grp]])
139         ngpma.append((grp.strip(),len(dic_gpma[grp]),dim))
140     return ngpma
141
142
143 class squelette     (maillage_sdaster):pass
144
145
146 # cham_gd_sdaster (carte_sdaster,cham_no_sdaster,cham_elem_sdaster)
147 #--------------------------------
148
149 class cham_gd_sdaster(ASSD):pass
150
151 # cham_gd_sdaster/carte_sdaster :
152 #--------------------------------
153 class carte_sdaster  (cham_gd_sdaster):pass
154 class carte_dbel_r   (carte_sdaster):pass
155 class carte_depl_c   (carte_sdaster):pass
156 class carte_depl_f   (carte_sdaster):pass
157 class carte_depl_r   (carte_sdaster):pass
158 class carte_durt_r   (carte_sdaster):pass
159 class carte_ener_r   (carte_sdaster):pass
160 class carte_epsi_r   (carte_sdaster):pass
161 class carte_erreur   (carte_sdaster):pass
162 class carte_flux_r   (carte_sdaster):pass
163 class carte_g_depl_r (carte_sdaster):pass
164 class carte_geom_r   (carte_sdaster):pass
165 class carte_hydr_r   (carte_sdaster):pass
166 class carte_inst_r   (carte_sdaster):pass
167 class carte_inte_r   (carte_sdaster):pass
168 class carte_irra_r   (carte_sdaster):pass
169 class carte_neut_f   (carte_sdaster):pass
170 class carte_neut_r   (carte_sdaster):pass
171 class carte_pres_r   (carte_sdaster):pass
172 class carte_sief_r   (carte_sdaster):pass
173 class carte_sour_r   (carte_sdaster):pass
174 class carte_temp_f   (carte_sdaster):pass
175 class carte_temp_r   (carte_sdaster):pass
176 class carte_var2_r   (carte_sdaster):pass
177 class carte_vnor_c   (carte_sdaster):pass
178 class carte_corr_r   (carte_sdaster):pass
179
180
181 # cham_gd_sdaster/cham_elem_sdaster :
182 #--------------------------------
183 class cham_elem_sdaster(cham_gd_sdaster):
184
185   def EXTR_COMP(self,comp,lgma,topo=0) :
186     """ retourne les valeurs de la composante comp du champ sur la liste
187         de groupes de mailles lgma avec eventuellement l'info de la 
188         topologie si topo>0. Si lgma est une liste vide, c'est equivalent
189         a un TOUT='OUI' dans les commandes aster
190         Attributs retourne
191           - self.valeurs : Numeric.array contenant les valeurs
192         Si on a demande la topo  :
193           - self.maille  : numero de mailles
194           - self.point   : numero du point dans la maille
195           - self.sous_point : numero du sous point dans la maille """
196     
197   
198     ncham=self.get_name()
199     ncham=ncham+(8-len(ncham))*' '
200     nchams=ncham[0:7]+'S'
201     ncmp=comp+(8-len(comp))*' '
202     
203     aster.prepcompcham(ncham,nchams,ncmp,"EL      ",topo,lgma)
204     
205     valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V'))
206     
207     if (topo>0) :
208       maille=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.M'))
209       point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.P'))
210       sous_point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.SP'))
211     else :
212       maille=None
213       point=None
214       sous_point=None
215     
216     aster.prepcompcham("__DETR__",nchams,ncmp,"EL      ",topo,lgma)
217     
218     return post_comp_cham_el(valeurs,maille,point,sous_point)
219     
220 class cham_elem_crit_r(cham_elem_sdaster):pass
221 class cham_elem_dbel_r(cham_elem_sdaster):pass
222 class cham_elem_depl_c(cham_elem_sdaster):pass
223 class cham_elem_depl_f(cham_elem_sdaster):pass
224 class cham_elem_depl_r(cham_elem_sdaster):pass
225 class cham_elem_dommag(cham_elem_sdaster):pass
226 class cham_elem_durt_r(cham_elem_sdaster):pass
227 class cham_elem_ener_r(cham_elem_sdaster):pass
228 class cham_elem_epsi_c(cham_elem_sdaster):pass
229 class cham_elem_epsi_r(cham_elem_sdaster):pass
230 class cham_elem_erreur(cham_elem_sdaster):pass
231 class cham_elem_facy_r(cham_elem_sdaster):pass
232 class cham_elem_flux_r(cham_elem_sdaster):pass
233 class cham_elem_g_depl(cham_elem_sdaster):pass
234 class cham_elem_geom_r(cham_elem_sdaster):pass
235 class cham_elem_hydr_r(cham_elem_sdaster):pass
236 class cham_elem_inst_r(cham_elem_sdaster):pass
237 class cham_elem_inte_r(cham_elem_sdaster):pass
238 class cham_elem_irra_r(cham_elem_sdaster):pass
239 class cham_elem_neut_f(cham_elem_sdaster):pass
240 class cham_elem_neut_r(cham_elem_sdaster):pass
241 class cham_elem_pres_r(cham_elem_sdaster):pass
242 class cham_elem_sief_c(cham_elem_sdaster):pass
243 class cham_elem_sief_r(cham_elem_sdaster):pass
244 class cham_elem_sour_r(cham_elem_sdaster):pass
245 class cham_elem_spma_r(cham_elem_sdaster):pass
246 class cham_elem_temp_f(cham_elem_sdaster):pass
247 class cham_elem_temp_r(cham_elem_sdaster):pass
248 class cham_elem_vari_r(cham_elem_sdaster):pass
249 class cham_elem_vnor_c(cham_elem_sdaster):pass
250
251
252 # cham_gd/cham_no :
253 #--------------------------------
254 class cham_no_sdaster(cham_gd_sdaster):  
255
256   def EXTR_COMP(self,comp,lgno,topo=0) :
257     """ retourne les valeurs de la composante comp du champ sur la liste
258         de groupes de noeuds lgno avec eventuellement l'info de la 
259         topologie si topo>0. Si lgno est une liste vide, c'est equivalent
260         a un TOUT='OUI' dans les commandes aster
261         Attributs retourne
262           - self.valeurs : Numeric.array contenant les valeurs
263         Si on a demande la topo (i.e. self.topo = 1) :
264           - self.noeud  : numero de noeud """
265     
266   
267     ncham=self.get_name()
268     ncham=ncham+(8-len(ncham))*' '
269     nchams=ncham[0:7]+'S'
270     ncmp=comp+(8-len(comp))*' '
271     
272     aster.prepcompcham(ncham,nchams,ncmp,"NO      ",topo,lgno)
273     
274     valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V'))
275     
276     if (topo>0) :
277       noeud=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.N'))
278     else :
279       noeud=None
280     
281     aster.prepcompcham("__DETR__",nchams,ncmp,"NO      ",topo,lgno)
282     
283     return post_comp_cham_no(valeurs,noeud)
284
285 class cham_no_dbel_r   (cham_no_sdaster):pass
286 class cham_no_depl_c   (cham_no_sdaster):pass
287 class cham_no_depl_f   (cham_no_sdaster):pass
288 class cham_no_depl_r   (cham_no_sdaster):pass
289 class cham_no_durt_r   (cham_no_sdaster):pass
290 class cham_no_ener_r   (cham_no_sdaster):pass
291 class cham_no_epsi_r   (cham_no_sdaster):pass
292 class cham_no_erreur   (cham_no_sdaster):pass
293 class cham_no_facy_r   (cham_no_sdaster):pass
294 class cham_no_flux_r   (cham_no_sdaster):pass
295 class cham_no_g_depl_r (cham_no_sdaster):pass
296 class cham_no_geom_r   (cham_no_sdaster):pass
297 class cham_no_hydr_r   (cham_no_sdaster):pass
298 class cham_no_inst_r   (cham_no_sdaster):pass
299 class cham_no_inte_r   (cham_no_sdaster):pass
300 class cham_no_irra_r   (cham_no_sdaster):pass
301 class cham_no_neut_f   (cham_no_sdaster):pass
302 class cham_no_neut_r   (cham_no_sdaster):pass
303 class cham_no_pres_c   (cham_no_sdaster):pass
304 class cham_no_pres_r   (cham_no_sdaster):pass
305 class cham_no_sief_r   (cham_no_sdaster):pass
306 class cham_no_sour_r   (cham_no_sdaster):pass
307 class cham_no_spma_r   (cham_no_sdaster):pass
308 class cham_no_temp_c   (cham_no_sdaster):pass
309 class cham_no_temp_f   (cham_no_sdaster):pass
310 class cham_no_temp_r   (cham_no_sdaster):pass
311 class cham_no_vanl_r   (cham_no_sdaster):pass
312 class cham_no_var2_r   (cham_no_sdaster):pass
313 class cham_no_vnor_c   (cham_no_sdaster):pass
314
315
316 # resultat_sdaster : (evol_sdaster,mode_stat,mode_meca)
317 #--------------------------------------
318
319 class resultat_sdaster(ASSD):
320   def LIST_CHAMPS (self) :
321     return aster.GetResu(self.get_name(), "CHAMPS")
322   def LIST_NOM_CMP (self) :
323     return aster.GetResu(self.get_name(), "COMPOSANTES")
324   def LIST_VARI_ACCES (self) :
325     return aster.GetResu(self.get_name(), "VARI_ACCES")
326   def LIST_PARA (self) :
327     return aster.GetResu(self.get_name(), "PARAMETRES")
328
329 class acou_harmo    (resultat_sdaster):pass
330 class base_modale   (resultat_sdaster):pass
331 class comb_fourier  (resultat_sdaster):pass
332 class dyna_harmo    (resultat_sdaster):pass
333 class dyna_trans    (resultat_sdaster):pass
334 class fourier_elas  (resultat_sdaster):pass
335 class harm_gene     (resultat_sdaster):pass
336 class mode_acou     (resultat_sdaster):pass
337 class mode_cycl     (resultat_sdaster):pass
338 class mode_flamb    (resultat_sdaster):pass
339 class mode_gene     (resultat_sdaster):pass
340 class mult_elas     (resultat_sdaster):pass
341 class theta_geom    (resultat_sdaster):pass
342
343 # resultat_sdaster/evol_sdaster :
344 #--------------------------------
345 class evol_sdaster(resultat_sdaster):pass
346 class evol_char(evol_sdaster):pass
347 class evol_elas(evol_sdaster):pass
348 class evol_noli(evol_sdaster):pass
349 class evol_ther(evol_sdaster):pass
350 class evol_varc(evol_sdaster):pass
351
352 # resultat_sdaster/mode_stat :
353 #--------------------------------
354 class mode_stat(resultat_sdaster):pass
355 class mode_stat_depl(mode_stat):pass
356 class mode_stat_acce(mode_stat):pass
357 class mode_stat_forc(mode_stat):pass
358
359
360 # resultat_sdaster/mode_meca :
361 #--------------------------------
362 class mode_meca(resultat_sdaster):pass
363 class mode_meca_c(mode_meca):pass
364
365
366 # types 'fonction' :
367 #--------------------------------
368 class fonction_class(ASSD):
369    def Valeurs(self):pass
370    def Parametres(self):
371       """
372       Retourne un dictionnaire contenant les parametres de la fonction ;
373       le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourne,
374       le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel.
375       """
376       TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' }
377       prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL')
378       dico={
379          'INTERPOL'    : [prol[1][0:3],prol[1][4:7]],
380          'NOM_PARA'    : prol[2][0:16],
381          'NOM_RESU'    : prol[3][0:16],
382          'PROL_DROITE' : TypeProl[prol[4][0]],
383          'PROL_GAUCHE' : TypeProl[prol[4][1]],
384       }
385       return dico
386    def Trace(self,FORMAT='TABLEAU',**kargs):
387       """Tracé d'une fonction"""
388       from Utilitai.Graph import Graph
389       gr=Graph()
390       gr.AjoutCourbe(Val=self.Valeurs(),
391             Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU']])
392       gr.Trace(FORMAT=FORMAT,**kargs)
393 class fonction_sdaster(fonction_class):
394    def Valeurs(self) :
395       """
396       Retourne deux listes de valeurs : abscisses et ordonnees
397       """
398       if hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' :
399         lbl=list(self.etape['VALE'])
400         dim=len(lbl)
401         lx=[lbl[i] for i in range(0,dim,2)]
402         ly=[lbl[i] for i in range(1,dim,2)]
403         return [lx,ly]
404       else :
405         vale=string.ljust(self.get_name(),19)+'.VALE'
406         lbl=list(aster.getvectjev(vale))
407         dim=len(lbl)/2
408         lx=lbl[0:dim]
409         ly=lbl[dim:2*dim]
410         return [lx,ly]
411    def Absc(self):
412       """Retourne la liste des abscisses"""
413       return self.Valeurs()[0]
414    def Ordo(self):
415       """Retourne la liste des ordonnées"""
416       return self.Valeurs()[1]
417    def __call__(self,val):
418       lx,ly=self.Valeurs()
419       n=len(lx)
420       if val in lx : return ly[lx.index(val)]
421       lx.append(val)
422       lx.sort()
423       indic=lx.index(val)
424       if indic==0   :
425          if self.etape['PROL_GAUCHE']=='CONSTANT':return ly[0]
426       if indic==n :
427          if self.etape['PROL_DROITE']=='CONSTANT':return ly[n-1]
428       return (ly[indic-1]+(ly[indic]-ly[indic-1])*(val-lx[indic-1])/(lx[indic+1]-lx[indic-1]))
429 class para_sensi(fonction_sdaster):
430    def Parametres(self):pass
431 class fonction_c(fonction_class):
432    def Valeurs(self) :
433       """
434       Retourne trois listes de valeurs : abscisses, parties reelles et imaginaires.
435       """
436       if self.etape.nom=='DEFI_FONCTION' :
437         lbl=list(self.etape['VALE_C'])
438         dim=len(lbl)
439         lx=[lbl[i] for i in range(0,dim,3)]
440         lr=[lbl[i] for i in range(1,dim,3)]
441         li=[lbl[i] for i in range(2,dim,3)]
442         return [lx,lr,li]
443       else :
444         vale=string.ljust(self.get_name(),19)+'.VALE'
445         lbl=list(aster.getvectjev(vale))
446         dim=len(lbl)/3
447         lx=lbl[0:dim]
448         lr=[]
449         li=[]
450         for i in range(dim):
451            lr.append(lbl[dim+2*i])
452            li.append(lbl[dim+2*i+1])
453         return [lx,lr,li]
454    def Absc(self):
455       """Retourne la liste des abscisses"""
456       return self.Valeurs()[0]
457    def Ordo(self):
458       """Retourne la liste des parties réelles des ordonnées"""
459       return self.Valeurs()[1]
460    def OrdoImg(self):
461       """Retourne la liste des parties imaginaires des ordonnées"""
462       return self.Valeurs()[2]
463    def Trace(self,FORMAT='TABLEAU',**kargs):
464       """Tracé d'une fonction complexe"""
465       from Utilitai.Graph import Graph
466       gr=Graph()
467       gr.AjoutCourbe(Val=self.Valeurs(),
468        Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU'],'IMAG'])
469       gr.Trace(FORMAT=FORMAT,**kargs)
470 class nappe_sdaster(fonction_class):
471    def Valeurs(self):
472       """
473       Retourne la liste des valeurs du parametre,
474       et une liste de couples (abscisses,ordonnees) de chaque fonction.
475       """
476       nsd=string.ljust(self.get_name(),19)
477       dicv=aster.getcolljev(nsd+'.VALE')
478       # les cles de dicv sont 1,...,N (indice du parametre)
479       lpar=aster.getvectjev(nsd+'.PARA')
480       lval=[]
481       for k in range(len(dicv)):
482          lbl=dicv[k+1]
483          dim=len(lbl)/2
484          lval.append([lbl[0:dim],lbl[dim:2*dim]])
485       return [lpar,lval]
486    def Parametres(self):
487       """
488       Retourne un dictionnaire contenant les parametres de la nappe,
489       le type jeveux (NAPPE) n'est pas retourne,
490       le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel,
491       et une liste de dictionnaire des parametres de chaque fonction.
492       """
493       TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' }
494       prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL')
495       dico={
496          'INTERPOL'      : [prol[1][0:3],prol[1][4:7]],
497          'NOM_PARA'      : prol[2][0:16],
498          'NOM_RESU'      : prol[3][0:16],
499          'PROL_DROITE'   : TypeProl[prol[4][0]],
500          'PROL_GAUCHE'   : TypeProl[prol[4][1]],
501          'NOM_PARA_FONC' : prol[5][0:4],
502       }
503       lparf=[]
504       nbf=(len(prol)-6)/2
505       for i in range(nbf):
506          dicf={
507             'INTERPOL_FONC'    : [prol[6+i*2][0:3],prol[6+i*2][4:7]],
508             'PROL_DROITE_FONC' : TypeProl[prol[7+i*2][0]],
509             'PROL_GAUCHE_FONC' : TypeProl[prol[7+i*2][1]],
510          }
511          lparf.append(dicf)
512       return [dico,lparf]
513    def Trace(self,FORMAT='TABLEAU',**kargs):
514       """Tracé d'une nappe"""
515       from Utilitai.Graph import Graph
516       gr=Graph()
517       lv=self.Valeurs()[1]
518       dp=self.Parametres()[0]
519       for lx,ly in lv:
520          gr.AjoutCourbe(Val=[lx,ly], Lab=[dp['NOM_PARA_FONC'],dp['NOM_RESU']])
521       gr.Trace(FORMAT=FORMAT,**kargs)
522
523 # matr_asse :
524 #--------------------------------
525 class matr_asse(ASSD):pass
526
527 class matr_asse_gene(matr_asse):pass
528 class matr_asse_gene_r(matr_asse_gene):pass
529 class matr_asse_gene_c(matr_asse_gene):pass
530
531 class matr_asse_gd(matr_asse):pass
532 class matr_asse_depl_c(matr_asse_gd):pass
533 class matr_asse_depl_r(matr_asse_gd):pass
534 class matr_asse_pres_c(matr_asse_gd):pass
535 class matr_asse_pres_r(matr_asse_gd):pass
536 class matr_asse_temp_c(matr_asse_gd):pass
537 class matr_asse_temp_r(matr_asse_gd):pass
538
539 # matr_elem :
540 #--------------------------------
541 class matr_elem(ASSD):pass
542 class matr_elem_depl_c(matr_elem):pass
543 class matr_elem_depl_r(matr_elem):pass
544 class matr_elem_pres_c(matr_elem):pass
545 class matr_elem_temp_r(matr_elem):pass
546
547
548
549
550 # table :
551 #--------------------------------
552 class table_sdaster(ASSD):
553   def __getitem__(self,key):
554       requete=string.ljust(key[0],24)
555       tblp=string.ljust(self.get_name(),19)+'.TBLP'
556       tabnom=list(aster.getvectjev(tblp))
557       for i in range(len(tabnom)) :
558          if tabnom[i]==requete: break
559       resu=aster.getvectjev(tabnom[i+2])
560       exist=aster.getvectjev(tabnom[i+3])
561       if key[1]>len(resu) or exist[key[1]-1]==0:
562          raise KeyError
563       else:
564          return resu[key[1]-1]
565   def Nonefy(self,l1,l2) :
566       if l2==0 : return None
567       else     : return l1
568   def EXTR_TABLE(self) :
569       """Produit un objet Table à partir du contenu d'une table Aster
570       """
571       from Utilitai.Table import Table
572       tblp=string.ljust(self.get_name(),19)+'.TBLP'
573       tabnom=list(aster.getvectjev(tblp))
574       nparam=len(tabnom)/4
575       lparam=[tabnom[4*i:4*i+4] for i in range(nparam)]
576       dval={}
577       # liste des paramètres et des types
578       lpar=[]
579       ltyp=[]
580       for i in lparam :
581          value=list(aster.getvectjev(i[2]))
582          exist=aster.getvectjev(i[3])
583          dval[string.strip(i[0])]=map(self.Nonefy,value,exist)
584          lpar.append(string.strip(i[0]))
585          ltyp.append(string.strip(i[1]))
586       n=len(dval[lpar[0]])
587       # contenu : liste de dict
588       lisdic=[]
589       for i in range(n) :
590         d={}
591         for p in lpar : d[p]=dval[p][i]
592         lisdic.append(d)
593       # titre
594       titj=aster.getvectjev(self.get_name().ljust(19)+'.TITR')
595       if titj<>None:
596          titr='\n'.join(titj)
597       else:
598          titr=''
599       return Table(lisdic, lpar, ltyp, titr)
600
601 class table_jeveux(table_sdaster):
602    """Classe permettant d'accéder à une table jeveux qui n'a pas d'ASSD associée,
603    c'est le cas des concepts résultats (table, evol_xxxx) dérivés."""
604    def __init__(self,nom_jeveux):
605       self.nom=nom_jeveux
606
607 class tabl_aire_int   (table_sdaster):pass
608 class tabl_calc_g_loca(table_sdaster):pass
609 class tabl_calc_g_th  (table_sdaster):pass
610 class tabl_cara_geom  (table_sdaster):pass
611 class tabl_char_limite(table_sdaster):pass
612 class tabl_ener_elas  (table_sdaster):pass
613 class tabl_ener_pot   (table_sdaster):pass
614 class tabl_ener_cin   (table_sdaster):pass
615 class tabl_trav_ext   (table_sdaster):pass
616 class tabl_ener_totale(table_sdaster):pass
617 class tabl_indic_ener (table_sdaster):pass
618 class tabl_indic_seuil(table_sdaster):pass
619 class tabl_intsp      (table_sdaster):pass
620 class tabl_mass_iner  (table_sdaster):pass
621 class tabl_post_alea  (table_sdaster):pass
622 class tabl_post_beta  (table_sdaster):pass
623 class tabl_post_dyna  (table_sdaster):pass
624 class tabl_post_f_alea(table_sdaster):pass
625 class tabl_post_fatig (table_sdaster):pass
626 class tabl_post_gouj2e(table_sdaster):pass
627 class tabl_post_k     (table_sdaster):pass
628 class tabl_post_rccm  (table_sdaster):pass
629 class tabl_post_rele  (table_sdaster):pass
630 class tabl_post_simpli(table_sdaster):pass
631 class tabl_post_usur  (table_sdaster):pass
632 class tabl_reca_weib  (table_sdaster):pass
633 class tabl_rice_tracey(table_sdaster):pass
634 class tabl_texture    (table_sdaster):pass
635 class tabl_trc        (table_sdaster):pass
636 class tabl_weibull    (table_sdaster):pass
637
638
639 # vect_asse :
640 #--------------------------------
641 class vect_asse(ASSD):pass
642 class vect_asse_gene(vect_asse):pass
643
644
645 # vect_elem :
646 #--------------------------------
647 class vect_elem(ASSD):pass
648 class vect_elem_depl_r(vect_elem):pass
649 class vect_elem_pres_c(vect_elem):pass
650 class vect_elem_pres_r(vect_elem):pass
651 class vect_elem_temp_r(vect_elem):pass
652
653 #& MODIF COMMUN  DATE 11/10/2004   AUTEUR DURAND C.DURAND 
654 #            CONFIGURATION MANAGEMENT OF EDF VERSION
655 # ======================================================================
656 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
657 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
658 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
659 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
660 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
661 #                                                                       
662 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
663 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
664 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
665 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
666 #                                                                       
667 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
668 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
669 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
670 # ======================================================================
671 def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
672            RELATION        =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_TRAC",
673                                  into=( "ELAS",
674                                         "VMIS_ISOT_TRAC",
675                                         "VISC_ISOT_TRAC",
676                                         "VMIS_ISOT_LINE",
677                                         "VISC_ISOT_LINE",
678                                         "VMIS_ECMI_TRAC",
679                                         "VMIS_ECMI_LINE",
680                                         "LABORD_1D",
681                                         "ENDO_FRAGILE",
682                                         "ENDO_ISOT_BETON",
683                                         "ENDO_ORTH_BETON",
684                                         "MAZARS",
685                                         "JOINT_BA",
686                                         "RUPT_FRAG",
687                                         "BARENBLATT",
688                                         "META_P_IL",
689                                         "META_P_IL_PT",
690                                         "META_P_IL_RE",
691                                         "META_P_IL_PT_RE",
692                                         "META_V_IL",
693                                         "META_V_IL_PT",
694                                         "META_V_IL_RE",
695                                         "META_V_IL_PT_RE",
696                                         "META_P_INL",
697                                         "META_P_INL_PT",
698                                         "META_P_INL_RE",
699                                         "META_P_INL_PT_RE",
700                                         "META_V_INL",
701                                         "META_V_INL_PT",
702                                         "META_V_INL_RE",
703                                         "META_V_INL_PT_RE",
704                                         "META_P_CL",
705                                         "META_P_CL_PT",
706                                         "META_P_CL_RE",
707                                         "META_P_CL_PT_RE",
708                                         "META_V_CL",
709                                         "META_V_CL_PT",
710                                         "META_V_CL_RE",
711                                         "META_V_CL_PT_RE",
712                                         "VMIS_CINE_LINE",
713                                         "VISC_TAHERI",
714                                         "CHABOCHE",
715                                         "VISCOCHAB",
716                                         "VISC_CIN1_CHAB",
717                                         "VISC_CIN2_CHAB",
718                                         "POLY_CFC",
719                                         "LMARC",
720                                         "ROUSSELIER",
721                                         "ROUSS_PR",
722                                         "ROUSS_VISC",
723                                         "VMIS_POU_LINE",
724                                         "VMIS_POU_FLEJOU",
725                                         "COULOMB",
726                                         "ARME",
727                                         "ASSE_CORN",
728                                         "NORTON_HOFF",
729                                         "LEMAITRE",
730                                         "ZIRC_CYRA2",
731                                         "VISC_IRRA_LOG",
732                                         "ZIRC_EPRI",
733                                         "ASSE_COMBU",
734                                         "VENDOCHAB",
735                                         "NADAI_B",
736                                         "DIS_CONTACT",
737                                         "DIS_CHOC",
738                                         "DIS_GOUJ2E_PLAS",
739                                         "DIS_GOUJ2E_ELAS",
740                                         "GRILLE_ISOT_LINE",
741                                         "GRILLE_CINE_LINE",
742                                         "GRILLE_PINTO_MEN",
743                                         "PINTO_MENEGOTTO",
744                                         "CJS",
745                                         "CAM_CLAY",
746                                         "BARCELONE",
747                                         "LAIGLE",
748                                         "DRUCKER_PRAGER",
749                                         "OHNO",
750                                         "GRANGER_FP",
751                                         "GRANGER_FP_INDT",
752                                         "GRANGER_FP_V",
753                                         "BAZANT_FD",
754                                         "BETON_UMLV_FP",
755                                         "BETON_DOUBLE_DP",
756                                         "KIT_HM",
757                                         "KIT_HHM",
758                                         "KIT_THH",
759                                         "KIT_THV",
760                                         "KIT_THM",
761                                         "KIT_THHM",
762                                         "VMIS_ASYM_LINE",
763                                         "ELAS_THM",
764                                         "SURF_ETAT_NSAT",
765                                         "SURF_ETAT_SATU",
766                                         "CAM_CLAY_THM",
767                                         "KIT_DDI",
768                                         "GLRC",
769                                         "SANS",
770                                         "CORR_ACIER",
771                                         "MONOCRISTAL",
772                                         "POLYCRISTAL",
773                                      ) ),
774           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
775           SANS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
776           CORR_ACIER      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),        
777           VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
778           VISC_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
779           VMIS_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
780           VISC_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
781           VMIS_ECMI_TRAC  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
782           VMIS_ECMI_LINE  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
783           LABORD_1D       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
784           ENDO_FRAGILE    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
785           ENDO_ISOT_BETON =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
786           ENDO_ORTH_BETON =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
787           MAZARS          =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
788           JOINT_BA        =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
789           RUPT_FRAG       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
790           BARENBLATT      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
791           META_P_IL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
792           META_P_IL_PT       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
793           META_P_IL_RE       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
794           META_P_IL_PT_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
795           META_V_IL          =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
796           META_V_IL_PT       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
797           META_V_IL_RE       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
798           META_V_IL_PT_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
799           META_P_INL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
800           META_P_INL_PT      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
801           META_P_INL_RE      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
802           META_P_INL_PT_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
803           META_V_INL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
804           META_V_INL_PT      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
805           META_V_INL_RE      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
806           META_V_INL_PT_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
807           META_P_CL          =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
808           META_P_CL_PT       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
809           META_P_CL_RE       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
810           META_P_CL_PT_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
811           META_V_CL          =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
812           META_V_CL_PT       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
813           META_V_CL_RE       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
814           META_V_CL_PT_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
815           VMIS_CINE_LINE  =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
816           CHABOCHE        =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
817           VISCOCHAB       =SIMP(statut='c',typ='I',defaut=28,into=(28,)),
818           VISC_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
819           VISC_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
820           POLY_CFC        =SIMP(statut='c',typ='I',defaut=1688,into=(1688,)),
821           LMARC           =SIMP(statut='c',typ='I',defaut=20,into=(20,)),
822           VISC_TAHERI     =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
823           ROUSSELIER      =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
824           ROUSS_PR        =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
825           ROUSS_VISC      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
826           VMIS_POU_LINE   =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
827           VMIS_POU_FLEJOU =SIMP(statut='c',typ='I',defaut=9 ,into=(9,)),
828           COULOMB         =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
829           ASSE_CORN       =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
830           ARME            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
831           NORTON_HOFF     =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
832           LEMAITRE        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
833           ZIRC_CYRA2      =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
834           ZIRC_EPRI       =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
835           VISC_IRRA_LOG   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
836           ASSE_COMBU      =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
837           NADAI_B         =SIMP(statut='c',typ='I',defaut=34,into=(34,)),
838           VENDOCHAB       =SIMP(statut='c',typ='I',defaut=10,into=(10,)),
839           GRILLE_ISOT_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
840           GRILLE_CINE_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
841           GRILLE_PINTO_MEN=SIMP(statut='c',typ='I',defaut=16,into=(16,)),
842           DIS_CONTACT     =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
843           DIS_CHOC        =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
844           DIS_GOUJ2E_PLAS =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
845           DIS_GOUJ2E_ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
846           PINTO_MENEGOTTO =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
847           CJS             =SIMP(statut='c',typ='I',defaut=16,into=(16,)),
848           CAM_CLAY        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
849           BARCELONE       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
850           LAIGLE          =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
851           DRUCKER_PRAGER  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
852           OHNO            =SIMP(statut='c',typ='I',defaut=32,into=(32,)),
853           GRANGER_FP      =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
854           GRANGER_FP_INDT =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
855           GRANGER_FP_V    =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
856           BAZANT_FD       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
857           BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
858           KIT_HM          =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
859           KIT_HHM         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
860           KIT_THH         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
861           KIT_THV         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
862           KIT_THM         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
863           KIT_THHM        =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
864           VMIS_ASYM_LINE  =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
865           BETON_UMLV_FP   =SIMP(statut='c',typ='I',defaut=21,into=(21,)),
866           GLRC            =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
867
868            b_monox     = BLOC(condition = "RELATION == 'MONOCRISTAL' ",
869                                  fr="SD issue de DEFI_COMPOR",
870                    COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
871 #          
872            b_polyx     = BLOC(condition = "RELATION == 'POLYCRISTAL' ",
873                                  fr="SD issue de DEFI_COMPOR",
874                    COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
875 #          
876
877
878
879            RELATION_KIT    =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
880                                  into=(
881 # MECA
882                                        "ELAS",
883                                        "CJS",
884                                        "CAM_CLAY",
885                                        "BARCELONE",
886                                        "LAIGLE",
887                                        "DRUCKER_PRAGER",
888                                        "ELAS_THM",
889                                        "SURF_ETAT_NSAT",
890                                        "SURF_ETAT_SATU",
891                                        "CAM_CLAY_THM",
892                                        "MAZARS",
893                                        "ENDO_ISOT_BETON",
894 # THMC
895                                        "GAZ",
896                                        "LIQU_SATU",
897                                        "LIQU_SATU_GAT",
898                                        "LIQU_GAZ_ATM",
899                                        "LIQU_VAPE_GAZ",
900                                        "LIQU_AD_GAZ_VAPE",
901                                        "LIQU_VAPE",
902                                        "LIQU_NSAT_GAT",
903                                        "LIQU_GAZ",
904 # HYDR
905                                        "HYDR_UTIL",
906                                        "HYDR",
907                                        "HYDR_ENDO",
908 # MECA_META
909                                        "ACIER",
910                                        "ZIRC",
911 # MECA KIT_DDI
912                                        "VMIS_ISOT_TRAC",
913                                        "VMIS_ISOT_LINE",
914                                        "VMIS_ISOT_CINE",
915                                        "GRANGER_FP",
916                                        "GRANGER_FP_INDT",
917                                        "GRANGER_FP_V",
918                                        "BETON_UMLV_FP",
919                                        "ROUSS_PR",
920                                        "CHABOCHE",
921                                        "OHNO",
922                                        "NADAI_B",
923                                        "BETON_DOUBLE_DP",
924                                        ),),
925                             
926                                         
927            ELAS_THM        =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
928            SURF_ETAT_NSAT  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
929            SURF_ETAT_SATU  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
930            CAM_CLAY_THM    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
931            GAZ             =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
932            LIQU_SATU       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
933            LIQU_SATU_GAT   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
934            LIQU_GAZ_ATM    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
935            LIQU_VAPE_GAZ   =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
936            LIQU_AD_GAZ_VAPE=SIMP(statut='c',typ='I',defaut=3,into=(3,)),
937            LIQU_VAPE       =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
938            LIQU_NSAT_GAT   =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
939            LIQU_GAZ        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
940            HYDR_UTIL       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
941            HYDR            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
942            HYDR_ENDO       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
943            ACIER           =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
944            ZIRC            =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
945
946            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC","SIMO_MIEHE","GREEN_GR","GREEN",)),
947            ALGO_C_PLAN     =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
948            ALGO_1D         =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
949       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
950            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
951            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
952            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
953          ) ;
954 #& MODIF COMMUN  DATE 06/04/2004   AUTEUR DURAND C.DURAND 
955 #            CONFIGURATION MANAGEMENT OF EDF VERSION
956 # ======================================================================
957 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
958 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
959 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
960 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
961 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
962 #                                                                       
963 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
964 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
965 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
966 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
967 #                                                                       
968 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
969 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
970 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
971 # ======================================================================
972 # RESPONSABLE VABHHTS J.PELLET
973 # ce fichier contient la liste des "into" possibles pour le mot cle NOM_CHAM
974 # c'est a dire les noms de champs des SD RESULTAT (DATA de la routine RSCRSD)
975 def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
976                         "ACCE_ABSOLU",
977                         "ALPH0_ELGA_EPSP",
978                         "ALPHP_ELGA_ALPH0",
979                         "COMPORTEMENT",
980                         "COMPORTHER",
981                         "CRIT_ELNO_RUPT",
982                         "DCHA_ELGA_SIGM",
983                         "DCHA_ELNO_SIGM",
984                         "DCHA_NOEU_SIGM",
985                         "DEDE_ELNO_DLDE",
986                         "DEDE_NOEU_DLDE",
987                         "DEGE_ELNO_DEPL",
988                         "DEGE_NOEU_DEPL",
989                         "DEPL",
990                         "DEPL_ABSOLU",
991                         "DESI_ELNO_DLSI",
992                         "DESI_NOEU_DLSI",
993                         "DETE_ELNO_DLTE",
994                         "DETE_NOEU_DLTE",
995                         "DURT_ELGA_META",
996                         "DURT_ELNO_META",
997                         "DURT_NOEU_META",
998                         "ECIN_ELEM_DEPL",
999                         "EFGE_ELNO_CART",
1000                         "EFGE_ELNO_DEPL",
1001                         "EFGE_NOEU_CART",
1002                         "EFGE_NOEU_DEPL",
1003                         "ENDO_ELGA",
1004                         "ENDO_ELNO_ELGA",
1005                         "ENDO_ELNO_SIGA",
1006                         "ENDO_ELNO_SINO",
1007                         "ENDO_NOEU_SINO",
1008                         "ENEL_ELGA",
1009                         "ENEL_ELNO_ELGA",
1010                         "ENEL_NOEU_ELGA",
1011                         "EPEQ_ELNO_TUYO",
1012                         "EPGR_ELGA",
1013                         "EPGR_ELNO",
1014                         "EPME_ELGA_DEPL",
1015                         "EPME_ELNO_DEPL",
1016                         "EPMG_ELGA_DEPL",
1017                         "EPMG_ELNO_DEPL",
1018                         "EPMG_NOEU_DEPL",
1019                         "EPOT_ELEM_DEPL",
1020                         "EPSA_ELNO",
1021                         "EPSA_NOEU",
1022                         "EPSG_ELGA_DEPL",
1023                         "EPSG_ELNO_DEPL",
1024                         "EPSG_NOEU_DEPL",
1025                         "EPSI_ELGA_DEPL",
1026                         "EPSI_ELNO_DEPL",
1027                         "EPSI_ELNO_TUYO",
1028                         "EPSI_NOEU_DEPL",
1029                         "EPSP_ELGA",
1030                         "EPSP_ELNO",
1031                         "EPSP_ELNO_ZAC",
1032                         "EPSP_NOEU",
1033                         "EPSP_NOEU_ZAC",
1034                         "EQUI_ELGA_EPME",
1035                         "EQUI_ELGA_EPSI",
1036                         "EQUI_ELGA_SIGM",
1037                         "EQUI_ELNO_EPME",
1038                         "EQUI_ELNO_EPSI",
1039                         "EQUI_ELNO_SIGM",
1040                         "EQUI_NOEU_EPME",
1041                         "EQUI_NOEU_EPSI",
1042                         "EQUI_NOEU_SIGM",
1043                         "ERRE_ELEM_NOZ1",
1044                         "ERRE_ELEM_NOZ2",
1045                         "ERRE_ELGA_NORE",
1046                         "ERRE_ELNO_ELGA",
1047                         "ERRE_NOEU_ELGA",
1048                         "ERTH_ELEM_TEMP",
1049                         "ERTH_ELNO_ELEM",
1050                         "ETOT_ELEM",
1051                         "ETOT_ELGA",
1052                         "ETOT_ELNO_ELGA",
1053                         "FLUX_ELGA_TEMP",
1054                         "FLUX_ELNO_TEMP",
1055                         "FLUX_NOEU_TEMP",
1056                         "FORC_NODA",
1057                         "FSUR_2D",
1058                         "FSUR_3D",
1059                         "FVOL_2D",
1060                         "FVOL_3D",
1061                         "GRAD_NOEU_THETA",
1062                         "HYDR_ELGA",
1063                         "HYDR_ELNO_ELGA",
1064                         "HYDR_NOEU_ELGA",
1065                         "INDI_LOCA_ELGA",
1066                         "INTE_ELNO_ACTI",
1067                         "INTE_ELNO_REAC",
1068                         "INTE_NOEU_ACTI",
1069                         "INTE_NOEU_REAC",
1070                         "IRRA",
1071                         "LANL_ELGA",
1072                         "META_ELGA_TEMP",
1073                         "META_ELNO_TEMP",
1074                         "META_NOEU_TEMP",
1075                         "MODE_FLAMB",
1076                         "PMPB_ELGA_SIEF",
1077                         "PMPB_ELNO_SIEF",
1078                         "PMPB_NOEU_SIEF",
1079                         "PRES",
1080                         "PRES_DBEL_DEPL",
1081                         "PRES_ELNO_DBEL",
1082                         "PRES_ELNO_IMAG",
1083                         "PRES_ELNO_REEL",
1084                         "PRES_NOEU_DBEL",
1085                         "PRES_NOEU_IMAG",
1086                         "PRES_NOEU_REEL",
1087                         "RADI_ELGA_SIGM",
1088                         "RADI_ELNO_SIGM",
1089                         "RADI_NOEU_SIGM",
1090                         "REAC_NODA",
1091                         "SIEF_ELGA",
1092                         "SIEF_ELGA_DEPL",
1093                         "SIEF_ELNO",
1094                         "SIEF_ELNO_ELGA",
1095                         "SIEF_NOEU",
1096                         "SIEF_NOEU_ELGA",
1097                         "SIEQ_ELNO_TUYO",
1098                         "SIGM_ELNO_CART",
1099                         "SIGM_ELNO_COQU",
1100                         "SIGM_ELNO_DEPL",
1101                         "SIGM_ELNO_SIEF",
1102                         "SIGM_ELNO_TUYO",
1103                         "SIGM_ELNO_ZAC",
1104                         "SIGM_NOEU_CART",
1105                         "SIGM_NOEU_COQU",
1106                         "SIGM_NOEU_DEPL",
1107                         "SIGM_NOEU_SIEF",
1108                         "SIGM_NOEU_ZAC",
1109                         "SIGM_NOZ1_ELGA",
1110                         "SIGM_NOZ2_ELGA",
1111                         "SIPO_ELNO_DEPL",
1112                         "SIPO_ELNO_SIEF",
1113                         "SIPO_NOEU_DEPL",
1114                         "SIPO_NOEU_SIEF",
1115                         "SIRE_ELNO_DEPL",
1116                         "SIRE_NOEU_DEPL",
1117                         "SOUR_ELGA_ELEC",
1118                         "TEMP",
1119                         "THETA",
1120                         "VALE_CONT",
1121                         "VALE_NCOU_MAXI",
1122                         "VARI_ELGA",
1123                         "VARI_ELGA_ZAC",
1124                         "VARI_ELNO",
1125                         "VARI_ELNO_COQU",
1126                         "VARI_ELNO_ELGA",
1127                         "VARI_ELNO_TUYO",
1128                         "VARI_NOEU",
1129                         "VARI_NOEU_ELGA",
1130                         "VARI_NON_LOCAL",
1131                         "VITE",
1132                         "VITE_ABSOLU",
1133                         "VITE_VENT",
1134                         )
1135 #& MODIF COMMUN  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
1136 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1137 # ======================================================================
1138 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
1139 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
1140 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
1141 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
1142 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
1143 #                                                                       
1144 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
1145 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
1146 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
1147 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
1148 #                                                                       
1149 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
1150 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
1151 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
1152 # ======================================================================
1153 # ce fichier contient la liste des PARA possibles pour les fonctions et les nappes
1154 def C_PARA_FONCTION() : return  ( #COMMUN#
1155                    "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC",
1156                    "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP",
1157                    "AMOR","ABSC","SIGM","HYDR","SECH","PORO","SAT",
1158                    "PGAZ","PCAP","VITE","ENDO","NORM","EPAIS",)
1159 #& MODIF COMMUN  DATE 03/11/2004   AUTEUR CIBHHPD L.SALMONA 
1160 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1161 # ======================================================================
1162 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
1163 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
1164 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
1165 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
1166 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
1167 #                                                                       
1168 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
1169 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
1170 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
1171 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
1172 #                                                                       
1173 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
1174 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
1175 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
1176 # ======================================================================
1177 #
1178 # ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM
1179 # c'est a dire les noms des types de champ des SD RESULTAT (DATA de la routine RSCRSD)
1180 def C_TYPE_CHAM_INTO() : return  ("ACCE",    #COMMUN#
1181              "CART_CORR_R",
1182                              "NOEU_DBEL_R",  "ELEM_DBEL_R",  "ELNO_DBEL_R",  "ELGA_DBEL_R",
1183                              "NOEU_DEPL_C",  "ELEM_DEPL_C",  "ELNO_DEPL_C",  "ELGA_DEPL_C",
1184              "CART_DEPL_F",  "NOEU_DEPL_F",  "ELEM_DEPL_F",  "ELNO_DEPL_F",  "ELGA_DEPL_F",
1185              "CART_DEPL_R",  "NOEU_DEPL_R",  "ELEM_DEPL_R",  "ELNO_DEPL_R",  "ELGA_DEPL_R",
1186                              "NOEU_DURT_R",  "ELEM_DURT_R",  "ELNO_DURT_R",  "ELGA_DURT_R",
1187              "CART_ENER_R",  "NOEU_ENER_R",  "ELEM_ENER_R",  "ELNO_ENER_R",  "ELGA_ENER_R",
1188                              "NOEU_EPSI_R",  "ELEM_EPSI_R",  "ELNO_EPSI_R",  "ELGA_EPSI_R",
1189                              "NOEU_ERREUR",  "ELEM_ERREUR",  "ELNO_ERREUR",  "ELGA_ERREUR",
1190                              "NOEU_FLUX_R",  "ELEM_FLUX_R",  "ELNO_FLUX_R",  "ELGA_FLUX_R",
1191              "CART_GEOM_R",  "NOEU_GEOM_R",  "ELEM_GEOM_R",  "ELNO_GEOM_R",  "ELGA_GEOM_R",
1192                              "NOEU_G_DEPL_R","ELEM_G_DEPL_R","ELNO_G_DEPL_R","ELGA_G_DEPL_R",
1193                              "NOEU_HYDR_R",  "ELEM_HYDR_R",  "ELNO_HYDR_R",  "ELGA_HYDR_R",
1194                              "NOEU_INST_R",  "ELEM_INST_R",  "ELNO_INST_R",  "ELGA_INST_R",
1195                              "NOEU_INTE_R",  "ELEM_INTE_R",  "ELNO_INTE_R",  "ELGA_INTE_R",
1196              "CART_IRRA_R",  "NOEU_IRRA_R",  "ELEM_IRRA_R",  "ELNO_IRRA_R",  "ELGA_IRRA_R",
1197                              "NOEU_META_R",  "ELEM_META_R",  "ELNO_META_R",  "ELGA_META_R",
1198                              "NOEU_NEUT_F",  "ELEM_NEUT_F",  "ELNO_NEUT_F",  "ELGA_NEUT_F",
1199              "CART_NEUT_R",  "NOEU_NEUT_R",  "ELEM_NEUT_R",  "ELNO_NEUT_R",  "ELGA_NEUT_R",
1200                              "NOEU_PRES_R",  "ELEM_PRES_R",  "ELNO_PRES_R",  "ELGA_PRES_R",
1201              "CART_SIEF_R",  "NOEU_SIEF_R",  "ELEM_SIEF_R",  "ELNO_SIEF_R",  "ELGA_SIEF_R",
1202                              "NOEU_SOUR_R",  "ELEM_SOUR_R",  "ELNO_SOUR_R",  "ELGA_SOUR_R",
1203              "CART_TEMP_F",  "NOEU_TEMP_F",  "ELEM_SPMA_R",  "ELNO_TEMP_F",  "ELGA_TEMP_F",
1204              "CART_TEMP_R",  "NOEU_TEMP_R",  "ELEM_TEMP_F",  "ELNO_TEMP_R",  "ELGA_TEMP_R",
1205              "CART_VAR2_R",  "NOEU_VAR2_R",  "ELEM_TEMP_R",  "ELNO_VARI_R",  "ELGA_VARI_R",
1206                              "NOEU_VNOR_C",  "ELEM_VARI_R",  "ELNO_VNOR_C",  "ELGA_VNOR_C",
1207                                              "ELEM_VNOR_C",
1208                                  )
1209 #& MODIF COMMANDE  DATE 08/11/2004   AUTEUR LEBOUVIE F.LEBOUVIER 
1210 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1211 # ======================================================================
1212 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1213 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1214 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1215 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1216 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1217 #
1218 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1219 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1220 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1221 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1222 #
1223 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1224 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1225 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1226 # ======================================================================
1227 # RESPONSABLE JMBHH01 J.M.PROIX
1228 AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
1229                     fr="Affectation de caractéristiques à des éléments de structure",
1230                     reentrant='n',
1231             UIinfo={"groupes":("Modélisation",)},
1232          regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF',
1233                              'ASSE_GRIL','GRILLE','AFFE_SECT','AFFE_FIBRE'),),
1234          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1235          INFO            =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
1236          VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ),
1237
1238 #============================================================================
1239          POUTRE          =FACT(statut='f',max='**',
1240            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1241            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1242            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1243            CARA_SECT       =SIMP(statut='f',typ=(cara_pout) ),
1244            SECTION         =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ),
1245            PREC_AIRE       =SIMP(statut='f',typ='R',defaut=0.01),
1246            PREC_INERTIE    =SIMP(statut='f',typ='R',defaut=0.1),
1247            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
1248              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
1249              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1250                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=4 ,max=15,
1251                                  fr="A,IY,IZ,JX sont des paramètres obligatoires",
1252                                  into=("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT",
1253                                        "JG","IYR2","IZR2","AI") ),
1254                VALE            =SIMP(statut='o',typ='R',min=4 ,max=15),
1255              ),
1256              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1257                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=8 ,max=30,
1258                                  fr="A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires",
1259                                  into=("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1",
1260                                        "RZ1","RT1","JG1","IYR21","IZR21","AI1",
1261                                        "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2",
1262                                        "RZ2","RT2","JG2","IYR22","IZR22","AI2") ),
1263                VALE            =SIMP(statut='o',typ='R',min=8 ,max=30),
1264              ),
1265            ),
1266            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
1267              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut="CONSTANT"),
1268              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1269                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=4,
1270                                  into=("H","EP", "HY","HZ","EPY","EPZ") ),
1271                VALE            =SIMP(statut='o',typ='R',min=1 ,max=4),
1272              ),
1273              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1274                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=8,
1275                                      into=("H1","HZ1","HY1","EP1","EPY1","EPZ1",
1276                                            "H2","HZ2","HY2","EP2","EPY2","EPZ2") ),
1277                VALE            =SIMP(statut='o',typ='R',min=2 ,max=8),
1278              ),
1279              b_affine =BLOC( condition = "VARI_SECT=='AFFINE'",
1280                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=3 ,max=6,
1281                                      into=("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ),
1282                VALE            =SIMP(statut='o',typ='R',min=3 ,max=6),
1283              ),
1284            ),
1285            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
1286              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
1287              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1288                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=2,
1289                                  fr="R est un paramètre obligatoire",
1290                                      into=("R","EP") ),
1291                VALE            =SIMP(statut='o',typ='R',min=1 ,max=2),
1292              ),
1293              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1294                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=4,
1295                                  fr="R1, R2 sont des paramètres obligatoires",
1296                                      into=("R1","R2","EP1","EP2") ),
1297                VALE            =SIMP(statut='o',typ='R',min=2 ,max=4),
1298              ),
1299              MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
1300              FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1301              TUYAU_NSEC      =SIMP(statut='f',typ='I',val_max=32,defaut=16),
1302              TUYAU_NCOU      =SIMP(statut='f',typ='I',val_max=10,defaut=3),
1303            ),
1304          ),
1305
1306 #============================================================================
1307          BARRE           =FACT(statut='f',max='**',
1308            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1309            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1310            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1311            SECTION         =SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ),
1312            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
1313              CARA            =SIMP(statut='o',typ='TXM',into=("A",) ),
1314              VALE            =SIMP(statut='o',typ='R',min=1,max=1 ),
1315            ),
1316            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
1317              CARA            =SIMP(statut='o',typ='TXM',into=("H","EP",
1318                                                               "HZ","HY","EPY","EPZ"),
1319                                                         validators=NoRepeat(),min=1,max=4 ),
1320              VALE            =SIMP(statut='o',typ='R',min=1,max=4 ),
1321            ),
1322            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
1323              CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ),
1324              VALE            =SIMP(statut='o',typ='R',min=1,max=2 ),
1325            ),
1326            FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1327          ),
1328
1329 #============================================================================
1330          COQUE           =FACT(statut='f',max='**',
1331            regles=(UN_PARMI('MAILLE','GROUP_MA' ),
1332                    PRESENT_PRESENT( 'EXCENTREMENT','INER_ROTA' ),),
1333            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1334            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1335            EPAIS           =SIMP(statut='o',typ='R' ),
1336            ANGL_REP        =SIMP(statut='f',typ='R',min=2,max=2),
1337            A_CIS           =SIMP(statut='c',typ='R',defaut= 0.8333333E0),
1338            COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-5 ),
1339            COQUE_NCOU      =SIMP(statut='f',typ='I',defaut= 1 ),
1340            EXCENTREMENT    =SIMP(statut='f',typ='R' ),
1341            INER_ROTA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1342            MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
1343          ),
1344
1345 #============================================================================
1346          CABLE           =FACT(statut='f',max='**',
1347            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1348            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1349            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1350            N_INIT          =SIMP(statut='f',typ='R',defaut= 5000. ),
1351            SECTION         =SIMP(statut='f',typ='R' ),
1352            FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1353          ),
1354
1355 #============================================================================
1356          DISCRET         =FACT(statut='f',max='**',
1357            regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1358            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1359            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1360            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1361            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1362            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1363            AMOR_HYST       =SIMP(statut='f',typ='R' ),
1364            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
1365           fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
1366                                  into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
1367                                        "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
1368                                        "M_T_D_N","M_TR_D_N","M_T_N",
1369                                        "M_T_L",  "M_TR_N",  "M_TR_L",
1370                                        "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
1371                                        "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
1372
1373 # affection des caractéristiques de RIGIDITE/AMORTISSEMENT
1374               b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
1375                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1376               b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
1377                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1378               b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
1379                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1380               b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
1381                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1382               b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
1383                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1384               b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
1385                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1386               b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
1387                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1388               b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
1389                                VALE =SIMP(statut='o',typ='R',min=78,max=78),),
1390
1391 # affection des caractéristiques de MASSE
1392               b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
1393           fr="NOEUD: 1 valeur de masse",
1394                                VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),),
1395               b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
1396           fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentricité",
1397                                VALE =SIMP(statut='o',typ='R',min=10,max=10),),
1398               b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
1399           fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
1400                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1401               b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
1402           fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
1403                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1404               b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
1405           fr="NOEUD: 21 valeurs de masse (triangulaire supérieure par colonne)",
1406                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1407               b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
1408           fr="SEGMENT: 78 valeurs de masse (triangulaire supérieure par colonne)",
1409                                VALE =SIMP(statut='o',typ='R',min=78,max=78),),
1410          ),
1411
1412 #============================================================================
1413          DISCRET_2D      =FACT(statut='f',max='**',
1414            regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1415            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1416            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1417            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1418            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1419            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1420            AMOR_HYST       =SIMP(statut='f',typ='R' ),
1421            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
1422           fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
1423                                  into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
1424                                        "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
1425                                        "M_T_D_N","M_T_N",  "M_TR_D_N",
1426                                        "M_T_L",  "M_TR_N",  "M_TR_L",
1427                                        "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
1428                                        "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
1429
1430 # affection des caractéristiques de RIGIDITE/AMORTISSEMENT
1431               b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
1432                                VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),),
1433               b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
1434                                VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),),
1435               b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
1436                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1437               b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
1438                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1439               b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
1440                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1441               b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
1442                                VALE =SIMP(statut='o',typ='R',min=10,max=10),),
1443               b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
1444                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6),),
1445               b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
1446                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1447
1448 # affection des caractéristiques de MASSE
1449               b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
1450           fr="NOEUD: 1 valeur de masse",
1451                                VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),),
1452               b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
1453           fr="NOEUD: 1 valeur de masse(m), 1 valeur d'inertie(Izz), 2 composantes du vecteur d'excentricité(ex,ey) ",
1454                                VALE =SIMP(statut='o',typ='R',min=4 ,max=4 ),),
1455               b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
1456           fr="NOEUD: 3 valeurs de masse (triangulaire supérieure par colonne)",
1457                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1458               b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
1459           fr="SEGMENT: 10 valeurs de masse (triangulaire supérieure par colonne)",
1460                                VALE =SIMP(statut='o',typ='R',min=10,max=10),),
1461               b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
1462           fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
1463                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1464               b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
1465           fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
1466                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1467          ),
1468
1469 #============================================================================
1470          ORIENTATION     =FACT(statut='f',max='**',
1471            regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),),
1472            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1473            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1474            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1475            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1476            CARA            =SIMP(statut='o',typ='TXM',
1477                                  into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ),
1478            VALE            =SIMP(statut='o',typ='R',max='**'),
1479            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-4 ),
1480            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
1481          ),
1482
1483 #============================================================================
1484          DEFI_ARC        =FACT(statut='f',max='**',
1485            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1486                    UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE',
1487                             'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'),
1488                    PRESENT_PRESENT('ORIE_ARC','RAYON'),
1489                    EXCLUS('COEF_FLEX','COEF_FLEX_XY'),
1490                    EXCLUS('COEF_FLEX','COEF_FLEX_XZ'),
1491                    EXCLUS('INDI_SIGM','INDI_SIGM_XY'),
1492                    EXCLUS('INDI_SIGM','INDI_SIGM_XZ'),
1493                    PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'),
1494                    PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),),
1495            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1496            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1497            ORIE_ARC        =SIMP(statut='f',typ='R'),
1498            CENTRE          =SIMP(statut='f',typ='R',max='**'),
1499            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
1500            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
1501            POIN_TANG       =SIMP(statut='f',typ='R',max='**'),
1502            NOEUD_POIN_TANG =SIMP(statut='f',typ=no),
1503            GROUP_NO_POIN_TG=SIMP(statut='f',typ=grno),
1504            RAYON           =SIMP(statut='f',typ='R'),
1505            COEF_FLEX       =SIMP(statut='f',typ='R'),
1506            INDI_SIGM       =SIMP(statut='f',typ='R'),
1507            COEF_FLEX_XY    =SIMP(statut='f',typ='R'),
1508            INDI_SIGM_XY    =SIMP(statut='f',typ='R'),
1509            COEF_FLEX_XZ    =SIMP(statut='f',typ='R'),
1510            INDI_SIGM_XZ    =SIMP(statut='f',typ='R'),
1511            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
1512            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
1513          ),
1514
1515 #============================================================================
1516          MASSIF          =FACT(statut='f',max='**',
1517            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1518                    UN_PARMI('ANGL_REP','ANGL_AXE'),
1519                    EXCLUS('ANGL_REP','ANGL_AXE'),
1520                    EXCLUS('ANGL_REP','ORIG_AXE'),
1521                    PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ),
1522            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1523            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1524            ANGL_REP        =SIMP(statut='f',typ='R',max=3),
1525            ANGL_AXE        =SIMP(statut='f',typ='R',max=2),
1526            ORIG_AXE        =SIMP(statut='f',typ='R',max=3),
1527          ),
1528
1529 #============================================================================
1530          POUTRE_FLUI     =FACT(statut='f',max='**',
1531            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1532            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1533            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1534            B_T             =SIMP(statut='o',typ='R'),
1535            B_N             =SIMP(statut='o',typ='R'),
1536            B_TN            =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
1537            A_FLUI          =SIMP(statut='o',typ='R'),
1538            A_CELL          =SIMP(statut='o',typ='R'),
1539            COEF_ECHELLE    =SIMP(statut='o',typ='R'),
1540          ),
1541
1542 #============================================================================
1543          GRILLE          =FACT(statut='f',max='**',
1544            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1545                    EXCLUS('ANGL_REP','ORIG_AXE'),
1546                    ENSEMBLE('ORIG_AXE','AXE')),
1547            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1548            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1549            SECTION         =SIMP(statut='o',typ='R'),
1550            ANGL_REP        =SIMP(statut='f',typ='R',max=2),
1551            EXCENTREMENT    =SIMP(statut='f',typ='R'),
1552            ORIG_AXE        =SIMP(statut='f',typ='R',max='**'),
1553            AXE             =SIMP(statut='f',typ='R',max='**'),
1554            COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-10 ),
1555            GRILLE_NCOU     =SIMP(statut='f',typ='I',defaut= 1,),
1556          ),
1557
1558 #============================================================================
1559          RIGI_PARASOL    =FACT(statut='f',max='**',
1560            regles=(UN_PARMI('COEF_GROUP','FONC_GROUP'),
1561                    UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
1562            GROUP_MA        =SIMP(statut='o',typ=ma,validators=NoRepeat(),max='**'),
1563            GROUP_MA_POI1   =SIMP(statut='f',typ=ma),
1564            FONC_GROUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1565            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
1566            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1567            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,
1568                                  into=("K_TR_D_N","A_TR_D_N",
1569                                        "K_T_D_N", "A_T_D_N") ),
1570            VALE            =SIMP(statut='o',typ='R',max='**'),
1571            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
1572            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
1573            COOR_CENTRE     =SIMP(statut='f',typ='R',max='**'),
1574          ),
1575          
1576 #============================================================================
1577          RIGI_MISS_3D    =FACT(statut='f',max='**',
1578            GROUP_MA_POI1   =SIMP(statut='o',typ=ma,max=1),
1579            GROUP_MA_SEG2   =SIMP(statut='f',typ=ma,max=1),
1580            FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
1581            UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
1582          ),
1583          
1584 #============================================================================
1585          ASSE_GRIL       =FACT(statut='f',max='**',
1586            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1587            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1588            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1589            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
1590                                  into=("K_TR_D_N","K_TR_D_L_T","K_TR_D_L_N",) ),
1591            VALE            =SIMP(statut='o',typ='R',max='**'),
1592            PAS_T           =SIMP(statut='o',typ='R'),
1593            PAS_N           =SIMP(statut='o',typ='R'),
1594            ANGL_REP        =SIMP(statut='o',typ='R',max='**'),
1595            COEF_ECHELLE    =SIMP(statut='o',typ='R'),
1596          ),
1597
1598
1599 #============================================================================
1600          AFFE_SECT     =FACT(statut='f',max='**',
1601               regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
1602                       AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),
1603                       PRESENT_ABSENT('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),),
1604
1605               NOM             =SIMP(statut='f',typ='TXM'),
1606
1607               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1608               MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1609
1610               TOUT_SECT         =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1611               GROUP_MA_SECT     =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1612               MAILLE_SECT       =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1613
1614               MAILLAGE_SECT     =SIMP(statut='o',typ=maillage_sdaster),
1615               COOR_AXE_POUTRE    =SIMP(statut='o',typ='R',min=2,max=2),
1616          ),
1617
1618
1619 #============================================================================
1620          AFFE_FIBRE     =FACT(statut='f',max='**',
1621               regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
1622
1623               NOM             =SIMP(statut='f',typ='TXM'),
1624
1625               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1626               MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1627
1628               CARA              =SIMP(statut='f',typ='TXM',defaut='SURFACE',into=('SURFACE','DIAMETRE',)),
1629               VALE              =SIMP(statut='o',typ='R',max='**'),
1630               COOR_AXE_POUTRE    =SIMP(statut='o',typ='R',min=2,max=2),
1631          ),
1632
1633
1634 ) ;
1635 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
1636 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1637 # ======================================================================
1638 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1639 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1640 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1641 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1642 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1643 #
1644 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1645 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1646 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1647 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1648 #
1649 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1650 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1651 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1652 # ======================================================================
1653 AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op=  68,sd_prod=char_acou,
1654                     fr="Affectation de charges et conditions aux limites acoustiques constantes",
1655                     reentrant='n',
1656             UIinfo={"groupes":("Modélisation",)},
1657          regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),),
1658          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1659          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1660          PRES_IMPO       =FACT(statut='f',max='**',
1661            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
1662            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1663            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1664            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1665            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1666            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1667            PRES            =SIMP(statut='o',typ='C' ),
1668          ),
1669          VITE_FACE       =FACT(statut='f',max='**',
1670              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
1671                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
1672            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1673            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1674            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1675            VNOR            =SIMP(statut='o',typ='C' ),
1676          ),
1677          IMPE_FACE       =FACT(statut='f',max='**',
1678              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
1679                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
1680            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1681            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1682            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1683            IMPE            =SIMP(statut='o',typ='C' ),
1684          ),
1685          LIAISON_UNIF    =FACT(statut='f',max='**',
1686            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),),
1687            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1688            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1689            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1690            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1691            DDL             =SIMP(statut='o',typ='TXM',max='**'),
1692          ),
1693 )  ;
1694 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
1695 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1696 # ======================================================================
1697 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1698 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1699 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1700 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1701 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1702 #
1703 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1704 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1705 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1706 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1707 #
1708 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1709 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1710 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1711 # ======================================================================
1712 # RESPONSABLE VABHHTS J.PELLET
1713 def affe_char_cine_prod(MECA_IMPO,THER_IMPO,ACOU_IMPO,**args):
1714   if MECA_IMPO != None  : return char_cine_meca
1715   if THER_IMPO != None  : return char_cine_ther
1716   if ACOU_IMPO != None  : return char_cine_acou
1717   raise AsException("type de concept resultat non prevu")
1718
1719 AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
1720                     ,fr="Affectation de conditions aux limites cinématiques pour traitement sans dualisation",
1721                      reentrant='n',
1722             UIinfo={"groupes":("Modélisation",)},
1723          regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO','ACOU_IMPO'),
1724                  EXCLUS('MECA_IMPO','THER_IMPO'),
1725                  EXCLUS('MECA_IMPO','ACOU_IMPO'),
1726                  EXCLUS('THER_IMPO','ACOU_IMPO'),),
1727          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1728          MECA_IMPO       =FACT(statut='f',max='**',
1729            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1730                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),),
1731            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1732            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1733            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1734            DX              =SIMP(statut='f',typ='R' ),
1735            DY              =SIMP(statut='f',typ='R' ),
1736            DZ              =SIMP(statut='f',typ='R' ),
1737            DRX             =SIMP(statut='f',typ='R' ),
1738            DRY             =SIMP(statut='f',typ='R' ),
1739            DRZ             =SIMP(statut='f',typ='R' ),
1740            GRX             =SIMP(statut='f',typ='R' ),
1741            PRES            =SIMP(statut='f',typ='R' ),
1742            TEMP            =SIMP(statut='f',typ='R' ),
1743            PHI             =SIMP(statut='f',typ='R' ),
1744          ),
1745          THER_IMPO       =FACT(statut='f',max='**',
1746            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1747                    AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP'),),
1748            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1749            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1750            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1751            TEMP_SUP        =SIMP(statut='f',typ='R' ),
1752            TEMP            =SIMP(statut='f',typ='R' ),
1753            TEMP_INF        =SIMP(statut='f',typ='R' ),
1754          ),
1755          ACOU_IMPO       =FACT(statut='f',max='**',
1756            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD' ),),
1757            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1758            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1759            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1760            PRES            =SIMP(statut='o',typ='C' ),
1761          ),
1762          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
1763 )  ;
1764 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
1765 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1766 # ======================================================================
1767 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1768 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1769 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1770 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1771 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1772 #
1773 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1774 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1775 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1776 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1777 #fon
1778 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1779 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1780 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1781 # ======================================================================
1782 def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args):
1783   if MECA_IMPO != None  : return char_cine_meca
1784   if THER_IMPO != None  : return char_cine_ther
1785   raise AsException("type de concept resultat non prevu")
1786
1787 AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_prod
1788                     ,fr="Affectation de conditions aux limites cinématiques pour traitement sans dualisation",
1789                      reentrant='n',
1790             UIinfo={"groupes":("Modélisation",)},
1791          regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO'),
1792                  EXCLUS('MECA_IMPO','THER_IMPO'),),
1793          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1794          MECA_IMPO       =FACT(statut='f',max='**',
1795            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1796                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),),
1797            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1798            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1799            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1800            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1801            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1802            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1803            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1804            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1805            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1806            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1807            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1808            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1809            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1810          ),
1811          THER_IMPO       =FACT(statut='f',max='**',
1812            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1813                    AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP' ),),
1814            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1815            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1816            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1817            TEMP_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1818            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1819            TEMP_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1820          ),
1821          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
1822 )  ;
1823 #& MODIF COMMANDE  DATE 08/11/2004   AUTEUR DURAND C.DURAND 
1824 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1825 # ======================================================================
1826 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1827 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1828 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1829 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1830 # (AT YOUR OPTION) ANY LATER VERSION.
1831 #
1832 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1833 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1834 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1835 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1836 #
1837 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1838 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1839 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1840 # ======================================================================
1841 # RESPONSABLE G8BHHXD X.DESROCHES
1842
1843 AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca
1844                     ,fr="Affectation de charges et conditions aux limites mécaniques constantes",
1845                      reentrant='n',
1846             UIinfo={"groupes":("Modélisation",)},
1847          regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','LIAISON_XFEM','FORCE_NODALE',
1848                              'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
1849                              'PRES_REP','FORCE_POUTRE','FORCE_COQUE','LIAISON_OBLIQUE',
1850                              'FORCE_ELEC','INTE_ELEC','PESANTEUR','ROTATION','IMPE_FACE',
1851                              'VITE_FACE','TEMP_CALCULEE','RELA_CINE_BP','EPSI_INIT','CONTACT',
1852                              'LIAISON_GROUP','LIAISON_UNIF','FLUX_THM_REP',
1853                              'LIAISON_SOLIDE','LIAISON_ELEM','ONDE_FLUI','PRES_CALCULEE',
1854                              'EPSA_CALCULEE','LIAISON_CHAMNO','VECT_ASSE','LIAISON_COQUE',
1855                              'LIAISON_MAIL','FORCE_TUYAU','SECH_CALCULEE','HYDR_CALCULEE',
1856                              'EFFE_FOND','EVOL_CHAR','ARLEQUIN','DDL_POUTRE','GRAPPE_FLUIDE'),
1857                  EXCLUS('PRES_CALCULEE','EVOL_CHAR'),),
1858          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1859          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1860          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
1861          TEMP_CALCULEE   =SIMP(statut='f',fr="Champ de température issu d'un autre calcul",
1862                                typ=(evol_ther,cham_no_temp_r,carte_temp_r,carte_temp_f ) ),
1863          HYDR_CALCULEE   =SIMP(statut='f',fr="Champ d hydratation issu d'un autre calcul",
1864                                typ=evol_ther ),
1865          SECH_CALCULEE   =SIMP(statut='f',fr="Champ de séchage issu d'un autre calcul",
1866                                typ=(evol_ther,cham_no_temp_r,carte_temp_r,carte_temp_f ) ),
1867          EPSA_CALCULEE   =SIMP(statut='f',fr="Champ de déformation anélastique issu d'un autre calcul",
1868                                typ=evol_noli ),
1869 #    A TERME PRES_CALCULEE N'EXISTERA PLUS
1870          EVOL_CHAR       =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul",
1871                                typ=evol_char ),
1872          PRES_CALCULEE   =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul",
1873                                typ=evol_char ),
1874
1875          PESANTEUR       =SIMP(statut='f',typ='R',fr="Champ de pesanteur",min=4,max=4),
1876          ROTATION        =SIMP(statut='f',typ='R',fr="Champ de rotation", min=4,max=4),
1877          b_rotation      =BLOC ( condition = "ROTATION != None",
1878            CENTRE          =SIMP(statut='f',typ='R',defaut=(0.,0.,0.),max=3),),
1879
1880          DDL_IMPO        =FACT(statut='f',max='**',
1881              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
1882                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
1883                                  'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
1884                                  'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
1885                                  'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
1886                                  'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON'),),
1887              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1888              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1889              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1890              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1891              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1892              LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)),
1893              DX              =SIMP(statut='f',typ='R' ),
1894              DY              =SIMP(statut='f',typ='R' ),
1895              DZ              =SIMP(statut='f',typ='R' ),
1896              DRX             =SIMP(statut='f',typ='R' ),
1897              DRY             =SIMP(statut='f',typ='R' ),
1898              DRZ             =SIMP(statut='f',typ='R' ),
1899              GRX             =SIMP(statut='f',typ='R' ),
1900              PRES            =SIMP(statut='f',typ='R' ),
1901              PHI             =SIMP(statut='f',typ='R' ),
1902              TEMP            =SIMP(statut='f',typ='R' ),
1903              PRE1            =SIMP(statut='f',typ='R' ),
1904              PRE2            =SIMP(statut='f',typ='R' ),
1905              UI2             =SIMP(statut='f',typ='R' ),
1906              UI3             =SIMP(statut='f',typ='R' ),
1907              UI4             =SIMP(statut='f',typ='R' ),
1908              UI5             =SIMP(statut='f',typ='R' ),
1909              UI6             =SIMP(statut='f',typ='R' ),
1910              UO2             =SIMP(statut='f',typ='R' ),
1911              UO3             =SIMP(statut='f',typ='R' ),
1912              UO4             =SIMP(statut='f',typ='R' ),
1913              UO5             =SIMP(statut='f',typ='R' ),
1914              UO6             =SIMP(statut='f',typ='R' ),
1915              VI2             =SIMP(statut='f',typ='R' ),
1916              VI3             =SIMP(statut='f',typ='R' ),
1917              VI4             =SIMP(statut='f',typ='R' ),
1918              VI5             =SIMP(statut='f',typ='R' ),
1919              VI6             =SIMP(statut='f',typ='R' ),
1920              VO2             =SIMP(statut='f',typ='R' ),
1921              VO3             =SIMP(statut='f',typ='R' ),
1922              VO4             =SIMP(statut='f',typ='R' ),
1923              VO5             =SIMP(statut='f',typ='R' ),
1924              VO6             =SIMP(statut='f',typ='R' ),
1925              WI2             =SIMP(statut='f',typ='R' ),
1926              WI3             =SIMP(statut='f',typ='R' ),
1927              WI4             =SIMP(statut='f',typ='R' ),
1928              WI5             =SIMP(statut='f',typ='R' ),
1929              WI6             =SIMP(statut='f',typ='R' ),
1930              WO2             =SIMP(statut='f',typ='R' ),
1931              WO3             =SIMP(statut='f',typ='R' ),
1932              WO4             =SIMP(statut='f',typ='R' ),
1933              WO5             =SIMP(statut='f',typ='R' ),
1934              WO6             =SIMP(statut='f',typ='R' ),
1935              WO              =SIMP(statut='f',typ='R' ),
1936              WI1             =SIMP(statut='f',typ='R' ),
1937              WO1             =SIMP(statut='f',typ='R' ),
1938              GONF            =SIMP(statut='f',typ='R' ),
1939            ),
1940
1941
1942
1943          DDL_POUTRE    =FACT(statut='f',max='**',
1944              regles=(AU_MOINS_UN('GROUP_NO','NOEUD'),
1945                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),
1946                      UN_PARMI('VECT_Y','ANGL_VRIL'),),
1947              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1948              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1949              DX              =SIMP(statut='f',typ='R' ),
1950              DY              =SIMP(statut='f',typ='R' ),
1951              DZ              =SIMP(statut='f',typ='R' ),
1952              DRX             =SIMP(statut='f',typ='R' ),
1953              DRY             =SIMP(statut='f',typ='R' ),
1954              DRZ             =SIMP(statut='f',typ='R' ),
1955 #  définition du repère local
1956              VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
1957              ANGL_VRIL       =SIMP(statut='f',typ='R',),
1958 #  restriction sur les mailles servant à définir le repère local
1959              GROUP_MA        =SIMP(statut='f',typ=grma,),
1960              MAILLE          =SIMP(statut='f',typ=ma,),
1961                             ),
1962
1963
1964
1965            FACE_IMPO       =FACT(statut='f',max='**',
1966              regles=(UN_PARMI('GROUP_MA','MAILLE',),
1967                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
1968                                  'TEMP','PRE1','PRE2','DNOR','DTAN'),
1969                      EXCLUS('DNOR','DX'),
1970                      EXCLUS('DNOR','DY'),
1971                      EXCLUS('DNOR','DZ'),
1972                      EXCLUS('DNOR','DRX'),
1973                      EXCLUS('DNOR','DRY'),
1974                      EXCLUS('DNOR','DRZ'),
1975                      EXCLUS('DTAN','DX'),
1976                      EXCLUS('DTAN','DY'),
1977                      EXCLUS('DTAN','DZ'),
1978                      EXCLUS('DTAN','DRX'),
1979                      EXCLUS('DTAN','DRY'),
1980                      EXCLUS('DTAN','DRZ'),),
1981 #  rajout d'un mot clé REPERE :/ LOCAL /GLOBAL
1982              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1983              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1984              DX              =SIMP(statut='f',typ='R' ),
1985              DY              =SIMP(statut='f',typ='R' ),
1986              DZ              =SIMP(statut='f',typ='R' ),
1987              DRX             =SIMP(statut='f',typ='R' ),
1988              DRY             =SIMP(statut='f',typ='R' ),
1989              DRZ             =SIMP(statut='f',typ='R' ),
1990              DNOR            =SIMP(statut='f',typ='R' ),
1991              DTAN            =SIMP(statut='f',typ='R' ),
1992              GRX             =SIMP(statut='f',typ='R' ),
1993              PRES            =SIMP(statut='f',typ='R' ),
1994              PHI             =SIMP(statut='f',typ='R' ),
1995              TEMP            =SIMP(statut='f',typ='R' ),
1996              PRE1            =SIMP(statut='f',typ='R' ),
1997              PRE2            =SIMP(statut='f',typ='R' ),
1998            ),
1999
2000            LIAISON_DDL     =FACT(statut='f',max='**',
2001                                  fr="Définir une relation linéaire entre des ddls de deux ou plusieurs noeuds",
2002              regles=(UN_PARMI('GROUP_NO','NOEUD'),),
2003              GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
2004              NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
2005              DDL             =SIMP(statut='o',typ='TXM',max='**'),
2006              COEF_MULT       =SIMP(statut='o',typ='R'  ,max='**'),
2007              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2008            ),
2009
2010            LIAISON_OBLIQUE =FACT(statut='f',max='**',
2011                                  fr="Appliquer à des noeuds une valeur de déplacement dans un repere oblique",
2012              regles=(UN_PARMI('GROUP_NO','NOEUD'),
2013                      UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),),
2014              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2015              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2016              ANGL_NAUT       =SIMP(statut='o',typ='R',max=3),
2017              DX              =SIMP(statut='f',typ='R' ),
2018              DY              =SIMP(statut='f',typ='R' ),
2019              DZ              =SIMP(statut='f',typ='R' ),
2020              DRX             =SIMP(statut='f',typ='R' ),
2021              DRY             =SIMP(statut='f',typ='R' ),
2022              DRZ             =SIMP(statut='f',typ='R' ),
2023            ),
2024
2025            LIAISON_GROUP   =FACT(statut='f',max='**',
2026                                  fr="Définir des relations linéaires entre certains ddls de couples de noeuds",
2027              regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
2028                      UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
2029                      EXCLUS('GROUP_MA_1','GROUP_NO_2'),
2030                      EXCLUS('GROUP_MA_1','NOEUD_2'),
2031                      EXCLUS('GROUP_NO_1','GROUP_MA_2'),
2032                      EXCLUS('GROUP_NO_1','MAILLE_2'),
2033                      EXCLUS('MAILLE_1','GROUP_NO_2'),
2034                      EXCLUS('MAILLE_1','NOEUD_2'),
2035                      EXCLUS('NOEUD_1','GROUP_MA_2'),
2036                      EXCLUS('NOEUD_1','MAILLE_2'),
2037                      EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
2038
2039                GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2040                MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2041                GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2042                MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2043                GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2044                NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2045                GROUP_NO_2      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2046                NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2047
2048              SANS_NOEUD      =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
2049              SANS_GROUP_NO   =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
2050              DDL_1           =SIMP(statut='o',typ='TXM',max='**'),
2051              COEF_MULT_1     =SIMP(statut='o',typ='R'  ,max='**'),
2052              DDL_2           =SIMP(statut='o',typ='TXM',max='**'),
2053              COEF_MULT_2     =SIMP(statut='o',typ='R'  ,max='**'),
2054              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2055              SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2056              TRAN            =SIMP(statut='f',typ='R',max=3),
2057              ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
2058              CENTRE          =SIMP(statut='f',typ='R',max=3),
2059            ),
2060
2061            LIAISON_MAIL    =FACT(statut='f',max='**',
2062              regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'),
2063                      AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'),
2064                      PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),),
2065               GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2066               MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2067               GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2068               MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2069               GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2070               NOEUD_ESCL      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2071               TRAN            =SIMP(statut='f',typ='R',max=3 ),
2072               ANGL_NAUT       =SIMP(statut='f',typ='R',max=3 ),
2073               CENTRE          =SIMP(statut='f',typ='R',max=3 ),
2074               DDL_MAIT        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
2075               DDL_ESCL        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
2076          ),
2077
2078
2079            LIAISON_SOLIDE  =FACT(statut='f',fr="Modéliser une partie indéformable d'une structure",max='**',
2080              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
2081              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2082              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2083              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2084              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2085              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2086            ),
2087
2088            LIAISON_ELEM    =FACT(statut='f',fr="Raccorder une poutre à une partie massive 3D ou une coque",max='**',
2089              regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
2090                      UN_PARMI('GROUP_NO_2','NOEUD_2'),),
2091              OPTION          =SIMP(statut='o',typ='TXM',into=("3D_TUYAU","3D_POU","COQ_POU","COQ_TUYAU") ),
2092              GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2093              MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2094              GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2095              NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2096              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2097              CARA_ELEM       =SIMP(statut='f',typ=(cara_elem) ),
2098              AXE_POUTRE      =SIMP(statut='f',typ='R',max=3),
2099              ANGL_MAX        =SIMP(statut='f',typ='R',defaut= 1. ),
2100            ),
2101
2102            LIAISON_UNIF    =FACT(statut='f',max='**',
2103                                  fr="Imposer une meme valeur (inconnue) à des ddls d'un emsemble de noeuds",
2104              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
2105              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2106              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2107              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2108              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2109              DDL             =SIMP(statut='o',typ='TXM',max='**'),
2110            ),
2111
2112          LIAISON_CHAMNO  =FACT(statut='f',max='**',
2113                                fr="définir une relation linéaire entre tous les ddls d'un concept cham_no_sdaster",
2114 #  type de cham_no_sdaster CO()
2115              CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster), #CO()
2116              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2117              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2118            ),
2119
2120          LIAISON_XFEM      =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
2121
2122          VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
2123
2124          CONTACT         =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**',
2125            regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
2126            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
2127                                  into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
2128            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
2129            LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),                 
2130            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")),
2131            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",    
2132                                  into=("CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE") ),           
2133            PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","QUADRATIQUE") ),
2134            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2135            MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2136            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2137            MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2138            TOLE_PROJ_EXT   =SIMP(statut='f',typ='R',defaut=0.50),
2139            TOLE_PROJ_INT   =SIMP(statut='f',typ='R',defaut=0.001),
2140            ITER_MULT_MAXI  =SIMP(statut='f',typ='I',defaut=4),
2141              
2142            b_active        =BLOC(condition = "METHODE == 'CONTRAINTE' ",
2143                                  fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
2144                 regles=(EXCLUS('DIST_ESCL','COEF_IMPO'),
2145                         EXCLUS('DIST_MAIT','COEF_IMPO'),),
2146                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")),
2147                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), 
2148                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
2149                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2150                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2151                                  fr="Paramètre de la réactualisation géométrique",
2152                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2153                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2154                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2155                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2156                 COEF_IMPO       =SIMP(statut='f',typ='R'),
2157                 COEF_MULT_ESCL  =SIMP(statut='f',typ='R'),
2158                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
2159                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2160                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2161                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2162                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),),
2163            b_lagrangien    =BLOC(condition = "METHODE == 'LAGRANGIEN' ",
2164                                  fr="Paramètres de la méthode Lagrangienne (contact avec ou sans frottement)",
2165                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
2166                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
2167                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ), 
2168                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2169                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2170                                  fr="Paramètre de la réactualisation géométrique",
2171                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2172                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2173                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2174                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2175                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2176                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2177                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2178                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
2179                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2180                      COULOMB         =SIMP(statut='o',typ='R',),
2181                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
2182                      ),),
2183            b_penalisation       =BLOC(condition = "METHODE == 'PENALISATION' ",
2184                                       fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)",
2185                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
2186                 E_N             =SIMP(statut='f',typ='R'), 
2187                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
2188                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
2189                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2190                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2191                                  fr="Paramètre de la réactualisation géométrique",
2192                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2193                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2194                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2195                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2196                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2197                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2198                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2199                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
2200                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2201                      COULOMB         =SIMP(statut='o',typ='R',),
2202                      E_T             =SIMP(statut='f',typ='R',
2203                                            fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"),
2204                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
2205                      ),),
2206            b_continue      =BLOC(condition = "METHODE == 'CONTINUE' ",
2207                                  fr="Paramètres de la méthode continue (contact avec ou sans frottement)",
2208                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),
2209                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
2210                 INTEGRATION     =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2")),
2211                 COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2212                 MODL_AXIS       =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
2213                 FORMULATION     =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),                
2214                 DIRE_APPA       =SIMP(statut='f',typ='R',max=3,defaut=(0.,0.,0.,)),
2215                 ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=2),
2216                 ITER_CONT_MAXI  =SIMP(statut='f',typ='I',defaut=30),
2217                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2218                      COULOMB         =SIMP(statut='o',typ='R',),
2219                      ITER_FROT_MAXI  =SIMP(statut='f',typ='I',defaut=2),
2220                      COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2221                      SEUIL_INIT      =SIMP(statut='f',typ='I',defaut=0),),),
2222          ),      
2223
2224          FORCE_NODALE    =FACT(statut='f',fr="Imposer des forces nodales en des noeuds",max='**',
2225            regles=(AU_MOINS_UN('GROUP_NO','NOEUD'),
2226                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
2227            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2228            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2229            FX              =SIMP(statut='f',typ='R' ),
2230            FY              =SIMP(statut='f',typ='R' ),
2231            FZ              =SIMP(statut='f',typ='R' ),
2232            MX              =SIMP(statut='f',typ='R' ),
2233            MY              =SIMP(statut='f',typ='R' ),
2234            MZ              =SIMP(statut='f',typ='R' ),
2235            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
2236          ),
2237
2238          FORCE_FACE      =FACT(statut='f',max='**',
2239                                fr="Appliquer des forces surfaciques sur une face d'éléments volumiques",
2240              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
2241                      AU_MOINS_UN('FX','FY','FZ'),),
2242              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2243              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2244              FX              =SIMP(statut='f',typ='R' ),
2245              FY              =SIMP(statut='f',typ='R' ),
2246              FZ              =SIMP(statut='f',typ='R' ),
2247            ),
2248
2249          FORCE_ARETE     =FACT(statut='f',max='**',
2250                                fr="Appliquer des forces linéiques à une arete d élément volumique ou de coque",
2251              regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),
2252                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
2253              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2254              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2255              FX              =SIMP(statut='f',typ='R' ),
2256              FY              =SIMP(statut='f',typ='R' ),
2257              FZ              =SIMP(statut='f',typ='R' ),
2258              MX              =SIMP(statut='f',typ='R' ),
2259              MY              =SIMP(statut='f',typ='R' ),
2260              MZ              =SIMP(statut='f',typ='R' ),
2261            ),
2262
2263          FORCE_CONTOUR   =FACT(statut='f',max='**',
2264                                fr="Appliquer des forces linéiques au bord d'un domaine 2D ou AXIS_FOURIER",
2265              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
2266                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
2267              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2268              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2269              FX              =SIMP(statut='f',typ='R' ),
2270              FY              =SIMP(statut='f',typ='R' ),
2271              FZ              =SIMP(statut='f',typ='R' ),
2272              MX              =SIMP(statut='f',typ='R' ),
2273              MY              =SIMP(statut='f',typ='R' ),
2274              MZ              =SIMP(statut='f',typ='R' ),
2275            ),
2276
2277          FORCE_INTERNE   =FACT(statut='f',max='**',
2278                                fr="Appliquer des forces volumiques (2D ou 3D) à un domaine volumique",
2279              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2280                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2281                      AU_MOINS_UN('FX','FY','FZ' ),),
2282              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2283              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2284              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2285              FX              =SIMP(statut='f',typ='R' ),
2286              FY              =SIMP(statut='f',typ='R' ),
2287              FZ              =SIMP(statut='f',typ='R' ),
2288            ),
2289
2290          PRES_REP        =FACT(statut='f',max='**',
2291                                fr="Appliquer une pression à un domaine de milieu continu 2D ou 3D",
2292              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2293                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2294                      AU_MOINS_UN('PRES','CISA_2D' ),),
2295              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2296              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2297              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2298              PRES            =SIMP(statut='f',typ='R' ),
2299              CISA_2D         =SIMP(statut='f',typ='R' ),
2300            ),
2301
2302          EFFE_FOND       =FACT(statut='f',fr="Imposer un effet de fond",max='**',
2303            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2304            GROUP_MA_INT    =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
2305            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2306            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2307            PRES            =SIMP(statut='o',typ='R' ),
2308          ),
2309
2310          EPSI_INIT       =FACT(statut='f',max='**',
2311                                fr="Appliquer un chargement de déformation initiale à un volume 3D ou 2D",
2312              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2313                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2314                      AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ','EPX',
2315                                  'KY','KZ','EXX','EYY','EXY','KXX','KYY','KXY'),),
2316              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2317              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2318              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2319              EPXX            =SIMP(statut='f',typ='R' ),
2320              EPYY            =SIMP(statut='f',typ='R' ),
2321              EPZZ            =SIMP(statut='f',typ='R' ),
2322              EPXY            =SIMP(statut='f',typ='R' ),
2323              EPXZ            =SIMP(statut='f',typ='R' ),
2324              EPYZ            =SIMP(statut='f',typ='R' ),
2325              EPX             =SIMP(statut='f',typ='R' ),
2326              KY              =SIMP(statut='f',typ='R' ),
2327              KZ              =SIMP(statut='f',typ='R' ),
2328              EXX             =SIMP(statut='f',typ='R' ),
2329              EYY             =SIMP(statut='f',typ='R' ),
2330              EXY             =SIMP(statut='f',typ='R' ),
2331              KXX             =SIMP(statut='f',typ='R' ),
2332              KYY             =SIMP(statut='f',typ='R' ),
2333              KXY             =SIMP(statut='f',typ='R' ),
2334            ),
2335
2336          ARLEQUIN        =FACT(statut='f',min=1,max='**',
2337            GROUP_MA_1     =SIMP(statut='o',typ=grma,max='**'),
2338            GROUP_MA_2     =SIMP(statut='o',typ=grma,max='**'),
2339            GROUP_MA_COLL  =SIMP(statut='f',typ=grma,max='**'),
2340            CARA_ELEM      =SIMP(statut='f',typ=cara_elem ),
2341            COND_LIM       =SIMP(statut='f',typ=char_meca ),
2342            COLLAGE        =SIMP(statut='f',typ='TXM',defaut="GROSSIER",into=("GROSSIER","FIN","GROUP_MA_1","GROUP_MA_2"),),
2343            regles         =(UN_PARMI('POIDS_1','POIDS_2','POIDS_GROSSIER','POIDS_FIN',),),
2344            POIDS_1        =SIMP(statut='f',typ='R'),
2345            POIDS_2        =SIMP(statut='f',typ='R'),
2346            POIDS_GROSSIER =SIMP(statut='f',typ='R'),
2347            POIDS_FIN      =SIMP(statut='f',typ='R'),),
2348
2349         FORCE_POUTRE    =FACT(statut='f',fr="Appliquer des forces linéiques sur des poutres",max='**',
2350              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2351                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2352                      AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'),
2353                      PRESENT_ABSENT('FX','N','VY','VZ'),
2354                      PRESENT_ABSENT('FY','N','VY','VZ'),
2355                      PRESENT_ABSENT('FZ','N','VY','VZ'),
2356                      PRESENT_ABSENT('N','FX','FY','FZ'),
2357                      PRESENT_ABSENT('VY','FX','FY','FZ'),
2358                      PRESENT_ABSENT('VZ','FX','FY','FZ'),),
2359              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2360              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2361              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2362              TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE",) ),
2363 #  rajour d'un mot clé REPERE :/ LOCAL /GLOBAL
2364                FX              =SIMP(statut='f',typ='R' ),
2365                FY              =SIMP(statut='f',typ='R' ),
2366                FZ              =SIMP(statut='f',typ='R' ),
2367
2368                N               =SIMP(statut='f',typ='R' ),
2369                VY              =SIMP(statut='f',typ='R' ),
2370                VZ              =SIMP(statut='f',typ='R' ),
2371
2372            ),
2373
2374          FORCE_TUYAU     =FACT(statut='f',fr="imposer une pression dans un élément TUYAU",max='**',
2375              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2376                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
2377              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2378              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2379              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2380              PRES            =SIMP(statut='f',typ='R' ),
2381            ),
2382
2383          FORCE_COQUE     =FACT(statut='f',fr="Appliquer des forces surfaciques sur des coques",max='**',
2384              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2385                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2386                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),
2387                      PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
2388                      PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
2389                      PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
2390                      PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
2391                      PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
2392                      PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
2393                      PRESENT_ABSENT('F1','FX','FY','FZ','MX','MY','MZ','PRES'),
2394                      PRESENT_ABSENT('F2','FX','FY','FZ','MX','MY','MZ','PRES'),
2395                      PRESENT_ABSENT('F3','FX','FY','FZ','MX','MY','MZ','PRES'),
2396                      PRESENT_ABSENT('MF1','FX','FY','FZ','MX','MY','MZ','PRES'),
2397                      PRESENT_ABSENT('MF2','FX','FY','FZ','MX','MY','MZ','PRES'),
2398                      PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
2399 #  rajour d'un mot clé REPERE :/ LOCAL /GLOBAL
2400              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2401              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2402              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2403
2404                FX              =SIMP(statut='f',typ='R' ),
2405                FY              =SIMP(statut='f',typ='R' ),
2406                FZ              =SIMP(statut='f',typ='R' ),
2407                MX              =SIMP(statut='f',typ='R' ),
2408                MY              =SIMP(statut='f',typ='R' ),
2409                MZ              =SIMP(statut='f',typ='R' ),
2410
2411                F1              =SIMP(statut='f',typ='R' ),
2412                F2              =SIMP(statut='f',typ='R' ),
2413                F3              =SIMP(statut='f',typ='R' ),
2414                MF1             =SIMP(statut='f',typ='R' ),
2415                MF2             =SIMP(statut='f',typ='R' ),
2416
2417              PRES            =SIMP(statut='f',typ='R' ),
2418              PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL",) ),
2419            ),
2420
2421
2422            GRAPPE_FLUIDE   =FACT(statut='f',max='**',
2423              regles=(EXCLUS('GROUP_NO_EXTR','NOEUD_EXTR'),
2424                      EXCLUS('GROUP_NO_ORIG','NOEUD_ORIG'),
2425                      PRESENT_PRESENT('CARA_HYDR','VALE_HYDR'),
2426                      PRESENT_PRESENT('CARA_GRAPPE','VALE_GRAPPE'),
2427                      PRESENT_PRESENT('CARA_COMMANDE','VALE_COMMANDE'),
2428                      PRESENT_PRESENT('CARA_MANCHETTE','VALE_MANCHETTE'),
2429                      PRESENT_PRESENT('CARA_GUIDE','VALE_GUIDE'),
2430                      PRESENT_PRESENT('CARA_ASSEMBLAGE','VALE_ASSEMBLAGE'),
2431                      PRESENT_PRESENT('CARA_PDC','VALE_PDC'),),
2432              GROUP_MA        =SIMP(statut='f',typ=grma,max=1),
2433              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,max=1),
2434              NOEUD_EXTR      =SIMP(statut='f',typ=no,max=1),
2435              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,max=1),
2436              NOEUD_ORIG      =SIMP(statut='f',typ=no,max=1),
2437              Z0              =SIMP(statut='f',typ='R' ),
2438              CARA_HYDR       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2439                                  fr="définition des données hydrauliques",
2440                                  into=("Q","ROC","ROD","ROP","ROM","ROML","ROG","NUC","NUM",
2441                                        "NUML","NUG","P2","P3","P4","CGG","G") ),
2442              VALE_HYDR       =SIMP(statut='f',typ='R',max='**',
2443                                  fr="valeurs des données hydrauliques",),
2444              CARA_GRAPPE     =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2445                                  fr="définition des données géométriques de la grappe",
2446                                  into=("M","DTIGE","DTMOY","ROTIGE","LTIGE","LLT","LCT",
2447                                        "VARAI","RORAI","DCRAY","ROCRAY","LCRAY","LCHUT",
2448                                        "CFCM","CFCI","CFCG","HRUGC","HRUGTC","NCA") ),
2449              VALE_GRAPPE     =SIMP(statut='f',typ='R',max='**',
2450                                  fr="valeurs des données géométriques de la grappe",),
2451              CARA_COMMANDE   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2452                                  fr="définition des données géométriques du mécanisme de commande",
2453                                  into=("LI","LML","LG","LIG","DIML","DEML","DCSP",
2454                                        "DG","HRUGML","HRUGCSP","HRUGG") ),
2455              VALE_COMMANDE   =SIMP(statut='f',typ='R',max='**',
2456                                  fr="valeurs des données géométriques du mécanisme de commande",),
2457              CARA_MANCHETTE  =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2458                                  fr="définition des données géométriques de la manchette et son adaptateur",
2459                                  into=("LM","LA","LIM","DIMT","DEMT","DCMT","VMT",
2460                                        "ROMT","DA","HRUGM","HRUGA") ),
2461              VALE_MANCHETTE  =SIMP(statut='f',typ='R',max='**',
2462                                  fr="valeurs des données géométriques de la manchette et son adaptateur",),
2463              CARA_GUIDE      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2464                                  fr="définition des données géométriques des tubes guides",
2465                                  into=("NRET","L0","L1","L2","L3","L4","DTG","DR",
2466                                        "DOR","D0","D00","HRUGTG") ),
2467              VALE_GUIDE      =SIMP(statut='f',typ='R',max='**',
2468                                  fr="valeurs des données géométriques des tubes guides",),
2469              CARA_ASSEMBLAGE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2470                                  fr="définition des données géométriques des assemblages",
2471                                  into=("SASS","DCC","DTI","NGM","NGMDP","KM","KS","KI",
2472                                        "KES","KEI","KF") ),
2473              VALE_ASSEMBLAGE =SIMP(statut='f',typ='R',max='**',
2474                                  fr="valeurs des données géométriques des assemblages",),
2475              CARA_PDC        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2476                                  fr="définition des coefficients de perte de charge singulière",
2477                                  into=("CD0","CD1","CD2","CDELARG","CDRET","CDM","CDA","CDML",
2478                                        "CDI","CDG") ),
2479              VALE_PDC        =SIMP(statut='f',typ='R',max='**',
2480                                  fr="valeurs des coefficients de perte de charge singulière",),
2481              APPL_FORC_ARCHI  =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2482                                  fr="application de la force d'archimède",
2483                                  into=("REPARTIE","CDG") ),
2484              APPL_FORC_FPLAQ  =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2485                                  fr="application de la force de plaquage dans le guidage continu",
2486                                  into=("REPARTIE","CDG","ZONE","MILIEU","DISTRI") ),
2487              APPL_FORC_FMEC   =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2488                                  fr="application de la force dans le mécanisme de levée",
2489                                  into=("REPARTIE","CDG","ZONE","PTREP") ),
2490              APPL_FORC_FTG    =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2491                                  fr="application de la force tube_guide",
2492                                  into=("REPARTIE","CDG","ZONE","PTREP") ),
2493              DIRE_FORC_FPLAQ  =SIMP(statut='f',typ='R',min=3,max=3,
2494                                  fr="direction d'application de la force de plaquage",),
2495              b_CDG    =BLOC(condition = "(APPL_FORC_ARCHI == 'CDG') or (APPL_FORC_FPLAQ == 'CDG') or \
2496                                          (APPL_FORC_FMEC  == 'CDG') or (APPL_FORC_FTG   == 'CDG')",
2497                 MASS_INER        =SIMP(statut='o',typ=tabl_mass_iner ),
2498              ),
2499              UNITE_IMPR_FORCE =SIMP(statut='f',typ='I',
2500                                  fr="unité d'impression des forces",),
2501              UNITE_IMPR_NOEUD =SIMP(statut='f',typ='I',
2502                                  fr="unité d'impression des noeuds par zone",),
2503            ),
2504
2505            LIAISON_COQUE   =FACT(statut='f',max='**',
2506              GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2507              MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2508              GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2509              NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2510              GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2511              MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2512              GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2513              NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2514              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2515            ),
2516
2517          RELA_CINE_BP    =FACT(statut='f',max='**',
2518            CABLE_BP        =SIMP(statut='o',typ=cabl_precont ),
2519            SIGM_BPEL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
2520            RELA_CINE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2521          ),
2522
2523          FORCE_ELEC      =FACT(statut='f',max='**',
2524                                fr="Force de Laplace due à la présence d'un conducteur rectiligne secondaire non maillé",
2525              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2526                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
2527
2528              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2529              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2530              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2531
2532              POSITION        =SIMP(statut='f',typ='TXM',fr="Direction prédéfinie",into=("PARA","INFI","FINI",) ),
2533              b_fxyz  =BLOC ( condition = "POSITION == None",
2534                   FX   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2535                   FY   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2536                   FZ   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2537                        ),
2538
2539              b_para     =BLOC ( condition = "POSITION == 'PARA'",
2540                regles=(UN_PARMI('TRANS','DIST'),),
2541                TRANS           =SIMP(statut='f',typ='R',max=3),
2542                DIST            =SIMP(statut='f',typ='R' ),
2543                b_point2        =BLOC ( condition = "DIST != None",
2544                  POINT2           =SIMP(statut='o',typ='R',max=3),
2545                ),
2546              ),
2547              b_fini_infi     =BLOC ( condition = "(POSITION == 'FINI') or (POSITION == 'INFI')",
2548                POINT1          =SIMP(statut='o',typ='R',max=3),
2549                POINT2          =SIMP(statut='o',typ='R',max=3),
2550              ),
2551            ),
2552
2553
2554
2555
2556         INTE_ELEC       =FACT(statut='f',max='**',
2557                               fr="Force de Laplace due à la présence d'un conducteur non rectiligne secondaire",
2558              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2559                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2560                      AU_MOINS_UN('GROUP_MA_2','MAILLE_2','TRANS','SYME'),
2561                      EXCLUS('TRANS','SYME'),),
2562              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2563              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2564              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2565              GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2566              MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2567              TRANS           =SIMP(statut='f',typ='R' ,max='**'),
2568              SYME            =SIMP(statut='f',typ='R' ,max='**'),
2569            ),
2570
2571
2572          IMPE_FACE       =FACT(statut='f',fr="Appliquer une impédance acoustique à une face",max='**',
2573              regles=(AU_MOINS_UN('GROUP_MA','MAILLE' ),),
2574              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2575              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2576              IMPE            =SIMP(statut='o',typ='R' ),
2577            ),
2578
2579          VITE_FACE       =FACT(statut='f',fr="Imposer des vitesses acoustiquesnormales à une face",max='**',
2580              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2581              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2582              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2583              VNOR            =SIMP(statut='o',typ='R' ),
2584            ),
2585
2586
2587
2588          ONDE_FLUI       =FACT(statut='f',fr="Appliquer une amplitude de pression d onde incidente",max='**',
2589              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2590              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2591              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2592              PRES            =SIMP(statut='o',typ='R' ),
2593            ),
2594
2595          FLUX_THM_REP    =FACT(statut='f',max='**',
2596              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2597                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2598                      AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
2599              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2600              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2601              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2602              FLUN            =SIMP(statut='f',typ='R' ),
2603              FLUN_HYDR1      =SIMP(statut='f',typ='R' ),
2604              FLUN_HYDR2      =SIMP(statut='f',typ='R' ),
2605            ),
2606
2607          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
2608 )  ;
2609
2610
2611 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
2612 #            CONFIGURATION MANAGEMENT OF EDF VERSION
2613 # ======================================================================
2614 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
2615 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2616 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2617 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
2618 # (AT YOUR OPTION) ANY LATER VERSION.                                 
2619 #
2620 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
2621 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
2622 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
2623 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
2624 #
2625 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
2626 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
2627 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
2628 # ======================================================================
2629 # RESPONSABLE G8BHHXD X.DESROCHES
2630 AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op=   7,sd_prod=char_meca,
2631                      fr="Affectation de charges et conditions aux limites mécaniques complexes",
2632                      reentrant='n',
2633             UIinfo={"groupes":("Modélisation",)},
2634          regles=(AU_MOINS_UN('DDL_IMPO','FORCE_POUTRE','LIAISON_DDL', ),),
2635          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
2636          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2637          DDL_IMPO        =FACT(statut='f',max='**',
2638            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),
2639                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','LIAISON', ),),
2640            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2641            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2642            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2643            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2644            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2645            LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), 
2646            DX              =SIMP(statut='f',typ='C' ),
2647            DY              =SIMP(statut='f',typ='C' ),
2648            DZ              =SIMP(statut='f',typ='C' ),
2649            DRX             =SIMP(statut='f',typ='C' ),
2650            DRY             =SIMP(statut='f',typ='C' ),
2651            DRZ             =SIMP(statut='f',typ='C' ),
2652            GRX             =SIMP(statut='f',typ='C' ),
2653            PRES            =SIMP(statut='f',typ='C' ),
2654            PHI             =SIMP(statut='f',typ='C' ),
2655          ),
2656          FORCE_POUTRE    =FACT(statut='f',max='**',
2657            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2658                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2659                    AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',),
2660                    PRESENT_ABSENT('FX','N','VY','VZ',),
2661                    PRESENT_ABSENT('FY','N','VY','VZ',),
2662                    PRESENT_ABSENT('FZ','N','VY','VZ',),
2663                    PRESENT_ABSENT('N','FX','FY','FZ',),
2664                    PRESENT_ABSENT('VY', 'FX','FY','FZ',),
2665                    PRESENT_ABSENT('VZ','FX','FY','FZ', ),),
2666            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2667            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2668            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2669            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
2670            FX              =SIMP(statut='f',typ='C' ),
2671            FY              =SIMP(statut='f',typ='C' ),
2672            FZ              =SIMP(statut='f',typ='C' ),
2673            N               =SIMP(statut='f',typ='C' ),
2674            VY              =SIMP(statut='f',typ='C' ),
2675            VZ              =SIMP(statut='f',typ='C' ),
2676          ),
2677          LIAISON_DDL     =FACT(statut='f',max='**',
2678            regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
2679            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2680            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
2681            DDL             =SIMP(statut='o',typ='TXM',max='**'),
2682            COEF_MULT       =SIMP(statut='o',typ='R'  ,max='**'),
2683            COEF_IMPO       =SIMP(statut='o',typ='C' ),
2684          ),
2685          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
2686 )  ;
2687 #& MODIF COMMANDE  DATE 02/11/2004   AUTEUR MABBAS M.ABBAS 
2688 #            CONFIGURATION MANAGEMENT OF EDF VERSION
2689 # ======================================================================
2690 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
2691 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2692 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2693 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
2694 # (AT YOUR OPTION) ANY LATER VERSION.                                 
2695 #
2696 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
2697 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
2698 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
2699 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
2700 #
2701 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
2702 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
2703 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
2704 # ======================================================================
2705 # RESPONSABLE G8BHHXD X.DESROCHES
2706 AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
2707                       fr="Affectation de charges et conditions aux limites mécaniques fonction d une grandeur",
2708                       reentrant='n',
2709             UIinfo={"groupes":("Modélisation",)},
2710         regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE',
2711                             'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
2712                             'PRES_REP','FORCE_POUTRE','VITE_FACE','IMPE_FACE','ONDE_PLANE',
2713                             'LIAISON_OBLIQUE','EPSI_INIT','LIAISON_GROUP','LIAISON_UNIF',
2714                             'LIAISON_SOLIDE','FORCE_COQUE','LIAISON_COQUE','FORCE_TUYAU',
2715                             'CONTACT','EFFE_FOND','FLUX_THM_REP'),),
2716          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2717          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2718          MODELE          =SIMP(statut='o',typ=modele_sdaster),
2719
2720          DDL_IMPO        =FACT(statut='f',max='**',
2721            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
2722                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
2723                                'TEMP','PRE1','PRE2','LIAISON',),),
2724            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2725            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2726            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2727            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2728            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2729            LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), 
2730            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2731            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2732            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2733            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2734            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2735            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2736            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2737            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2738            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2739            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2740            PRE1            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2741            PRE2            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2742          ),
2743
2744          FACE_IMPO       =FACT(statut='f',max='**',
2745            regles=(UN_PARMI('GROUP_MA','MAILLE'),
2746                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','TEMP','PRE1','PRE2','DNOR','DTAN'),
2747                    EXCLUS('DNOR','DX'),
2748                    EXCLUS('DNOR','DY'),
2749                    EXCLUS('DNOR','DZ'),
2750                    EXCLUS('DNOR','DRX'),
2751                    EXCLUS('DNOR','DRY'),
2752                    EXCLUS('DNOR','DRZ'),
2753                    EXCLUS('DTAN','DX'),
2754                    EXCLUS('DTAN','DY'),
2755                    EXCLUS('DTAN','DZ'),
2756                    EXCLUS('DTAN','DRX'),
2757                    EXCLUS('DTAN','DRY'),
2758                    EXCLUS('DTAN','DRZ'),),
2759 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
2760            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2761            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2762            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2763            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2764            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2765            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2766            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2767            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2768            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2769            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2770            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2771            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2772            PRE1            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2773            PRE2            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2774            DNOR            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2775            DTAN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2776          ),
2777          
2778          LIAISON_DDL     =FACT(statut='f',max='**',
2779                                fr="Définir une relation linéaire entre des ddls de deux ou plusieurs noeuds",
2780            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
2781            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2782            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
2783            DDL             =SIMP(statut='o',typ='TXM',max='**'),
2784            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
2785            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2786          ),
2787
2788          LIAISON_OBLIQUE =FACT(statut='f',max='**',
2789                                fr="Définir des relations linéaires entre certains ddls de couples de noeuds",
2790            regles=(UN_PARMI('GROUP_NO','NOEUD'),
2791                    UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),),
2792            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2793            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
2794            ANGL_NAUT       =SIMP(statut='o',typ='R',max=3),
2795            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2796            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2797            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2798            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2799            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2800            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2801          ),         
2802          
2803          LIAISON_GROUP   =FACT(statut='f',max='**',
2804                                fr="Définir des relations linéaires entre certains ddls de couples de noeuds",
2805            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
2806                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
2807                    EXCLUS('GROUP_MA_1','GROUP_NO_2'),
2808                    EXCLUS('GROUP_MA_1','NOEUD_2'),
2809                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
2810                    EXCLUS('GROUP_NO_1','MAILLE_2'),
2811                    EXCLUS('MAILLE_1','GROUP_NO_2'),
2812                    EXCLUS('MAILLE_1','NOEUD_2'),
2813                    EXCLUS('NOEUD_1','GROUP_MA_2'),
2814                    EXCLUS('NOEUD_1','MAILLE_2'),
2815                    EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
2816            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2817            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2818            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2819            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2820            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2821            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2822            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2823            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2824            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2825            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2826            DDL_1           =SIMP(statut='o',typ='TXM',max='**'),
2827            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
2828            DDL_2           =SIMP(statut='o',typ='TXM',max='**'),
2829            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
2830            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2831            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2832            TRAN            =SIMP(statut='f',typ='R',max=3),
2833            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
2834            CENTRE          =SIMP(statut='f',typ='R',max=3),
2835          ),
2836
2837          CONTACT         =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**',
2838            regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
2839            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
2840                                  into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
2841            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
2842            LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),                 
2843            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")),
2844            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",    
2845                                  into=("CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE") ),           
2846            PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","QUADRATIQUE") ),
2847            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2848            MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2849            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2850            MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2851            TOLE_PROJ_EXT   =SIMP(statut='f',typ='R',defaut=0.50),  
2852            TOLE_PROJ_INT   =SIMP(statut='f',typ='R',defaut=0.001), 
2853            ITER_MULT_MAXI  =SIMP(statut='f',typ='I',defaut=4),           
2854            b_active        =BLOC(condition = "METHODE == 'CONTRAINTE' ",
2855                                  fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
2856                 regles=(EXCLUS('DIST_ESCL','COEF_IMPO'),
2857                         EXCLUS('DIST_MAIT','COEF_IMPO'),),
2858                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")),
2859                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), 
2860                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
2861                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2862                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2863                                  fr="Paramètre de la réactualisation géométrique",
2864                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2865                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2866                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2867                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2868                 COEF_IMPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
2869                 COEF_MULT_ESCL  =SIMP(statut='f',typ='R'),
2870                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
2871                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2872                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
2873                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
2874                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),),
2875            b_lagrangien    =BLOC(condition = "METHODE == 'LAGRANGIEN' ",
2876                                  fr="Paramètres de la méthode Lagrangienne (contact avec ou sans frottement)",
2877                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
2878                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
2879                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ), 
2880                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2881                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2882                                  fr="Paramètre de la réactualisation géométrique",
2883                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2884                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2885                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2886                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2887                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
2888                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
2889                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2890                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
2891                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2892                      COULOMB         =SIMP(statut='o',typ='R',),
2893                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
2894                      ),),
2895            b_penalisation       =BLOC(condition = "METHODE == 'PENALISATION' ",
2896                                       fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)",
2897                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
2898                 E_N             =SIMP(statut='f',typ='R'), 
2899                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
2900                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ), 
2901                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2902                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2903                                  fr="Paramètre de la réactualisation géométrique",
2904                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2905                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2906                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2907                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2908                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
2909                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
2910                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2911                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
2912                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2913                      COULOMB         =SIMP(statut='o',typ='R',),
2914                      E_T             =SIMP(statut='f',typ='R',
2915                                            fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"),
2916                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
2917                      ),),
2918            b_continue      =BLOC(condition = "METHODE == 'CONTINUE' ",
2919                                  fr="Paramètres de la méthode continue (contact avec ou sans frottement)",
2920                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
2921                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
2922                 INTEGRATION     =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2")),
2923                 COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2924                 FORMULATION     =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),
2925                 MODL_AXIS       =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
2926                 DIRE_APPA       =SIMP(statut='f',typ='R',max=3),
2927                 ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=2),
2928                 ITER_CONT_MAXI  =SIMP(statut='f',typ='I',defaut=30),
2929                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2930                      COULOMB         =SIMP(statut='o',typ='R',),
2931                      ITER_FROT_MAXI  =SIMP(statut='f',typ='I',defaut=2),
2932                      COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2933                      SEUIL_INIT      =SIMP(statut='f',typ='I',defaut=0),),),
2934          ),        
2935          
2936           LIAISON_UNIF    =FACT(statut='f',max='**',
2937                                fr="Imposer une meme valeur (inconnue) a des ddls d un emsemble de noeuds",
2938            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
2939            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2940            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2941            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2942            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2943            DDL             =SIMP(statut='o',typ='TXM',max='**'),
2944          ),
2945
2946          LIAISON_SOLIDE  =FACT(statut='f',max='**',
2947                                fr="Modéliser une partie indéformable d une structure",
2948            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
2949            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2950            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2951            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2952            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2953            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
2954          ),
2955
2956
2957
2958          FORCE_NODALE    =FACT(statut='f',max='**',
2959            regles=(UN_PARMI('GROUP_NO','NOEUD'),
2960                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
2961            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2962            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2963            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2964            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2965            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2966            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2967            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2968            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2969            ANGL_NAUT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max=3 ),
2970          ),
2971
2972          FORCE_FACE      =FACT(statut='f',max='**',
2973            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
2974                    AU_MOINS_UN('FX','FY','FZ'),),
2975            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2976            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2977            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2978            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2979            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2980          ),
2981          FORCE_ARETE     =FACT(statut='f',max='**',
2982            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
2983                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
2984            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2985            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2986            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2987            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2988            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2989            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2990            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2991            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2992          ),
2993          FORCE_CONTOUR   =FACT(statut='f',max='**',
2994            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
2995                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
2996            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2997            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2998            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2999            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3000            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3001            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3002            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3003            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3004          ),
3005
3006          FORCE_INTERNE   =FACT(statut='f',max='**',
3007            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3008                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3009                    AU_MOINS_UN('FX','FY','FZ'),),
3010            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3011            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3012            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3013            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3014            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3015            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3016          ),
3017          
3018          PRES_REP        =FACT(statut='f',max='**',
3019            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3020                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3021                    AU_MOINS_UN('PRES','CISA_2D'),),
3022            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3023            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3024            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3025            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3026            CISA_2D         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3027          ),
3028
3029          EFFE_FOND       =FACT(statut='f',fr="Imposer un effet de fond",max='**',
3030            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
3031            GROUP_MA_INT    =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
3032            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3033            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3034            PRES            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3035          ),
3036
3037          EPSI_INIT       =FACT(statut='f',max='**',
3038            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3039                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3040                    AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ'),),
3041            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3042            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3043            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3044            EPXX            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3045            EPYY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3046            EPZZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3047            EPXY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3048            EPXZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3049            EPYZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3050          ),
3051          
3052          FORCE_POUTRE    =FACT(statut='f',max='**',
3053            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3054                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3055                    AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'),
3056                    PRESENT_ABSENT('FX','N','VY','VZ'),
3057                    PRESENT_ABSENT('FY','N','VY','VZ'),
3058                    PRESENT_ABSENT('FZ','N','VY','VZ'),
3059                    PRESENT_ABSENT('N','FX','FY','FZ'),
3060                    PRESENT_ABSENT('VY','FX','FY','FZ'),
3061                    PRESENT_ABSENT('VZ','FX','FY','FZ'),),
3062 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
3063            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3064            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3065            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3066            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
3067            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3068            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3069            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3070            N               =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3071            VY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3072            VZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3073          ),
3074
3075          FORCE_TUYAU     =FACT(statut='f',max='**',
3076            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3077                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3078            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3079            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3080            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3081            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3082          ),
3083          
3084          FORCE_COQUE     =FACT(statut='f',max='**',
3085            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3086                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3087                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),
3088                    PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
3089                    PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
3090                    PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
3091                    PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
3092                    PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
3093                    PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
3094                    PRESENT_ABSENT('F1','PRES','FX','FY','FZ','MX','MY','MZ'),
3095                    PRESENT_ABSENT('F2','PRES','FX','FY','FZ','MX','MY','MZ'),
3096                    PRESENT_ABSENT('F3','PRES','FX','FY','FZ','MX','MY','MZ'),
3097                    PRESENT_ABSENT('MF1','PRES','FX','FY','FZ','MX','MY','MZ'),
3098                    PRESENT_ABSENT('MF2','PRES','FX','FY','FZ','MX','MY','MZ'),
3099                    PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
3100 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
3101            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3102            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3103            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3104            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3105            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3106            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3107            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3108            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3109            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3110            F1              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3111            F2              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3112            F3              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3113            MF1             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3114            MF2             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3115            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3116            PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",
3117                                  into=("SUP","INF","MOY","MAIL") ),
3118          ),
3119
3120          LIAISON_COQUE   =FACT(statut='f',max='**',
3121            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3122            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3123            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3124            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3125            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3126            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3127            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3128            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3129            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
3130          ),         
3131          
3132
3133          VITE_FACE       =FACT(statut='f',max='**',
3134            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3135                    PRESENT_ABSENT('GROUP_MA','MAILLE'),),
3136            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3137            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3138            VNOR            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3139          ),
3140          IMPE_FACE       =FACT(statut='f',max='**',
3141            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3142                    PRESENT_ABSENT('GROUP_MA','MAILLE'),),
3143            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3144            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3145            IMPE            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3146          ),
3147          ONDE_PLANE      =FACT(statut='f',max='**',
3148            DIRECTION       =SIMP(statut='o',typ='R',max='**'),
3149            TYPE_ONDE       =SIMP(statut='o',typ='TXM' ),
3150            FONC_SIGNAL     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3151            DIST_ORIG       =SIMP(statut='o',typ='R' ),
3152          ),
3153
3154
3155
3156          FLUX_THM_REP    =FACT(statut='f',max='**',
3157            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3158                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3159                    AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
3160            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3161            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3162            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3163            FLUN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3164            FLUN_HYDR1      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3165            FLUN_HYDR2      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3166          ),
3167
3168          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
3169 )  ;
3170
3171
3172 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3173 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3174 # ======================================================================
3175 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3176 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3177 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3178 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3179 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3180 #
3181 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3182 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3183 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3184 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3185 #
3186 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3187 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3188 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3189 # ======================================================================
3190 AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther,
3191                       fr=" ",
3192                       reentrant='n',
3193             UIinfo={"groupes":("Outils métier",)},
3194          regles=(AU_MOINS_UN('CARA_TORSION', ),),
3195          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
3196          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",
3197                                into=("OUI","NON") ),
3198          CARA_TORSION    =FACT(statut='f',max='**',
3199            regles=(UN_PARMI('TOUT','GROUP_MA'),),
3200            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3201            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3202          ),
3203          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
3204 )  ;
3205 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3206 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3207 # ======================================================================
3208 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3209 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3210 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3211 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3212 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3213 #
3214 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3215 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3216 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3217 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3218 #
3219 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3220 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3221 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3222 # ======================================================================
3223 AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther
3224                     ,fr="Affectation de charges et conditions aux limites thermiques constantes",
3225                     reentrant='n',
3226             UIinfo={"groupes":("Modélisation",)},
3227       regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','ECHANGE',
3228                           'ECHANGE_PAROI','GRAD_TEMP_INIT','LIAISON_DDL','LIAISON_GROUP',
3229                           'LIAISON_UNIF','LIAISON_CHAMNO','RAYONNEMENT','LIAISON_MAIL' ),),
3230          VERI_DDL        =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="OUI"),
3231          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
3232
3233          TEMP_IMPO       =FACT(statut='f',max='**',
3234            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
3235                    AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF'),),
3236            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3237            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3238            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3239            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3240            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3241            TEMP            =SIMP(statut='f',typ='R'),
3242            TEMP_INF        =SIMP(statut='f',typ='R'),
3243            TEMP_SUP        =SIMP(statut='f',typ='R'), ),
3244
3245          FLUX_REP        =FACT(statut='f',max='**',
3246            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3247                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3248                    PRESENT_PRESENT('CARA_TORSION','GROUP_MA'),
3249                    AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','CARA_TORSION') ),
3250            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3251            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3252            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3253            FLUN            =SIMP(statut='f',typ='R'),
3254            FLUN_INF        =SIMP(statut='f',typ='R'),
3255            FLUN_SUP        =SIMP(statut='f',typ='R'),
3256            CARA_TORSION    =SIMP(statut='f',typ=tabl_aire_int ),
3257          ),
3258         
3259
3260          RAYONNEMENT     =FACT(statut='f',max='**',
3261            fr="Attention, exprimer les températures en Celsius si rayonnement",
3262            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3263                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3264            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3265            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3266            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3267            SIGMA           =SIMP(statut='o',typ='R'),
3268            EPSILON         =SIMP(statut='o',typ='R'),
3269            TEMP_EXT        =SIMP(statut='o',typ='R'),
3270          ),
3271          
3272          ECHANGE         =FACT(statut='f',max='**',
3273            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3274                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3275                    AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
3276                    ENSEMBLE('COEF_H','TEMP_EXT',),
3277                    ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
3278                              ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
3279            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3280            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3281            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3282            COEF_H          =SIMP(statut='f',typ='R'),
3283            TEMP_EXT        =SIMP(statut='f',typ='R'),
3284            COEF_H_INF      =SIMP(statut='f',typ='R'),
3285            TEMP_EXT_INF    =SIMP(statut='f',typ='R'),
3286            COEF_H_SUP      =SIMP(statut='f',typ='R'),
3287            TEMP_EXT_SUP    =SIMP(statut='f',typ='R'),
3288          ),         
3289          
3290          SOURCE          =FACT(statut='f',max='**',
3291            regles=(UN_PARMI('SOUR','SOUR_CALCULEE',),
3292                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3293                    PRESENT_ABSENT('SOUR_CALCULEE','TOUT','GROUP_MA','MAILLE'),),
3294            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3295            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3296            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3297            SOUR            =SIMP(statut='f',typ='R'),
3298            SOUR_CALCULEE   =SIMP(statut='f',typ=(cham_elem_sour_r) ),
3299          ),
3300          
3301          GRAD_TEMP_INIT  =FACT(statut='f',max='**',
3302            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3303                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3304                    AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
3305            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3306            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3307            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3308            FLUX_X          =SIMP(statut='f',typ='R' ),
3309            FLUX_Y          =SIMP(statut='f',typ='R' ),
3310            FLUX_Z          =SIMP(statut='f',typ='R' ),
3311                          ),
3312                          
3313          LIAISON_DDL     =FACT(statut='f',max='**',
3314            regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
3315            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3316            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
3317            DDL             =SIMP(statut='f',typ='TXM',max='**',
3318                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3319            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
3320            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3321          ),
3322          
3323          LIAISON_GROUP   =FACT(statut='f',max='**',
3324            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
3325                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
3326                              EXCLUS('GROUP_MA_1','GROUP_NO_2'),
3327                              EXCLUS('GROUP_MA_1','NOEUD_2'),
3328                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
3329                              EXCLUS('GROUP_NO_1','MAILLE_2'),
3330                              EXCLUS('MAILLE_1','GROUP_NO_2'),
3331                              EXCLUS('MAILLE_1','NOEUD_2'),
3332                              EXCLUS('NOEUD_1','GROUP_MA_2'),
3333                              EXCLUS('NOEUD_1','MAILLE_2'),
3334                              EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
3335            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3336            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3337            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3338            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3339            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3340            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3341            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3342            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3343            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3344            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3345            DDL_1           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3346                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3347            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
3348            DDL_2           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3349                                  into=("TEMP","TEMP_INF","TEMP_SUP",) ),
3350            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
3351            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3352            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3353            TRAN            =SIMP(statut='f',typ='R',max='**'),
3354            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
3355            CENTRE          =SIMP(statut='f',typ='R',max='**'),
3356          ),
3357
3358          LIAISON_MAIL    =FACT(statut='f',max='**',
3359            regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'),
3360                    AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL',
3361                                'NOEUD_ESCL'),),
3362            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3363            MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3364            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3365            MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3366            GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3367            NOEUD_ESCL      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3368            TRAN            =SIMP(statut='f',typ='R',max='**' ),
3369            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**' ),
3370            CENTRE          =SIMP(statut='f',typ='R',max='**' ),
3371          ),      
3372          
3373          ECHANGE_PAROI   =FACT(statut='f',max='**',
3374            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
3375                    UN_PARMI('GROUP_MA_2','MAILLE_2'),),
3376            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3377            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3378            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3379            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3380            COEF_H          =SIMP(statut='f',typ='R'),
3381            TRAN            =SIMP(statut='f',typ='R',min=2,max=3),
3382            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
3383            CENTRE          =SIMP(statut='f',typ='R',min=2,max=3),
3384                          ),
3385
3386          LIAISON_UNIF    =FACT(statut='f',max='**',
3387            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3388            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3389            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3390            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3391            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3392            DDL             =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3393                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3394          ),
3395
3396          LIAISON_CHAMNO  =FACT(statut='f',max='**',
3397            CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),# CO()# "il faut definir une structure de donnee generique chamno"
3398            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3399            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
3400          ),
3401
3402          CONVECTION      =FACT(statut='f',max='**',
3403            VITESSE         =SIMP(statut='o',typ=(cham_no_depl_r) ),
3404          ),
3405
3406
3407          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
3408 )  ;
3409 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
3410 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3411 # ======================================================================
3412 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3413 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3414 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3415 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3416 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3417 #
3418 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3419 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3420 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3421 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3422 #
3423 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3424 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3425 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3426 # ======================================================================
3427 AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=33,sd_prod=char_ther,
3428                      fr="Affectation de charges et conditions aux limites thermiques fonction dune grandeur (temps, ...)",
3429                      reentrant='n',
3430             UIinfo={"groupes":("Modélisation",)},
3431       regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','FLUX_NL','ECHANGE',
3432                           'ECHANGE_PAROI','LIAISON_DDL','LIAISON_GROUP','LIAISON_UNIF',
3433                           'GRAD_TEMP_INIT','RAYONNEMENT'),),
3434          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
3435          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
3436
3437          TEMP_IMPO       =FACT(statut='f',max='**',
3438            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
3439                    AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF','EVOL_THER'),
3440                    PRESENT_ABSENT('EVOL_THER','TEMP','TEMP_INF','TEMP_SUP'),),
3441            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3442            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3443            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3444            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3445            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3446            EVOL_THER       =SIMP(statut='f',typ=(evol_ther) ),
3447            DDL             =SIMP(statut='f',typ='TXM',into=("TEMP",) ),
3448            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3449            TEMP_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3450            TEMP_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3451          ),
3452          
3453          FLUX_REP        =FACT(statut='f',max='**',
3454            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3455                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3456                    AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','FLUX_X','FLUX_Y','FLUX_Z'),),
3457            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3458            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3459            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3460            FLUN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3461            FLUN_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3462            FLUN_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3463            FLUX_X          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3464            FLUX_Y          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3465            FLUX_Z          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3466          ),
3467
3468          FLUX_NL         =FACT(statut='f',max='**',
3469            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3470                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3471            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3472            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3473            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3474            FLUN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3475          ), 
3476          
3477
3478          RAYONNEMENT     =FACT(statut='f',max='**',
3479            fr="Attention, exprimer les températures en Celsius si rayonnement",
3480            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3481                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3482            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3483            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3484            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3485            SIGMA           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3486            EPSILON         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3487            TEMP_EXT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3488          ),
3489          
3490
3491
3492          ECHANGE         =FACT(statut='f',max='**',
3493            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3494                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3495                    AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
3496                    ENSEMBLE('COEF_H','TEMP_EXT'),
3497                    ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
3498                    ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
3499            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3500            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3501            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3502            COEF_H          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3503            TEMP_EXT        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3504            COEF_H_INF      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3505            TEMP_EXT_INF    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3506            COEF_H_SUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3507            TEMP_EXT_SUP    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3508          ),
3509          
3510
3511          SOURCE          =FACT(statut='f',max='**',
3512            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
3513            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3514            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3515            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3516            SOUR            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3517          ),
3518          
3519          GRAD_TEMP_INIT  =FACT(statut='f',max='**',
3520            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3521                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3522                    AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
3523            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3524            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3525            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3526            FLUX_X          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3527            FLUX_Y          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3528            FLUX_Z          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3529          ),
3530          
3531          ECHANGE_PAROI   =FACT(statut='f',max='**',
3532            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
3533                         UN_PARMI('GROUP_MA_2','MAILLE_2'),),
3534            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3535            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3536            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3537            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3538            COEF_H          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3539            TRAN            =SIMP(statut='f',typ='R',min=2,max=3),
3540            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
3541            CENTRE          =SIMP(statut='f',typ='R',min=2,max=3),
3542          ),
3543
3544         LIAISON_DDL     =FACT(statut='f',max='**',
3545            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
3546            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3547            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
3548            DDL             =SIMP(statut='f',typ='TXM',max='**',into=("TEMP","TEMP_INF","TEMP_SUP") ),
3549            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
3550            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3551          ),
3552
3553          LIAISON_GROUP   =FACT(statut='f',max='**',
3554            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
3555                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
3556                              EXCLUS('GROUP_MA_1','GROUP_NO_2'),
3557                         EXCLUS('GROUP_MA_1','NOEUD_2'),
3558                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
3559                         EXCLUS('GROUP_NO_1','MAILLE_2'),
3560                         EXCLUS('MAILLE_1','GROUP_NO_2'),
3561                         EXCLUS('MAILLE_1','NOEUD_2'),
3562                         EXCLUS('NOEUD_1','GROUP_MA_2'),
3563                         EXCLUS('NOEUD_1','MAILLE_2'),
3564                         EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
3565            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3566            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3567            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3568            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3569            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3570            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3571            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3572            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3573            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3574            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3575            DDL_1           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3576                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3577            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
3578            DDL_2           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3579                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3580            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
3581            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3582            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3583            TRAN            =SIMP(statut='f',typ='R',max='**'),
3584            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
3585            CENTRE          =SIMP(statut='f',typ='R',max='**'),
3586          ),
3587
3588          LIAISON_UNIF    =FACT(statut='f',max='**',
3589            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3590            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3591            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3592            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3593            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3594            DDL             =SIMP(statut='f',typ='TXM',defaut="TEMP",
3595                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3596          ),
3597
3598          CONVECTION      =FACT(statut='f',max='**',
3599            VITESSE         =SIMP(statut='o',typ=(cham_no_depl_r) ),
3600          ),
3601
3602          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
3603 )  ;
3604 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3605 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3606 # ======================================================================
3607 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3608 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3609 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3610 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3611 # (AT YOUR OPTION) ANY LATER VERSION.
3612 #
3613 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3614 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3615 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3616 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3617 #
3618 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3619 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3620 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3621 # ======================================================================
3622 # RESPONSABLE VABHHTS J.PELLET
3623 AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
3624                    fr="Affectation de caractéristiques de matériaux à un maillage",
3625                          reentrant='n',
3626             UIinfo={"groupes":("Modélisation",)},
3627          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
3628          MODELE          =SIMP(statut='f',typ=modele_sdaster),
3629          AFFE            =FACT(statut='o',max='**',
3630            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
3631            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3632            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3633            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3634            MATER           =SIMP(statut='o',typ=mater_sdaster,max=30),
3635            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
3636            SECH_REF        =SIMP(statut='f',typ='R',val_min=0.E+0),
3637          ),
3638 )  ;
3639 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3640 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3641 # ======================================================================
3642 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3643 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3644 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3645 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3646 # (AT YOUR OPTION) ANY LATER VERSION.
3647 #
3648 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3649 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3650 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3651 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3652 #
3653 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3654 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3655 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3656 # ======================================================================
3657 # RESPONSABLE JMBHH01 J.M.PROIX
3658 AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
3659             UIinfo={"groupes":("Modélisation",)},
3660                  fr="Affectation des éléments finis sur le maillage",reentrant='n',
3661          regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),),
3662          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
3663          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
3664          VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ),
3665          AFFE_SOUS_STRUC =FACT(statut='f',
3666            regles=(UN_PARMI('TOUT','MAILLE'),),
3667            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3668            MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
3669            PHENOMENE       =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ),
3670          ),
3671          AFFE            =FACT(statut='f',max='**',
3672            regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),),
3673            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3674            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3675            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3676            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3677            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3678            PHENOMENE       =SIMP(statut='o',typ='TXM',
3679                                  into=("MECANIQUE","THERMIQUE","ACOUSTIQUE") ),
3680                 b_mecanique     =BLOC( condition = "PHENOMENE=='MECANIQUE'",
3681                                         fr="modelisations mécaniques",
3682                     MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
3683                                                                       "2D_DIS_T",
3684                                                                       "2D_DIS_TR",
3685                                                                       "2D_FLUI_ABSO",
3686                                                                       "2D_FLUI_PESA",
3687                                                                       "2D_FLUI_STRU",
3688                                                                       "2D_FLUIDE",
3689                                                                       "3D",
3690                                                                       "3D_ABSO",
3691                                                                       "3D_FAISCEAU",
3692                                                                       "3D_FLUI_ABSO",
3693                                                                       "3D_FLUIDE",
3694                                                                       "3D_HHM" ,
3695                                                                       "3D_HM",
3696                                                                       "3D_INCO",
3697                                                                       "3D_JOINT_CT",
3698                                                                       "3D_NS",
3699                                                                       "3D_SI",
3700                                                                       "3D_THH",
3701                                                                       "3D_THHM",
3702                                                                       "3D_THM",
3703                                                                       "3D_GRAD_EPSI",
3704                                                                       "3D_GRAD_VARI",
3705                                                                       "APPUI_REP",
3706                                                                       "ASSE_GRIL",
3707                                                                       "AXIS",
3708                                                                       "AXIS_FLUI_STRU",
3709                                                                       "AXIS_FLUIDE",
3710                                                                       "AXIS_FOURIER",
3711                                                                       "AXIS_HHM",
3712                                                                       "AXIS_HM",
3713                                                                       "AXIS_INCO",
3714                                                                       "AXIS_NS",
3715                                                                       "AXIS_SI",
3716                                                                       "AXIS_THH",
3717                                                                       "AXIS_THHM",
3718                                                                       "AXIS_THM",
3719                                                                       "AXIS_GRAD_VARI",
3720                                                                       "AXIS_FISSURE",
3721                                                                       "BARRE",
3722                                                                       "2D_BARRE",
3723                                                                       "C_PLAN",
3724                                                                       "C_PLAN_NS",
3725                                                                       "C_PLAN_SI",
3726                                                                       "C_PLAN_GRAD_EPSI",
3727                                                                       "C_PLAN_GRAD_VARI",
3728                                                                       "CABLE",
3729                                                                       "CABLE_POULIE",
3730                                                                       "COQUE_3D",
3731                                                                       "COQUE_AXIS",
3732                                                                       "COQUE_C_PLAN",
3733                                                                       "COQUE_D_PLAN",
3734                                                                       "D_PLAN",
3735                                                                       "D_PLAN_GRAD_EPSI",
3736                                                                       "D_PLAN_GRAD_VARI",
3737                                                                       "D_PLAN_NS",
3738                                                                       "PLAN_FISSURE",
3739                                                                       "D_PLAN_ABSO",
3740                                                                       "D_PLAN_HHM",
3741                                                                       "D_PLAN_HM",
3742                                                                       "D_PLAN_INCO",
3743                                                                       "D_PLAN_SI",
3744                                                                       "D_PLAN_THH",
3745                                                                       "D_PLAN_THHM",
3746                                                                       "D_PLAN_THM",
3747                                                                        "3D_HHMD",
3748                                                                        "3D_HMD",
3749                                                                        "3D_THHD",
3750                                                                        "3D_THVD",
3751                                                                        "3D_THHMD",
3752                                                                        "3D_THMD",
3753                                                                        "AXIS_HH2MD",
3754                                                                        "AXIS_HHMD",
3755                                                                        "AXIS_HMD",
3756                                                                        "AXIS_THHD",
3757                                                                        "AXIS_THH2D",
3758                                                                        "AXIS_THVD",
3759                                                                        "AXIS_THHMD",
3760                                                                        "AXIS_THH2MD",
3761                                                                        "AXIS_THMD",
3762                                                                        "D_PLAN_HHMD",
3763                                                                        "D_PLAN_HH2MD",
3764                                                                        "D_PLAN_HMD",
3765                                                                        "D_PLAN_THHD",
3766                                                                        "D_PLAN_THH2D",
3767                                                                        "D_PLAN_THVD",
3768                                                                        "D_PLAN_THH2MD",
3769                                                                        "D_PLAN_THHMD",
3770                                                                        "D_PLAN_THMD", 
3771                                                                       "DIS_T",
3772                                                                       "DIS_TR",
3773                                                                       "DKT",
3774                                                                       "DKTG",
3775                                                                       "DST",
3776                                                                       "FLUI_STRU",
3777                                                                       "GRILLE",
3778                                                                       "GRILLE_MEMBRANE",
3779                                                                       "POU_C_T",
3780                                                                       "POU_D_E",
3781                                                                       "POU_D_EM",
3782                                                                       "POU_D_T",
3783                                                                       "POU_D_T_GD",
3784                                                                       "POU_D_TG",
3785                                                                       "POU_D_TGM",
3786                                                                       "Q4G",
3787                                                                       "TUYAU_3M",
3788                                                                       "TUYAU_6M",
3789                                                                       "SHB8"
3790                                                                      )  )  ),
3791
3792                 b_thermique     =BLOC( condition = "PHENOMENE=='THERMIQUE'",
3793                                         fr="modelisations thermiques",
3794                     MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
3795                                                                       "3D",
3796                                                                       "3D_DIAG",
3797                                                                       "AXIS",
3798                                                                       "AXIS_DIAG",
3799                                                                       "AXIS_FOURIER",
3800                                                                       "COQUE",
3801                                                                       "COQUE_AXIS",
3802                                                                       "COQUE_PLAN",
3803                                                                       "PLAN",
3804                                                                       "PLAN_DIAG",
3805                                                                       ),),),
3806
3807                 b_acoustique    =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'",
3808                                         fr="modelisations acoustiques",
3809                      MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
3810                                                                        "3D",
3811                                                                        "PLAN"
3812                                                                        ), ),),
3813
3814          ),
3815 ) ;
3816 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
3817 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3818 # ======================================================================
3819 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3820 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3821 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3822 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3823 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3824 #
3825 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3826 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3827 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3828 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3829 #
3830 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3831 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3832 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3833 # ======================================================================
3834 AIDE=PROC(nom="AIDE",op=42,
3835        UIinfo={"groupes":("Modélisation",)},
3836        fr="Interrogation sur le catalogue des commandes et les concepts produits",
3837        regles=(AU_MOINS_UN('CONCEPT','TYPE_ELEM', ),),
3838        UNITE       =SIMP(statut='f',typ='I',defaut=8),  
3839        TYPE_ELEM   =FACT(fr="couple type_elem option",statut='f',
3840          INITEL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
3841                         ),
3842        CONCEPT     =FACT(statut='f',max='**',
3843          NOM          =SIMP(fr="liste des noms de concept",statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="*"),
3844          OPTION       =SIMP(fr="option d'édition de concept",statut='f',typ='TXM',defaut="TOUT_TYPE",
3845                                  into=("TOUT_TYPE","CREER","A_CREER",) ),
3846          ),
3847 ) ;
3848 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3849 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3850 # ======================================================================
3851 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3852 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3853 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3854 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3855 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3856 #
3857 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3858 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3859 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3860 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3861 #
3862 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3863 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3864 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3865 # ======================================================================
3866 # RESPONSABLE VABHHTS J.PELLET
3867 ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster,
3868                    fr="Assembler deux maillages sous un seul nom",
3869                    reentrant='n',
3870                    UIinfo={"groupes":("Maillage",)},
3871          MAILLAGE_1 =  SIMP(statut='o',typ=maillage_sdaster,),
3872          MAILLAGE_2 =  SIMP(statut='o',typ=maillage_sdaster,),
3873          OPERATION  =  SIMP(statut='o',typ='TXM',into=("SOUS_STR","SUPERPOSE","COLLAGE"),),
3874          b_collage  =  BLOC(condition = "OPERATION == 'COLLAGE'",
3875            COLLAGE  =  FACT(statut='o',
3876               GROUP_MA_1     =SIMP(statut='o',typ=grma),
3877               GROUP_MA_2     =SIMP(statut='o',typ=grma),
3878                              ),
3879                            ),
3880 )  ;
3881 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3882 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3883 # ======================================================================
3884 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3885 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3886 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3887 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3888 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3889 #
3890 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3891 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3892 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3893 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3894 #
3895 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3896 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3897 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3898 # ======================================================================
3899 ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=matr_asse_gene_r,
3900                     fr="Assemblage des matrices généralisées de macro éléments pour construction de la matrice globale généralisée",
3901                     reentrant='n',
3902             UIinfo={"groupes":("Matrices/vecteurs",)},
3903          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
3904          OPTION          =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","MASS_GENE","AMOR_GENE") ),
3905 )  ;
3906 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3907 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3908 # ======================================================================
3909 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3910 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3911 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3912 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3913 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3914 #
3915 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3916 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3917 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3918 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3919 #
3920 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3921 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3922 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3923 # ======================================================================
3924 # RESPONSABLE VABHHTS J.PELLET
3925 def asse_matrice_prod(MATR_ELEM,**args):
3926   if AsType(MATR_ELEM) == matr_elem_depl_r : return matr_asse_depl_r
3927   if AsType(MATR_ELEM) == matr_elem_depl_c : return matr_asse_depl_c
3928   if AsType(MATR_ELEM) == matr_elem_temp_r : return matr_asse_temp_r
3929   if AsType(MATR_ELEM) == matr_elem_pres_c : return matr_asse_pres_c
3930   raise AsException("type de concept resultat non prevu")
3931
3932 ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod,
3933                   fr="Construction d une matrice assemblée",reentrant='n',
3934             UIinfo={"groupes":("Matrices/vecteurs",)},
3935          MATR_ELEM       =SIMP(statut='o',
3936                                typ=(matr_elem_depl_r,matr_elem_depl_c,matr_elem_temp_r,matr_elem_pres_c) ),
3937          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster),
3938          CHAR_CINE       =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ),
3939          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
3940 )  ;
3941 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3942 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3943 # ======================================================================
3944 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3945 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3946 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3947 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3948 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3949 #
3950 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3951 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3952 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3953 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3954 #
3955 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3956 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3957 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3958 # ======================================================================
3959 ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene,
3960                     fr="Assemblage de vecteurs de chargement en coordonnées généralisées",
3961                     reentrant='n',
3962             UIinfo={"groupes":("Matrices/vecteurs",)},
3963          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
3964          CHAR_SOUS_STRUC =FACT(statut='o',max='**',
3965            SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
3966            VECT_ASSE       =SIMP(statut='o',typ=cham_no_depl_r ),
3967          ),
3968 )  ;
3969 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3970 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3971 # ======================================================================
3972 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3973 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3974 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3975 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3976 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3977 #
3978 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3979 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3980 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3981 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3982 #
3983 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3984 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3985 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3986 # ======================================================================
3987 # RESPONSABLE VABHHTS J.PELLET
3988 def asse_vecteur_prod(VECT_ELEM,**args):
3989   if AsType(VECT_ELEM) == vect_elem_depl_r : return cham_no_depl_r
3990   if AsType(VECT_ELEM) == vect_elem_temp_r : return cham_no_temp_r
3991   if AsType(VECT_ELEM) == vect_elem_pres_r : return cham_no_pres_r
3992   if AsType(VECT_ELEM) == vect_elem_pres_c : return cham_no_pres_c
3993   raise AsException("type de concept resultat non prevu ")
3994
3995 ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=asse_vecteur_prod,
3996                   fr="Assemblage d un second membre",reentrant='n',
3997             UIinfo={"groupes":("Matrices/vecteurs",)},
3998          VECT_ELEM       =SIMP(statut='o',typ=vect_elem,max='**'),
3999          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
4000          INFO            =SIMP(statut='f',typ='I',into=(1,2,) ),
4001 )  ;
4002 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
4003 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4004 # ======================================================================
4005 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4006 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4007 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4008 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4009 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4010 #
4011 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4012 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4013 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4014 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4015 #
4016 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4017 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4018 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4019 # ======================================================================
4020 CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster,
4021                      fr="Création d'une liste d'amortissements modaux calculés selon la règle du RCC-G",
4022                      reentrant='n',
4023             UIinfo={"groupes":("Résolution",)},
4024          ENER_SOL        =FACT(statut='o',
4025            regles=(UN_PARMI('GROUP_NO_RADIER','GROUP_MA_RADIER'),
4026                    PRESENT_ABSENT('COEF_GROUP','FONC_GROUP'),
4027 #  Peut-on remplacer les deux règles suivantes par un ENSEMBLE_('KRX','KRY','KRZ')
4028                    PRESENT_PRESENT('KRX','KRY'),
4029                    PRESENT_PRESENT('KRX','KRZ'),
4030                    PRESENT_ABSENT('COOR_CENTRE','NOEUD_CENTRE'),
4031                    PRESENT_ABSENT('GROUP_NO_CENTRE','NOEUD_CENTRE'),
4032                    PRESENT_ABSENT('GROUP_NO_CENTRE','COOR_CENTRE'),),
4033            METHODE         =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","RIGI_PARASOL") ),
4034            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
4035            GROUP_NO_RADIER =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4036            GROUP_MA_RADIER =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4037            FONC_GROUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4038            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
4039            KX              =SIMP(statut='o',typ='R' ),
4040            KY              =SIMP(statut='o',typ='R' ),
4041            KZ              =SIMP(statut='o',typ='R' ),
4042            KRX             =SIMP(statut='f',typ='R' ),
4043            KRY             =SIMP(statut='f',typ='R' ),
4044            KRZ             =SIMP(statut='f',typ='R' ),
4045            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
4046            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
4047            COOR_CENTRE     =SIMP(statut='f',typ='R',max=3),
4048          ),
4049          AMOR_INTERNE    =FACT(statut='o',
4050            ENER_POT        =SIMP(statut='o',typ=tabl_ener_pot ),
4051            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
4052            AMOR_REDUIT     =SIMP(statut='o',typ='R',max='**'),
4053          ),
4054          AMOR_SOL        =FACT(statut='o',
4055            AMOR_REDUIT     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4056            FONC_AMOR_GEO   =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
4057            HOMOGENE        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
4058            SEUIL           =SIMP(statut='f',typ='R',defaut= 0.3 ),
4059          ),
4060 )  ;
4061 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
4062 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4063 # ======================================================================
4064 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4065 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4066 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4067 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4068 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4069 #
4070 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4071 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4072 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4073 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4074 #
4075 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4076 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4077 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4078 # ======================================================================
4079 # RESPONSABLE JMBHH01 J.M.PROIX
4080 def calc_cham_elem_prod(OPTION,**args):
4081
4082
4083 # options thermiques
4084
4085   if OPTION == "FLUX_ELGA_TEMP" : return cham_elem_flux_r
4086   if OPTION == "FLUX_ELNO_TEMP" : return cham_elem_flux_r
4087   if OPTION == "SOUR_ELGA_ELEC" : return cham_elem_sour_r
4088
4089 # options acoustiques
4090
4091   if OPTION == "PRES_ELNO_DBEL" : return cham_elem_dbel_r
4092   if OPTION == "PRES_ELNO_REEL" : return cham_elem_pres_r
4093   if OPTION == "PRES_ELNO_IMAG" : return cham_elem_pres_r
4094
4095 # autres options
4096
4097   if OPTION == "COOR_ELGA" :      return cham_elem_geom_r
4098
4099   raise AsException("type de concept resultat non prevu")
4100
4101 CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=calc_cham_elem_prod,
4102                     fr="Calcul de champs par éléments à partir de champs solution ou de champs par éléments",
4103                     reentrant='n',
4104             UIinfo={"groupes":("Post traitements",)},
4105          MODELE          =SIMP(statut='o',typ=modele_sdaster),
4106          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
4107          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
4108
4109          regles=(EXCLUS('TOUT','GROUP_MA',),EXCLUS('TOUT','MAILLE',),),
4110          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4111          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4112          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4113
4114 #
4115 #
4116 #  introduire un mot cle de type modelisation : mécanique,thermique,...
4117 #
4118
4119          OPTION          =SIMP(statut='o',typ='TXM',
4120                                into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC",
4121                                      "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG",
4122                                      "COOR_ELGA"), ),
4123
4124          b_thermique  =BLOC(condition="OPTION in ('FLUX_ELNO_TEMP','FLUX_ELGA_TEMP','SOUR_ELGA_ELEC',)",
4125            TEMP            =SIMP(statut='o',typ=(cham_no_temp_r,)),
4126          ),
4127
4128          b_acoustique  =BLOC(condition="OPTION in ('PRES_ELNO_DBEL','PRES_ELNO_REEL','PRES_ELNO_IMAG',)",
4129            PRES            =SIMP(statut='o',typ=(cham_no_pres_c,)),
4130          ),
4131
4132
4133
4134          EXCIT           =FACT(statut='f',max='**',
4135                regles=(EXCLUS('FONC_MULT','COEF_MULT', ),),
4136                CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou)),
4137                FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4138                COEF_MULT       =SIMP(statut='f',typ='R'), ),
4139
4140          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0),
4141          ACCE            =SIMP(statut='f',typ=cham_no_depl_r),
4142          NUME_COUCHE     =SIMP(statut='f',typ='I',defaut= 1),
4143          NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY") ),
4144          MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
4145          ANGLE           =SIMP(statut='f',typ='I',defaut= 0),
4146 )  ;
4147 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4148 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4149 # ======================================================================
4150 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4151 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4152 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4153 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4154 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4155 #
4156 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4157 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4158 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4159 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4160 #
4161 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4162 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4163 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4164 # ======================================================================
4165 # RESPONSABLE VABHHTS J.PELLET
4166 def calc_char_cine_prod(CHAR_CINE,**args):
4167   if AsType(CHAR_CINE) == char_cine_meca : return cham_no_depl_r
4168   if AsType(CHAR_CINE) == char_cine_ther : return cham_no_temp_r
4169   if AsType(CHAR_CINE) == char_cine_acou : return cham_no_pres_c
4170   raise AsException("type de concept resultat non prevu")
4171
4172 CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=calc_char_cine_prod,
4173                     fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)",
4174                     reentrant='n',
4175             UIinfo={"groupes":("Matrices/vecteurs",)},
4176          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
4177          CHAR_CINE       =SIMP(statut='o',typ=(char_cine_meca,char_cine_ther,char_cine_acou ) ),
4178          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4179          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
4180 )  ;
4181 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4182 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4183 # ======================================================================
4184 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4185 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4186 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4187 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4188 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4189 #
4190 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4191 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4192 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4193 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4194 #
4195 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4196 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4197 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4198 # ======================================================================
4199 def calc_char_seisme_prod(MATR_MASS,**args ):
4200   if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_depl_r
4201   raise AsException("type de concept resultat non prevu")
4202
4203 CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op=  92,sd_prod=calc_char_seisme_prod,
4204                       reentrant='n',
4205             UIinfo={"groupes":("Matrices/vecteurs",)},
4206          regles=(UN_PARMI('MONO_APPUI','MODE_STAT' ),),
4207          MATR_MASS       =SIMP(statut='o',typ=matr_asse_depl_r,fr="Matrice de masse" ),
4208          DIRECTION       =SIMP(statut='o',typ='R',max=6,fr="Directions du séisme imposé"),
4209          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),         
4210          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
4211          b_mode_stat     =BLOC ( condition = "MODE_STAT != None",
4212            regles=(UN_PARMI('NOEUD','GROUP_NO' ),),
4213            NOEUD           =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),
4214            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4215          ),
4216          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4217 )  ;
4218 #& MODIF COMMANDE  DATE 23/11/2004   AUTEUR ASSIRE A.ASSIRE 
4219 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4220 # ======================================================================
4221 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4222 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4223 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4224 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4225 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4226 #
4227 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4228 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4229 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4230 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4231 #
4232 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4233 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4234 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4235 # ======================================================================
4236 # RESPONSABLE JMBHH01 J.M.PROIX
4237 def calc_elem_prod(RESULTAT,**args):
4238    if AsType(RESULTAT) != None : return AsType(RESULTAT)
4239    raise AsException("type de concept resultat non prevu")
4240
4241 CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
4242             UIinfo={"groupes":("Post traitements",)},
4243             fr="Compléter ou créer un résultat en calculant des champs par éléments (contraintes, déformations,... )",
4244      MODELE          =SIMP(statut='f',typ=modele_sdaster),
4245      CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
4246      CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
4247
4248      RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca,
4249                                 mode_stat,mode_stat_depl,mode_stat_acce,mode_stat_forc,
4250                                 evol_noli,mult_elas,fourier_elas,
4251                                 evol_ther,base_modale,
4252                                 acou_harmo,mode_acou,mode_flamb) ,
4253                 fr="Résultat d'une commande globale"),
4254                                            
4255      regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
4256                     'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),),
4257      TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4258      NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
4259      NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
4260      NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
4261      NOM_CAS         =SIMP(statut='f',typ='TXM' ),
4262
4263      INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
4264      FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
4265      LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
4266      LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
4267      PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
4268      CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
4269      LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
4270      
4271      TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4272      GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
4273                            fr="le calcul ne sera effectué que sur ces mailles là"),
4274      MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**',
4275                            fr="le calcul ne sera effectué que sur ces mailles là"),
4276
4277 #    options pour des resultats lineaire 
4278
4279      b_lineaire =BLOC( condition = "AsType(RESULTAT) in (evol_elas,dyna_trans,dyna_harmo,mode_meca,\
4280                                                                mode_stat,mode_stat_depl,mode_stat_acce,mode_stat_forc,\
4281                                                                mult_elas,fourier_elas,base_modale,mode_flamb)",
4282                                                                fr="options mecaniques lineaires",
4283           TYPE_OPTION =SIMP(statut='f',typ='TXM',defaut='TOUTES',fr="type d'options mecaniques lineaires",
4284                            into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT","DERIVEES",
4285                                  "INDI_ERRE","AUTRES","TOUTES"),
4286                            ),
4287           b_toutes=BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol elas",
4288                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="SIEF_ELNO_ELGA",
4289                               #  contraintes
4290                            into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
4291                                   "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART",
4292                                   "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","SIGM_ELNO_TUYO",
4293                               # déformations
4294                                  "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELGA_DEPL","EPSG_ELNO_DEPL",
4295                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",
4296                               #  ENER    
4297                                  "EPOT_ELEM_DEPL","ECIN_ELEM_DEPL","ENEL_ELGA","ENEL_ELNO_ELGA",
4298                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM",
4299                               #  estimateurs erreur 
4300                                  "SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2",
4301                                  "SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA",
4302                               #  CRIT    
4303                                  "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","CRIT_ELNO_RUPT",
4304                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4305                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
4306                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4307                               #  derivees    
4308                                  "DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI",
4309                               #  autres      
4310                                  "VNOR_ELEM_DEPL","VALE_NCOU_MAXI","PRES_DBEL_DEPL"),),
4311
4312                NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4313                                 fr="numero de couche dans l'épaisseur de la coque ou du tuyau" ),
4314                NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4315                                 fr="position dans l'épaisseur de la coque, ou de la couche" ),
4316                ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice"),
4317                NOM_CHAM  =SIMP(statut='f',typ='TXM',fr="nom du champ pour VALE_NCOU_MAXI", ),
4318                NOM_CMP   =SIMP(statut='f',typ='TXM',fr="nom de la composante pour VALE_NCOU_MAXI",  ),
4319                PLAN =     SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL"),
4320                                fr="Plan de calcul pour les plaques excentrées" ),
4321               
4322               
4323                EXCIT           =FACT(statut='f',max='**',
4324                                      fr="Charges contenant les températures, les efforts répartis pour les poutres...",
4325                                      regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4326                     CHARGE          =SIMP(statut='o',typ=char_meca ),
4327                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4328                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4329                     COEF_MULT       =SIMP(statut='f',typ='R'),
4330                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
4331                     PHAS_DEG        =SIMP(statut='f',typ='R'),
4332                     PUIS_PULS       =SIMP(statut='f',typ='I'),
4333                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4334                 
4335                                 
4336                             ),
4337 #             fin bloc b_toutes
4338
4339           b_sigm_massif =BLOC( condition = "TYPE_OPTION == 'SIGM_MASSIF'",
4340                                      fr="options de contraintes elasticite 2D et 3D",
4341               OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut='SIEF_ELNO_ELGA',
4342                             fr="option de calcul des contraintes",
4343                            into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",),),
4344                            
4345                     b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',) or \
4346                                       (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION ) or \
4347                                       (type(OPTION)==type(()) and  'SIEF_ELGA_DEPL' in OPTION ) ",
4348                                       fr="charge contenant les temperatures ou autre charge",
4349                          EXCIT           =FACT(statut='f',max='**',
4350                          CHARGE          =SIMP(statut='o',typ=char_meca ),),
4351                                     ),
4352                                   ),
4353                                   
4354           b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'",
4355                                       fr="options de contraintes elasticite poutres, coques, tuyaux",
4356                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut='SIEF_ELNO_ELGA',
4357                             fr="option de calcul des contraintes ou efforts generalises",
4358                             into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL","SIGM_ELNO_TUYO",
4359                                    "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART",
4360                                    "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF"),),
4361                            
4362                b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',\
4363                                                        'SIPO_ELNO_DEPL','EFGE_ELNO_DEPL',) or \
4364                                             (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION ) or \
4365                                             (type(OPTION)==type(()) and  'SIEF_ELGA_DEPL' in OPTION ) or \
4366                                             (type(OPTION)==type(()) and  'SIPO_ELNO_DEPL' in OPTION ) or \
4367                                             (type(OPTION)==type(()) and  'EFGE_ELNO_DEPL' in OPTION ) ",
4368                                             fr="charge contenant les temperatures ou les efforts répartis (poutres) ou autre",
4369                     EXCIT           =FACT(statut='f',max='**',
4370                                           regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4371                          CHARGE          =SIMP(statut='f',typ=char_meca ),
4372                          FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4373                          FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4374                          COEF_MULT       =SIMP(statut='f',typ='R'),
4375                          COEF_MULT_C     =SIMP(statut='f',typ='C'),
4376                          PHAS_DEG        =SIMP(statut='f',typ='R'),
4377                          PUIS_PULS       =SIMP(statut='f',typ='I'),
4378                          TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4379                              ),
4380                           
4381                b_niv_couche = BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL',) or \
4382                                                  (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION) ",
4383                                                  
4384                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4385                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4386                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4387                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4388                               ),     
4389                                  
4390                b_sigtuyo = BLOC( condition = "OPTION == 'SIGM_ELNO_TUYO' or \
4391                                   (type(OPTION)==type(()) and  'SIGM_ELNO_TUYO' in OPTION) ",
4392                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1 ,
4393                                            fr="numero de couche dans l'épaisseur du tuyau" ),
4394                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice" ),
4395                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4396                                            fr="position dans l'épaisseur de la couche" ),
4397                                ),
4398                b_plan_excentrement    =BLOC( condition = "OPTION=='EFGE_ELNO_DEPL' or \
4399                                             (type(OPTION)==type(()) and 'EFGE_ELNO_DEPL' in OPTION)",
4400                                              fr="Plan de calcul des efforts pour les plaques avec excentrement",
4401                          PLAN =     SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL"),
4402                                          fr="Plan de calcul des efforts pour les plaques avec excentrement",),
4403                          
4404                             ),
4405                             ),
4406 #          fin bloc contraintes struct
4407
4408           b_epsi         =BLOC( condition = "TYPE_OPTION=='EPSI'",
4409                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4410                            into=("EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPME_ELNO_DEPL","EPME_ELGA_DEPL",
4411                                  "DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",),
4412                                  ),
4413                b_niv_couche = BLOC( condition = "OPTION =='EPSI_ELNO_DEPL' or \
4414                                   (type(OPTION)==type(()) and  'EPSI_ELNO_DEPL' in OPTION) ",
4415                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4416                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4417                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4418                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4419                                  ) ,
4420                b_epstuyo = BLOC( condition = "OPTION == 'EPSI_ELNO_TUYO' or \
4421                                   (type(OPTION)==type(()) and  'EPSI_ELNO_TUYO' in OPTION) ",
4422                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1 ,
4423                                            fr="numero de couche dans l'épaisseur du tuyau" ),
4424                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice" ),
4425                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4426                                            fr="position dans l'épaisseur de la couche" ),
4427                                ),
4428 b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ELGA_DEPL','EPSI_ELNO_DEPL','EPSI_ELNO_TUYO' ) or \
4429                                       (type(OPTION)==type(()) and  'EPSI_ELNO_DEPL' in OPTION ) or \
4430                                       (type(OPTION)==type(()) and  'EPSI_ELNO_TUYO' in OPTION ) or \
4431                                       (type(OPTION)==type(()) and  'EPSI_ELGA_DEPL' in OPTION ) or \
4432                                       (type(OPTION)==type(()) and  'EPME_ELNO_DEPL' in OPTION ) or \
4433                                       (type(OPTION)==type(()) and  'EPME_ELGA_DEPL' in OPTION ) ",
4434                                       fr="charge contenant les temperatures",
4435                     EXCIT           =FACT(statut='f',max='**',
4436                          CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4437                                  ),
4438                                        ),
4439           b_ener         =BLOC( condition = "TYPE_OPTION=='ENER'",
4440                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4441                            into=("EPOT_ELEM_DEPL","ECIN_ELEM_DEPL","ENEL_ELGA","ENEL_ELNO_ELGA",
4442                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM",),
4443                                  ),
4444                b_charge =BLOC( condition = "OPTION in ('EPOT_ELEM_DEPL','ECIN_ELEM_DEPL','ENEL_ELGA','ENEL_ELNO_ELGA',) or \
4445                                       (type(OPTION)==type(()) and  'EPOT_ELEM_DEPL' in OPTION ) or \
4446                                       (type(OPTION)==type(()) and  'ENEL_ELGA' in OPTION ) or \
4447                                       (type(OPTION)==type(()) and  'ENEL_ELNO_ELGA' in OPTION ) or \
4448                                       (type(OPTION)==type(()) and  'ECIN_ELEM_DEPL' in OPTION ) ",
4449                                       fr="charge contenant les temperatures",
4450                     EXCIT           =FACT(statut='f',max='**',
4451                          CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),),
4452                               ),
4453                                  ),
4454                                  
4455           b_crit         =BLOC( condition = "TYPE_OPTION=='CRIT'",
4456                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4457                            into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
4458                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4459                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
4460                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","CRIT_ELNO_RUPT","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4461                                  ) ),
4462                b_niv_couche = BLOC( condition = "OPTION in ('CRIT_ELNO_RUPT','EQUI_ELNO_SIGM') or \
4463                                   (type(OPTION)==type(()) and  'EQUI_ELNO_SIGM' in OPTION) or \
4464                                   (type(OPTION)==type(()) and  'SIEQ_ELNO_TUYO' in OPTION) or \
4465                                   (type(OPTION)==type(()) and  'CRIT_ELNO_RUPT' in OPTION) ",
4466                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4467                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4468                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4469                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4470                                   ),        
4471                 EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4472                      CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4473                                  ),
4474                                  
4475           b_derivees         =BLOC( condition = "TYPE_OPTION=='DERIVEES'",
4476                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4477                            into=("DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI",
4478                                  ) ),),
4479
4480           b_autres         =BLOC( condition = "TYPE_OPTION=='AUTRES'",
4481                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4482                            into=("VALE_NCOU_MAXI","PRES_DBEL_DEPL","VNOR_ELEM_DEPL",
4483                                  ) ),
4484                b_maxi    =BLOC( condition = "OPTION=='VALE_NCOU_MAXI' or \
4485                                 (type(OPTION)==type(()) and 'VALE_NCOU_MAXI' in OPTION)",
4486                     NOM_CHAM  =SIMP(statut='o',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI" ),
4487                     NOM_CMP   =SIMP(statut='o',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),),
4488                                  ),
4489
4490           b_indi_erre         =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'",
4491                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELGA_NORE",
4492                            into=("SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2",
4493                                  "SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA",
4494                                  ) ),
4495                 EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4496                      CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4497                                  ),
4498                                  ),
4499 #    fin bloc lineaire                                
4500                             
4501                                  
4502 #    statique ou dynamique non lineaire : evol_noli                                
4503      b_noli          =BLOC( condition = "AsType(RESULTAT) == evol_noli",fr="options evol noli",
4504           TYPE_OPTION =SIMP(statut='f',typ='TXM',defaut='TOUTES',
4505                            into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT",
4506                                  "VARI","INDI_ERRE","TOUTES","AUTRES"),
4507                           ),
4508           b_toutes =BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol elas",
4509                OPTION      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4510                            into=( "SIEF_ELNO_ELGA",
4511                                   "SIGM_ELNO_TUYO","SIGM_ELNO_COQU",
4512                                   "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","EFGE_ELNO_CART",
4513                                   # EPSI
4514                                   "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL",
4515                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL",
4516                                  "DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",
4517                                  "EPSP_ELNO","EPSP_ELGA",
4518                                  "EPGR_ELNO","EPGR_ELGA",
4519                                  "VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU","CRIT_ELNO_RUPT",
4520                                  # CRIT
4521                                  "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4522                                  "ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2",
4523                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4524                                  "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM",
4525                                  "ENDO_ELGA","ENDO_ELNO_ELGA","INDI_LOCA_ELGA",
4526                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO",
4527                                  "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF","ENEL_ELGA","ENEL_ELNO_ELGA",
4528                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","VALE_NCOU_MAXI"),
4529                                ),
4530                NORME =SIMP(statut='f',typ='TXM',defaut="VMIS",
4531                                  into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE"),
4532                                  fr="Type de norme pour les options RADI_ et DCHA_"),
4533                                  
4534                NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,fr="numéro de couche pour coques et tuyaux" ),
4535                NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4536                                  fr="choix du point d'intégration dans la couche" ),
4537                ANGLE       =SIMP(statut='f',typ='I',defaut= 0 ,fr="angle de dépouillement pour les tuyaux"),
4538                NOM_CHAM  =SIMP(statut='f',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI"),
4539                NOM_CMP   =SIMP(statut='f',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),
4540                PLAN =     SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL") ),
4541               
4542                EXCIT           =FACT(statut='f',max='**',
4543                                       regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4544                     CHARGE          =SIMP(statut='o',typ=char_meca ),
4545                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4546                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4547                     COEF_MULT       =SIMP(statut='f',typ='R'),
4548                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
4549                     PHAS_DEG        =SIMP(statut='f',typ='R'),
4550                     PUIS_PULS       =SIMP(statut='f',typ='I'),
4551                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4552                          ),
4553                          
4554           b_sigm_massif =BLOC( condition = "TYPE_OPTION == 'SIGM_MASSIF'",
4555                                       fr="options de contraintes non lin 2D et 3D",
4556                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4557                               #  contraintes
4558                            into=( "SIEF_ELNO_ELGA",),),
4559                             ),
4560                             
4561           b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'",
4562                                        fr="options de contraintes non lin poutres, coques",
4563                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4564                               #  contraintes
4565                            into=( "SIEF_ELNO_ELGA","EFGE_ELNO_CART","SIGM_ELNO_TUYO","SIGM_ELNO_COQU",
4566                            "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF",),),
4567                b_sigcoqu = BLOC( condition = "OPTION in ('SIGM_ELNO_COQU',) or \
4568                                   (type(OPTION)==type(()) and  'SIGM_ELNO_COQU' in OPTION) ",
4569                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4570                          fr="numéro de couche dans l'épaisseur de la coque"  ),
4571                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4572                          fr="choix du point d'intégration dans la couche"  ),
4573                               ),        
4574                b_sigtuyo = BLOC( condition = "OPTION in ('SIGM_ELNO_TUYO',) or \
4575                                   (type(OPTION)==type(()) and  'SIGM_ELNO_TUYO' in OPTION)",
4576                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4577                          fr="numéro de couche dans l'épaisseur du tuyau" ),
4578                     ANGLE       =SIMP(statut='f',typ='I',defaut= 0,
4579                          fr="angle de dépouillement pour les tuyaux, en degres" ),
4580                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4581                          fr="choix du point d'intégration dans la couche"),
4582                                ),
4583                              ),
4584                              
4585           b_epsi         =BLOC( condition = "TYPE_OPTION=='EPSI'",
4586                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4587                            into=( "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL",
4588                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL",
4589                                  "EPSP_ELNO","EPSP_ELGA","EPGR_ELNO","EPGR_ELGA",
4590                                  "DEGE_ELNO_DEPL",),
4591                                  ),
4592                b_niv_couche = BLOC( condition = "OPTION =='EPSI_ELNO_DEPL' or \
4593                                   (type(OPTION)==type(()) and  'EPSI_ELNO_DEPL' in OPTION) ",
4594                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4595                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4596                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4597                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4598                                  ) ,
4599                EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4600                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4601                                  ),
4602                b_epstuyo = BLOC( condition = "OPTION == 'EPSI_ELNO_TUYO' or \
4603                                   (type(OPTION)==type(()) and  'EPSI_ELNO_TUYO' in OPTION) ",
4604                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1 ,
4605                                            fr="numero de couche dans l'épaisseur du tuyau" ),
4606                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice" ),
4607                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4608                                            fr="position dans l'épaisseur de la couche" ),
4609               EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4610                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4611                                ),
4612                                  
4613           b_vari         =BLOC( condition = "TYPE_OPTION=='VARI'",
4614                                        fr="Calcul et extraction des variables internes",
4615                    OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4616                                    into=("VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU",),
4617                                  ),
4618                b_varcoqu = BLOC( condition = "OPTION in ('VARI_ELNO_COQU',) or \
4619                                   (type(OPTION)==type(()) and  'VARI_ELNO_COQU' in OPTION) ",
4620                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4621                          fr="numéro de couche dans l'épaisseur de la coque"),
4622                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4623                          fr="choix du point d'intégration dans la couche" ),
4624                               ),        
4625                b_vartuyo = BLOC( condition = "OPTION in ('VARI_ELNO_TUYO',) or \
4626                                   (type(OPTION)==type(()) and  'VARI_ELNO_TUYO' in OPTION) ",
4627                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4628                          fr="numéro de couche dans l'épaisseur de tuyau" ),
4629                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,
4630                          fr="angle de dépouillement pour les tuyaux, en degres"),
4631                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4632                          fr="choix du point d'intégration dans la couche" ),
4633                                ),
4634                                  ),
4635                                  
4636           b_ener         =BLOC( condition = "TYPE_OPTION=='ENER'",
4637                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4638                            into=("ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","ENEL_ELGA","ENEL_ELNO_ELGA",),
4639                                  ),
4640                EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4641                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4642                                  ),
4643                                  
4644           b_crit         =BLOC( condition = "TYPE_OPTION=='CRIT'",
4645                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4646                            into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
4647                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4648                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","CRIT_ELNO_RUPT",
4649                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
4650                                  "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4651                                  ) ),
4652                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,fr="numéro de couche dans l'épaisseur de la coque"),
4653                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4654                          fr="choix du point d'intégration dans la couche" ),
4655                                  ),
4656                                  
4657           b_autres         =BLOC( condition = "TYPE_OPTION=='AUTRES'",
4658                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4659                            into=("VALE_NCOU_MAXI",) ),
4660                b_maxi    =BLOC( condition = "OPTION=='VALE_NCOU_MAXI' or \
4661                                 (type(OPTION)==type(()) and 'VALE_NCOU_MAXI' in OPTION)",
4662                     NOM_CHAM  =SIMP(statut='o',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI" ),
4663                     NOM_CMP   =SIMP(statut='o',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),),
4664                                  ),
4665
4666
4667           b_indi_erre         =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'",
4668                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELGA_NORE",
4669                            into=("ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2",
4670                                  "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM",
4671                                  ) ),
4672                b_indic = BLOC( condition ="OPTION in ('DCHA_ELNO_SIGM','DCHA_ELGA_SIGM','RADI_ELNO_SIGM','RADI_ELGA_SIGM') or\
4673                                             (type(OPTION)==type(()) and 'DCHA_ELNO_SIGM' in OPTION) or\
4674                                             (type(OPTION)==type(()) and 'DCHA_ELGA_SIGM' in OPTION) or\
4675                                             (type(OPTION)==type(()) and 'RADI_ELNO_SIGM' in OPTION) or\
4676                                             (type(OPTION)==type(()) and 'RADI_ELGA_SIGM' in OPTION) ",
4677                     NORME =SIMP(statut='f',typ='TXM',defaut="VMIS",
4678                                  into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE") ),
4679                                  ),
4680                                  ),
4681                                  ),
4682 #          fin bloc evol_noli
4683
4684 #           thermique : evol_ther                                
4685      b_ther          =BLOC( condition = "AsType(RESULTAT) == evol_ther",fr="options thermiques",
4686           OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4687                            into=("DEUL_ELGA_TEMP","DETE_ELNO_DLTE","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP",
4688                                   "HYDR_ELNO_ELGA","DURT_ELGA_META","DURT_ELNO_META",
4689                                  "SOUR_ELGA_ELEC","ERTH_ELEM_TEMP","ERTH_ELNO_ELEM",),),
4690                EXCIT           =FACT(statut='f',max='**',
4691                     regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4692                     CHARGE          =SIMP(statut='o',typ=char_ther ),
4693                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4694                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4695                     COEF_MULT       =SIMP(statut='f',typ='R'),
4696                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
4697                     PHAS_DEG        =SIMP(statut='f',typ='R'),
4698                     PUIS_PULS       =SIMP(statut='f',typ='I'),
4699                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),
4700                                      ),
4701                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4702                                       fr="choix du point de calcul dans l'épaisseur des coques"  ),
4703                                  
4704                                  ),
4705                                  
4706 #    acoustique                                
4707      b_acou          =BLOC( condition = "AsType(RESULTAT) in (acou_harmo,mode_acou,)",fr="options acoustiques",
4708           OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4709                            into=("PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG",
4710                                  "INTE_ELNO_ACTI","INTE_ELNO_REAC",
4711                                  ),),
4712           EXCIT           =FACT(statut='f',max='**',
4713                 regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4714                 CHARGE          =SIMP(statut='o',typ=char_acou ),
4715                 FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4716                 FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4717                 COEF_MULT       =SIMP(statut='f',typ='R'),
4718                 COEF_MULT_C     =SIMP(statut='f',typ='C'),
4719                 PHAS_DEG        =SIMP(statut='f',typ='R'),
4720                 PUIS_PULS       =SIMP(statut='f',typ='I'),
4721                 TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4722                                  ),
4723                                  
4724      SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
4725                            fr="Liste des paramètres de sensibilité.",
4726                            ang="List of sensitivity parameters"),
4727      INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
4728      TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4729 ) ;
4730 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
4731 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4732 # ======================================================================
4733 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4734 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4735 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4736 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4737 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4738 #
4739 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4740 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4741 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4742 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4743 #
4744 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4745 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4746 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4747 # ======================================================================
4748 def calc_fatigue_prod(TYPE_CALCUL,OPTION,**args):
4749   if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem_dommag
4750   if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem_facy_r
4751   if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_NOEUD": return cham_no_facy_r
4752   raise AsException("type de calcul non prevu")
4753
4754 CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant='n',
4755                   fr="Calcul d un cham de dommage ou d un cisaillement maximal dans le plan critique.",
4756             UIinfo={"groupes":("Post traitements",)},
4757
4758          TYPE_CALCUL = SIMP(statut='o',typ='TXM',
4759                                into=("CUMUL_DOMMAGE","FATIGUE_MULTI",) ),
4760
4761          b_cumul_domma   =BLOC(condition = "TYPE_CALCUL == 'CUMUL_DOMMAGE'",
4762                                fr="Calcul d un champ de dommage subi par une structure.",
4763            regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),),
4764            OPTION          =SIMP(statut='o',typ='TXM',
4765                                  into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM",
4766                                        "DOMA_ELNO_EPSI","DOMA_ELGA_EPSI",
4767                                        "DOMA_ELNO_EPME","DOMA_ELGA_EPME") ),
4768            HISTOIRE        =FACT(statut='o',
4769              RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,
4770                                                    evol_noli) ),
4771              EQUI_GD         =SIMP(statut='f',typ='TXM',defaut="VMIS_SG",
4772                                  into=("VMIS_SG","INVA_2_SG") ),
4773            ),
4774            DOMMAGE         =SIMP(statut='o',typ='TXM',
4775                                into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON",
4776                                      "TAHERI_MIXTE",) ),
4777            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
4778            TAHERI_NAPPE    =SIMP(statut='f',typ=(nappe_sdaster,formule) ),
4779            TAHERI_FONC     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4780          ),
4781
4782          b_fatigue_multi   =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_MULTI'",
4783                                  fr="Plan critique dans le cas de la fatigue multiaxiale à grand nombre de cycles.",
4784            TYPE_CHARGE   =SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE") ),
4785            OPTION        =SIMP(statut='o',typ='TXM',into=("DOMA_ELGA","DOMA_NOEUD") ),
4786            RESULTAT      =SIMP(statut='o',typ=(evol_elas, evol_noli) ),
4787            CHAM_MATER    =SIMP(statut='o',typ=(cham_mater) ),
4788            GROUP_MA      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ),
4789            MAILLE        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**' ),
4790            GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**' ),
4791            NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**' ),
4792            b_period       =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'",
4793                CRITERE       =SIMP(statut='o',typ='TXM',into=("MATAKE","DANG_VAN_MODI_AC") ),
4794                METHODE       =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ),
4795            ),
4796            b_non_period   =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'",
4797                CRITERE       =SIMP(statut='o',typ='TXM',into=("DOMM_MAXI","DANG_VAN_MODI_AV") ),
4798                PROJECTION    =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ),
4799                DELTA_OSCI    = SIMP(statut='f',typ='R',defaut= 0.0E+0),  
4800            ),
4801            b_fati_grmano  =BLOC(condition = "(GROUP_MA != None or MAILLE != None or GROUP_NO != None or NOEUD != None)",
4802                MAILLAGE      =SIMP(statut='o',typ=maillage_sdaster ),
4803            ),
4804          ),
4805
4806          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
4807 )  ;
4808 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4809 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4810 # ======================================================================
4811 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4812 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4813 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4814 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4815 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4816 #
4817 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4818 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4819 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4820 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4821 #
4822 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4823 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4824 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4825 # ======================================================================
4826 CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster,
4827                     reentrant='n',
4828             UIinfo={"groupes":("Matrices/vecteurs",)},
4829          VITE_FLUI       =FACT(statut='o',
4830                                fr="Définir la plage de vitesse fluide étudiée",
4831            VITE_MIN        =SIMP(statut='o',typ='R' ),
4832            VITE_MAX        =SIMP(statut='o',typ='R' ),
4833            NB_POIN         =SIMP(statut='o',typ='I' ),
4834          ),
4835          BASE_MODALE     =FACT(statut='o',
4836                                
4837            regles=(UN_PARMI('AMOR_REDUIT','AMOR_UNIF'),),
4838            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
4839            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
4840            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
4841            AMOR_UNIF       =SIMP(statut='f',typ='R' ),
4842          ),
4843          TYPE_FLUI_STRU  =SIMP(statut='o',typ=type_flui_stru ),
4844          IMPRESSION      =FACT(statut='f',
4845                                fr="Choix des informations à imprimer dans le fichier RESULTAT",
4846            PARA_COUPLAGE   =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
4847            DEFORMEE        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
4848          ),
4849 )  ;
4850 #& MODIF COMMANDE  DATE 27/09/2004   AUTEUR CIBHHLV L.VIVAN 
4851 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4852 # ======================================================================
4853 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4854 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4855 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4856 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4857 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4858 #
4859 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4860 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4861 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4862 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4863 #
4864 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4865 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4866 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4867 # ======================================================================
4868 def calc_fonc_interp_prod(FONCTION,**args):
4869   if AsType(FONCTION)  ==nappe_sdaster    : return nappe_sdaster
4870   elif AsType(FONCTION)==fonction_sdaster : return fonction_sdaster
4871   elif AsType(FONCTION)==fonction_c       : return fonction_c
4872   elif AsType(FONCTION)==formule          : return fonction_sdaster
4873   raise AsException("type de concept resultat non prevu")
4874
4875 CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod,
4876                       docu="U4.32.01-e",reentrant='n',
4877            UIinfo={"groupes":("Fonction",)},
4878          regles=(UN_PARMI('VALE_PARA','LIST_PARA'),),
4879          FONCTION        =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ),
4880          VALE_PARA       =SIMP(statut='f',typ='R',max='**'),
4881          LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
4882          NOM_RESU        =SIMP(statut='f',typ='TXM'),
4883          NOM_PARA        =SIMP(statut='f',typ='TXM'),
4884          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
4885          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
4886          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
4887          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM'),
4888          b_eval_nappe    =BLOC(condition = "NOM_PARA_FONC != None",             
4889             regles=(UN_PARMI('VALE_PARA_FONC','LIST_PARA_FONC'),),
4890             VALE_PARA_FONC  =SIMP(statut='f',typ='R',max='**'),
4891             LIST_PARA_FONC  =SIMP(statut='f',typ=listr8_sdaster ),
4892             INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG")),
4893             PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
4894             PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
4895          ),
4896          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4897          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
4898 )  ;
4899 #& MODIF COMMANDE  DATE 27/09/2004   AUTEUR CIBHHLV L.VIVAN 
4900 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4901 # ======================================================================
4902 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4903 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4904 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4905 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4906 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4907 #
4908 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4909 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4910 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4911 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4912 #
4913 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4914 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4915 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4916 # ======================================================================
4917 # RESPONSABLE MCOURTOI M.COURTOIS
4918 def calc_fonction_prod(DERIVE,EXTRACTION,INTEGRE,ECART_TYPE,INVERSE,RMS,NOCI_SEISME,MAX,COMB,COMB_C,ENVELOPPE,
4919                        SPEC_OSCI,ASSE,FFT,COMPOSE,CORR_ACCE,PUISSANCE,LISS_ENVELOP,NORME,ABS, **args):
4920    if (RMS         != None): return table_sdaster
4921    if (MAX         != None): return table_sdaster
4922    if (NOCI_SEISME != None): return table_sdaster
4923    if (ECART_TYPE  != None): return table_sdaster
4924    if (INTEGRE     != None): return fonction_sdaster
4925    if (DERIVE      != None): return fonction_sdaster
4926    if (INVERSE     != None): return fonction_sdaster
4927    if (COMB        != None): return AsType(COMB[0]['FONCTION'])
4928    if (COMB_C      != None):
4929       vale=COMB_C[0]['FONCTION']
4930       if(AsType(vale) == nappe_sdaster):
4931          return nappe_sdaster
4932       else:
4933          return fonction_c
4934    if (ENVELOPPE   != None): return AsType(ENVELOPPE[0]['FONCTION'])
4935    if (EXTRACTION  != None): return fonction_sdaster
4936    if (SPEC_OSCI   != None): return nappe_sdaster
4937    if (COMPOSE     != None): return fonction_sdaster
4938    if (ASSE        != None): return fonction_sdaster
4939    if (FFT         != None):
4940       vale=FFT[0]['FONCTION']
4941       if (AsType(vale) == fonction_sdaster )  : return fonction_c
4942       if (AsType(vale) == fonction_c) : return fonction_sdaster
4943    if (CORR_ACCE   != None): return fonction_sdaster
4944    if (LISS_ENVELOP!= None): return AsType(LISS_ENVELOP[0]['FONCTION'])
4945    if (PUISSANCE   != None): return AsType(PUISSANCE[0]['FONCTION'])
4946    if (ABS         != None): return fonction_sdaster
4947    if (NORME       != None): return table_sdaster
4948    raise AsException("type de concept resultat non prevu")
4949
4950 CALC_FONCTION=OPER(nom="CALC_FONCTION",op=  91,sd_prod=calc_fonction_prod
4951                     ,fr="Opérations mathématiques sur des concepts de type fonction, fonction_c ou nappe",
4952                      reentrant='n',
4953             UIinfo={"groupes":("Fonction",)},
4954          regles=(UN_PARMI('DERIVE','INTEGRE','SPEC_OSCI','MAX','COMB','COMB_C','ENVELOPPE','RMS',
4955                           'NOCI_SEISME','COMPOSE','EXTRACTION','ASSE','FFT','CORR_ACCE', 'PUISSANCE',
4956                           'NORME','LISS_ENVELOP','ECART_TYPE','INVERSE','ABS'),),
4957          FFT             =FACT(statut='f',fr="Calcul de la transformee de Fourier ou de son inverse",
4958            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c) ),
4959            METHODE         =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE") ),
4960          ),
4961          DERIVE          =FACT(statut='f',fr="Calcul de la dérivée d une fonction",
4962            METHODE         =SIMP(statut='f',typ='TXM',defaut="DIFF_CENTREE",into=("DIFF_CENTREE",) ),
4963            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
4964          ),
4965          INTEGRE         =FACT(statut='f',fr="Calcul de l intégrale d une fonction",
4966            METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
4967            FONCTION        =SIMP(statut='o',typ=fonction_sdaster),
4968            COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ),
4969          ),
4970          RMS             =FACT(statut='f',fr="Calcul de la valeur RMS d une fonction",max='**',
4971            METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
4972            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
4973            INST_INIT       =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
4974            INST_FIN        =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
4975            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
4976            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
4977          ),
4978          NOCI_SEISME     =FACT(statut='f',
4979            FONCTION        =SIMP(statut='f',typ=fonction_sdaster ),
4980            SPEC_OSCI       =SIMP(statut='f',typ=nappe_sdaster ),
4981            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(),max='**',
4982                                  into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU",
4983                                        "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",) ),
4984            INST_INIT       =SIMP(statut='f',typ='R'),
4985            INST_FIN        =SIMP(statut='f',typ='R'),
4986            NATURE          =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE") ),
4987            COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4988            PESANTEUR       =SIMP(statut='f',typ='R',defaut= 9.81E+0 ),
4989            FREQ_INIT       =SIMP(statut='f',typ='R',defaut= 4.E-1 ),
4990            FREQ_FIN        =SIMP(statut='f',typ='R',defaut= 10.E+0 ),
4991            AMOR_REDUIT     =SIMP(statut='f',typ='R'),
4992            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
4993            FREQ            =SIMP(statut='f',typ='R',max='**'),
4994            NORME           =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
4995            BORNE_INF       =SIMP(statut='f',typ='R',defaut= 0.05E+0 ),
4996            BORNE_SUP       =SIMP(statut='f',typ='R',defaut= 0.95E+0 ),
4997            b_acce_reel     =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)",
4998              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
4999              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5000            ),
5001          ),
5002          LISS_ENVELOP    = FACT(statut='f',fr="Lissage d une enveloppe",
5003            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ),
5004            AMOR            =SIMP(statut='f',typ='R',max='**'),
5005            FREQ_MIN        =SIMP(statut='f',typ='R'),
5006            FREQ_MAX        =SIMP(statut='f',typ='R'),
5007            FREQ_CREUX      =SIMP(statut='f',typ='R',max='**'),
5008            ELARG           =SIMP(statut='f',typ='TXM',defaut="GLOBAL",into=("GLOBAL","LOCAL") ),
5009               b_elarg_glob = BLOC ( condition = " (ELARG=='GLOBAL') ",
5010                    GAUCHE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5011                    DROITE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5012                 ),
5013               b_elarg_loc = BLOC ( condition = " (ELARG=='LOCAL') ",
5014                    FREQ_1       =SIMP(statut='o',typ='R'),  
5015                    FREQ_2       =SIMP(statut='o',typ='R' ),  
5016                    GAUCHE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5017                    DROITE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5018                 ),
5019            TOLE_LISS      =SIMP(statut='f',typ='R',defaut=25.0E0),
5020            ECH_FREQ_REF = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5021                b_oui    =BLOC ( condition = "(ECH_FREQ_REF=='OUI') ",
5022                     regles=(UN_PARMI("LIST_FREQ", "AMOR_ECH"),),
5023                        LIST_FREQ   =SIMP(statut='f',typ=listr8_sdaster ),
5024                        AMOR_ECH    =SIMP(statut='f',typ='R',max='**'),
5025                               ),
5026          ),
5027          SPEC_OSCI       =FACT(statut='f',fr="Calcul du spectre d oscillateur",
5028            METHODE         =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM",) ),
5029            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5030            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
5031            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
5032            FREQ            =SIMP(statut='f',typ='R',max='**'),
5033            NORME           =SIMP(statut='o',typ='R',defaut= 9.81E+0,fr="Valeur de la norme du spectre d oscillateur" ),
5034            NATURE          =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
5035            NATURE_FONC     =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
5036          ),
5037          MAX             =FACT(statut='f',fr="Calcul des extrémas locaux d une fonction",
5038            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ),
5039          ),
5040          ABS             =FACT(statut='f',fr="Calcul de la valeur absolue d une fonction",
5041            FONCTION        =SIMP(statut='o',typ=fonction_sdaster,),
5042          ),
5043          COMB            =FACT(statut='f',max='**',fr="Calcul d une combinaison linéaire réelle de fonctions",
5044            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ),
5045            COEF            =SIMP(statut='o',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
5046          ),
5047          COMB_C          =FACT(statut='f',max='**',fr="Calcul d une combinaison linéaire complexe de fonctions",
5048            regles=(UN_PARMI('COEF_R','COEF_C'),),
5049            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ),
5050            COEF_R          =SIMP(statut='f',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
5051            COEF_C          =SIMP(statut='f',typ='C',fr="Coefficient complexe de la combinaison linéaire associée à la fonction" ),
5052          ),
5053          b_comb          =BLOC ( condition = " (COMB != None) or (COMB_C != None)",
5054              LIST_PARA      =SIMP(statut='f',typ=listr8_sdaster ),  
5055          ),
5056          COMPOSE         =FACT(statut='f',fr="Calcul de la composition de deux fonctions FONC_RESU(FONC_PARA)",
5057            FONC_RESU       =SIMP(statut='o',typ=fonction_sdaster),
5058            FONC_PARA       =SIMP(statut='o',typ=fonction_sdaster),
5059          ),
5060          EXTRACTION      =FACT(statut='f',fr="Opération d extraction sur une fonction complexe",
5061            FONCTION        =SIMP(statut='o',typ=fonction_c),
5062            PARTIE          =SIMP(statut='o',typ='TXM',into=("REEL","IMAG","MODULE","PHASE"),fr="Partie à extraire"),
5063          ),
5064          ENVELOPPE       =FACT(statut='f',fr="Calcul de l enveloppe d une famille de fonctions",
5065            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
5066            CRITERE         =SIMP(statut='f',typ='TXM',defaut="SUP",into=("SUP","INF"),fr="Type de l enveloppe" ),
5067          ),
5068          ASSE            =FACT(statut='f',fr="Création à partir de la concatenation de fonctions",
5069            FONCTION        =SIMP(statut='o',typ=fonction_sdaster,max='**' ),
5070            SURCHARGE       =SIMP(statut='f',typ='TXM',defaut="DROITE",into=("DROITE","GAUCHE")),
5071          ),
5072          CORR_ACCE     =FACT(statut='f',fr="Correction d un accelerogramme reel",
5073             CORR_DEPL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
5074             FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5075          ),
5076          PUISSANCE       =FACT(statut='f',fr="Cacul du carré d'une fonction",
5077             FONCTION      =SIMP(statut='o', typ=(fonction_sdaster,nappe_sdaster) ),
5078             EXPOSANT      =SIMP(statut='f', typ='I', defaut=1 ),
5079          ),
5080          NORME           =FACT(statut='f',fr="Cacul de la norme L2 d'une fonction",
5081             FONCTION      =SIMP(statut='o', typ=nappe_sdaster),
5082          ),     
5083          INVERSE         =FACT(statut='f',fr="Cacul de l inverse d une fonction",
5084             FONCTION      =SIMP(statut='o', typ=fonction_sdaster),
5085          ),     
5086          ECART_TYPE      =FACT(statut='f',fr="Cacul de l ecart-type d une fonction",
5087             METHODE       =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
5088             FONCTION      =SIMP(statut='o',typ=fonction_sdaster),
5089             INST_INIT     =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
5090             INST_FIN      =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
5091             CRITERE       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5092             PRECISION     =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
5093          ),     
5094          NOM_PARA        =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ),
5095          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
5096          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
5097          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5098          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5099          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ),
5100          INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
5101          PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5102          PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5103          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5104          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5105 )  ;
5106 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
5107 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5108 # ======================================================================
5109 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5110 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5111 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5112 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5113 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5114 #
5115 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5116 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5117 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5118 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5119 #
5120 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5121 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5122 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5123 # ======================================================================
5124 CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
5125                    fr="calcul de la force ajoutee ",
5126                    reentrant ='n',
5127             UIinfo={"groupes":("Matrices/vecteurs",)},
5128
5129         regles=(EXCLUS('MODE_MECA','MODELE_GENE'),
5130                 PRESENT_PRESENT( 'MODELE_GENE','NUME_DDL_GENE'),
5131                 UN_PARMI('MONO_APPUI', 'NOEUD','GROUP_NO'),
5132                 UN_PARMI('MONO_APPUI','MODE_STAT')),
5133
5134          MODELE_FLUIDE   =SIMP(statut='o',typ=modele_sdaster ),
5135          MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ),
5136          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
5137          CHARGE          =SIMP(statut='o',typ=char_ther ),
5138          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
5139          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
5140          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene ),
5141          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
5142          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5143          NUME_MODE_MECA  =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5144          POTENTIEL       =SIMP(statut='f',typ=evol_ther ),
5145          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5146
5147          DIRECTION       =SIMP(statut='o',typ='R',max=3),
5148          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",),),
5149          NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
5150          GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5151          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),),
5152
5153          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5154
5155          SOLVEUR         =FACT(statut='d',
5156            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
5157            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
5158              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
5159            ),
5160            b_ldlt          =BLOC( condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
5161              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
5162            ),
5163            b_ldlt_mult     =BLOC( condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
5164                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
5165              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
5166              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5167            ),
5168            b_gcpc          =BLOC (condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
5169              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
5170              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
5171              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
5172              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
5173              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
5174            ),
5175                            ),
5176
5177            ) ;
5178 #& MODIF COMMANDE  DATE 11/10/2004   AUTEUR LEBOUVIE F.LEBOUVIER 
5179 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5180 # ======================================================================
5181 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5182 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5183 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5184 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5185 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5186 #
5187 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5188 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5189 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5190 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5191 #
5192 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5193 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5194 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5195 # ======================================================================
5196 CALC_G_LOCAL_T=OPER(nom="CALC_G_LOCAL_T",op=77,sd_prod=tabl_calc_g_loca,
5197                     fr="Calcul du taux de restitution local d énergie",reentrant='n',
5198             UIinfo={"groupes":("Post traitements",)},
5199          MODELE          =SIMP(statut='f',typ=modele_sdaster),
5200          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
5201          regles=(UN_PARMI('RESULTAT','DEPL'),
5202                  PRESENT_PRESENT('VITE','ACCE'),
5203                  UN_PARMI('R_INF','R_INF_FO'),
5204                  PRESENT_PRESENT('R_INF','R_SUP'),
5205                  PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ),
5206          FOND_FISS       =SIMP(statut='f',typ=fond_fiss),               
5207          DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5208          VITE            =SIMP(statut='f',typ=cham_no_depl_r),
5209          ACCE            =SIMP(statut='f',typ=cham_no_depl_r),
5210          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans),),
5211          b_extrac        =BLOC(condition="RESULTAT != None",fr="extraction d un champ",
5212              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
5213              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5214              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5215              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
5216              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5217              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
5218              
5219              b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
5220                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
5221                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5222              ),
5223          ),
5224          EXCIT           =FACT(statut='f',max='**',
5225                CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
5226                FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5227                TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
5228          ),
5229          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ),
5230  
5231          COMP_ELAS       =FACT(statut='f',
5232                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5233                                      into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ),
5234                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5235                ELAS_VMIS_LINE  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5236                ELAS_VMIS_TRAC  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5237                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
5238       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5239                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5240                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5241                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5242          ),
5243  
5244          COMP_INCR       =FACT(statut='f',
5245                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5246                                      into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ),
5247                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5248                VMIS_ISOT_TRAC  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5249                VMIS_ISOT_LINE  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5250                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
5251       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5252                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5253                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5254                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5255          ),
5256          
5257          ETAT_INIT       =FACT(statut='f',
5258            SIGM            =SIMP(statut='f',typ=cham_elem_sief_r),
5259            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5260          ),
5261
5262          OPTION          =SIMP(statut='f',typ='TXM',defaut="CALC_G",
5263                                into=("CALC_G","CALC_K_G","CALC_G_LGLO","G_BILINEAIRE","CALC_G_MAX") ),
5264          b_g             =BLOC(condition="OPTION=='CALC_G'",
5265            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5266            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO",) ),
5267          ), 
5268          b_g_lglo        =BLOC(condition="OPTION=='CALC_G_LGLO'",
5269            PROPAGATION     =SIMP(statut='o',typ='R'),
5270            THETA           =SIMP(statut='o',typ=theta_geom),
5271            DIRE_THETA      =SIMP(statut='f',typ=cham_no_depl_r),
5272            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5273            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO",) ),
5274          ), 
5275          b_g_bilin       =BLOC(condition="OPTION=='G_BILINEAIRE'",
5276            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5277            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5278          ), 
5279          b_k_g           =BLOC(condition="OPTION=='CALC_K_G'",
5280            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5281            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5282            FISSURE         =SIMP(statut='o',typ=fiss_xfem,max=1),
5283          ),
5284          b_calc_g_max    =BLOC(condition="OPTION=='CALC_G_MAX'",
5285            BORNES          =FACT(statut='o',max='**',
5286               NUME_ORDRE     =SIMP(statut='o',typ='I'),
5287               VALE_MIN       =SIMP(statut='o',typ='R'),
5288               VALE_MAX       =SIMP(statut='o',typ='R'),
5289                                 ),
5290            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5291            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5292          ),
5293            
5294          DEGRE           =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ),
5295
5296          R_INF           =SIMP(statut='f',typ='R'),
5297          R_SUP           =SIMP(statut='f',typ='R'),
5298          R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5299          R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5300  
5301          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5302          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
5303 )  ;
5304 #& MODIF COMMANDE  DATE 11/10/2004   AUTEUR LEBOUVIE F.LEBOUVIER 
5305 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5306 # ======================================================================
5307 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5308 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5309 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5310 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5311 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5312 #
5313 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5314 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5315 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5316 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5317 #
5318 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5319 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5320 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5321 # ======================================================================
5322 CALC_G_THETA_T=OPER(nom="CALC_G_THETA_T",op=53,sd_prod=tabl_calc_g_th,
5323                     fr="Calcul du taux de restitution d énergie par la méthode theta en thermo-élasticité en 2D ou en 3D",
5324                     reentrant='f',
5325             UIinfo={"groupes":("Post traitements",)},
5326          regles=(UN_PARMI('RESULTAT','DEPL'),
5327                  PRESENT_PRESENT('VITE','ACCE'),
5328                  EXCLUS('COMP_ELAS','COMP_INCR'),),
5329          MODELE          =SIMP(statut='f',typ=modele_sdaster),
5330          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
5331          THETA           =SIMP(statut='o',typ=(theta_geom,cham_no_depl_r),),
5332          DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5333          VITE            =SIMP(statut='f',typ=cham_no_depl_r),
5334          ACCE            =SIMP(statut='f',typ=cham_no_depl_r),
5335          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans),),
5336
5337          b_extrac        =BLOC(condition="RESULTAT != None",fr="extraction d un champ",
5338            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
5339            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5340            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5341            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
5342            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5343            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
5344             
5345            b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
5346              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
5347              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5348            ),
5349          ),
5350          EXCIT           =FACT(statut='f',max='**',
5351                CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
5352                FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5353                TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
5354          ),
5355          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ),
5356  
5357          COMP_ELAS       =FACT(statut='f',
5358                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5359                                      into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ),
5360                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5361                ELAS_VMIS_LINE  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5362                ELAS_VMIS_TRAC  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5363                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
5364       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5365                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5366                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5367                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5368          ),  
5369          COMP_INCR       =FACT(statut='f',
5370                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5371                                      into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ),
5372                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5373                VMIS_ISOT_TRAC  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5374                VMIS_ISOT_LINE  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5375                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
5376       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5377                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5378                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5379                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5380          ),
5381          ETAT_INIT       =FACT(statut='f',
5382            SIGM            =SIMP(statut='f',typ=cham_elem_sief_r),
5383            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5384          ),
5385          OPTION          =SIMP(statut='f',typ='TXM',defaut="CALC_G",
5386                                into=("CALC_G","CALC_G_LAGR","CALC_K_G","G_BILINEAIRE","CALC_G_MAX",) ),
5387          b_calc_g_max    =BLOC(condition="OPTION=='CALC_G_MAX'",
5388            BORNES          =FACT(statut='o',max='**',
5389                 NUME_ORDRE     =SIMP(statut='o',typ='I'),
5390                 VALE_MIN       =SIMP(statut='o',typ='R'),
5391                 VALE_MAX       =SIMP(statut='o',typ='R'),
5392                                 ),
5393          ),
5394          b_calc_k_g      =BLOC(condition="OPTION=='CALC_K_G'",
5395            FOND_FISS       =SIMP(statut='o',typ=fond_fiss),
5396          ),
5397          b_calc_g_lagr   =BLOC(condition="OPTION=='CALC_G_LAGR'",
5398            PROPAGATION     =SIMP(statut='o',typ='R'),
5399          ),
5400
5401          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
5402                            fr="Liste des paramètres de sensibilité.",
5403                            ang="List of sensitivity parameters"),
5404
5405          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5406          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
5407 )  ;
5408 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
5409 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5410 # ======================================================================
5411 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5412 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5413 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5414 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5415 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5416 #
5417 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5418 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5419 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5420 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5421 #
5422 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5423 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5424 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5425 # ======================================================================
5426 CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=tabl_intsp,
5427                     fr="Calcul d une matrice interspectrale d une fonction du temps",
5428                     reentrant='n',
5429             UIinfo={"groupes":("Fonction",)},
5430          INST_INIT       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5431          INST_FIN        =SIMP(statut='o',typ='R' ),
5432          DUREE_ANALYSE   =SIMP(statut='f',typ='R' ),
5433          DUREE_DECALAGE  =SIMP(statut='f',typ='R' ),
5434          NB_POIN         =SIMP(statut='o',typ='I' ),
5435          FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
5436          TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
5437          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
5438 )  ;
5439 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
5440 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5441 # ======================================================================
5442 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5443 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5444 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5445 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5446 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5447 #
5448 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5449 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5450 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5451 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5452 #
5453 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5454 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5455 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5456 # ======================================================================
5457 CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
5458                     fr="Calcul des matrices de masse, d amortissement ou de raideur ajoutées",
5459                     reentrant='n',
5460             UIinfo={"groupes":("Matrices/vecteurs",)},
5461          regles=(EXCLUS('MODE_MECA','CHAM_NO','MODELE_GENE'),
5462                  PRESENT_ABSENT('NUME_DDL_GENE','CHAM_NO'),
5463                  PRESENT_PRESENT('MODELE_GENE','NUME_DDL_GENE'),),
5464          MODELE_FLUIDE   =SIMP(statut='o',typ=modele_sdaster ),
5465          MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ),
5466          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
5467          CHARGE          =SIMP(statut='o',typ=char_ther ),
5468          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
5469          CHAM_NO         =SIMP(statut='f',typ=cham_no_depl_r ),
5470          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
5471          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene ),
5472          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
5473          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5474          NUME_MODE_MECA  =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5475          OPTION          =SIMP(statut='o',typ='TXM',into=("MASS_AJOU","AMOR_AJOU","RIGI_AJOU") ),
5476          POTENTIEL       =SIMP(statut='f',typ=evol_ther ),
5477          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5478          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5479
5480          SOLVEUR         =FACT(statut='d',
5481            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
5482            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
5483              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
5484            ),
5485            b_ldlt          =BLOC( condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
5486              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
5487            ),
5488            b_ldlt_mult     =BLOC( condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
5489                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
5490              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
5491              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5492            ),
5493            b_gcpc          =BLOC (condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
5494              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
5495              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
5496              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
5497              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
5498              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
5499            ),
5500          ),
5501 )  ;
5502 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
5503 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5504 # ======================================================================
5505 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5506 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5507 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5508 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5509 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5510 #
5511 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5512 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5513 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5514 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5515 #
5516 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5517 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5518 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5519 # ======================================================================
5520 # RESPONSABLE VABHHTS J.PELLET
5521 def calc_matr_elem_prod(OPTION,**args):
5522   if OPTION == "RIGI_MECA"        : return matr_elem_depl_r
5523   if OPTION == "RIGI_FLUI_STRU"   : return matr_elem_depl_r
5524   if OPTION == "RIGI_MECA_LAGR"   : return matr_elem_depl_r
5525   if OPTION == "MASS_ID_MDEP_R"   : return matr_elem_depl_r
5526   if OPTION == "MASS_ID_MDNS_R"   : return matr_elem_depl_r
5527   if OPTION == "MASS_ID_MTEM_R"   : return matr_elem_temp_r
5528   if OPTION == "MASS_ID_MTNS_R"   : return matr_elem_temp_r
5529   if OPTION == "MASS_MECA"        : return matr_elem_depl_r
5530   if OPTION == "MASS_FLUI_STRU"   : return matr_elem_depl_r
5531   if OPTION == "RIGI_GEOM"        : return matr_elem_depl_r
5532   if OPTION == "RIGI_ROTA"        : return matr_elem_depl_r
5533   if OPTION == "AMOR_MECA"        : return matr_elem_depl_r
5534   if OPTION == "IMPE_MECA"        : return matr_elem_depl_r
5535   if OPTION == "ONDE_FLUI"        : return matr_elem_depl_r
5536   if OPTION == "RIGI_MECA_HYST"   : return matr_elem_depl_c
5537   if OPTION == "RIGI_THER"        : return matr_elem_temp_r
5538   if OPTION == "MASS_THER"        : return matr_elem_temp_r
5539   if OPTION == "MASS_MECA_DIAG"   : return matr_elem_depl_r
5540   if OPTION == "RIGI_ACOU"        : return matr_elem_pres_c
5541   if OPTION == "MASS_ACOU"        : return matr_elem_pres_c
5542   if OPTION == "AMOR_ACOU"        : return matr_elem_pres_c
5543   raise AsException("type de concept resultat non prevu")
5544
5545 CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op=   9,sd_prod=calc_matr_elem_prod
5546                     ,fr="Calcul des matrices élémentaires",reentrant='n',
5547             UIinfo={"groupes":("Matrices/vecteurs",)},
5548          OPTION          =SIMP(statut='o',typ='TXM',
5549                                into=("RIGI_MECA","MASS_MECA","RIGI_GEOM",
5550                                      "AMOR_MECA","RIGI_THER","MASS_THER","IMPE_MECA",
5551                                      "ONDE_FLUI","MASS_FLUI_STRU","RIGI_FLUI_STRU",
5552                                      "RIGI_ROTA","MASS_MECA_DIAG","RIGI_ACOU",
5553                                      "MASS_ID_MDEP_R","MASS_ID_MDNS_R","MASS_ID_MTEM_R","MASS_ID_MTNS_R",
5554                                      "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST",
5555                                      "RIGI_MECA_LAGR") ),
5556
5557          b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
5558            regles=(AU_MOINS_UN('MODELE','CHARGE' ),),
5559            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
5560            b_modele        =BLOC(condition = "MODELE != None",
5561              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
5562              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
5563              MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
5564            ),
5565            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
5566            b_charge        =BLOC (condition = "CHARGE != None",
5567              INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5568            ),
5569          ),
5570
5571          b_rigi_meca_lagr  =BLOC(condition = "OPTION=='RIGI_MECA_LAGR'",
5572            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5573            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5574            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'  ),
5575            b_charge        =BLOC(condition = "CHARGE != None",
5576              INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5577            ),
5578            THETA           =SIMP(statut='o',typ=theta_geom ),
5579            PROPAGATION     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5580          ),
5581
5582          b_mass_meca       =BLOC(condition = "(OPTION=='MASS_MECA') or (OPTION=='MASS_MECA_DIAG')",
5583            regles=(AU_MOINS_UN('MODELE','CHARGE'),),
5584            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
5585            b_modele          =BLOC(condition = "MODELE != None",
5586              CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5587              CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5588            ),
5589            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
5590            b_charge        =BLOC(condition = "CHARGE != None",
5591              INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5592            ),
5593          ),
5594
5595          b_mass_identite   =BLOC(condition = "(OPTION in ('MASS_ID_MDEP_R','MASS_ID_MTEM_R','MASS_ID_MDNS_R','MASS_ID_MTNS_R')) ",
5596            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5597            # j'ajoute ces 2 mot clés inutiles à cause de l'alarme pas assez subtile de MEDOME
5598            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5599            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5600          ),
5601
5602          b_rigi_geom       =BLOC(condition = "OPTION=='RIGI_GEOM'",
5603            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5604            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5605            SIEF_ELGA         =SIMP(statut='o',typ=cham_elem_sief_r ),
5606            MODE_FOURIER      =SIMP(statut='f',typ='I',defaut= 0 ),
5607          ),
5608
5609          b_rigi_rota       =BLOC(condition = "OPTION=='RIGI_ROTA'",
5610            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5611            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5612            CHARGE            =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ),
5613            INST              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5614          ),
5615
5616          b_amor_meca       =BLOC(condition = "OPTION=='AMOR_MECA'",
5617            regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'),
5618                    ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ),
5619            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5620            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5621            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5622            RIGI_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
5623            MASS_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
5624            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
5625          ),
5626
5627          b_rigi_meca_hyst  =BLOC( condition = "OPTION=='RIGI_MECA_HYST'",
5628            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5629            CHARGE            =SIMP(statut='f',typ=char_meca ,validators=NoRepeat(),max='**' ),
5630            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5631            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5632            RIGI_MECA         =SIMP(statut='o',typ=matr_elem_depl_r ),
5633          ),
5634
5635          b_rigi_ther       =BLOC(condition = "OPTION=='RIGI_THER'",
5636            regles=(AU_MOINS_UN('MODELE','CHARGE' ),),
5637            MODELE            =SIMP(statut='f',typ=modele_sdaster ),
5638            b_modele          =BLOC(condition = "MODELE != None",
5639              CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5640              CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5641              MODE_FOURIER      =SIMP(statut='f',typ='I',defaut= 0 ),
5642            ),
5643            CHARGE            =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**' ),
5644          ),
5645
5646          b_mass_ther       =BLOC(condition = "OPTION=='MASS_THER'",
5647            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5648            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5649            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5650          ),
5651
5652          b_rigi_acou       =BLOC(condition = "(OPTION=='RIGI_ACOU') or (OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')",
5653            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5654            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5655            CHARGE            =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ),
5656          ),
5657
5658          b_rigi_flui       =BLOC(condition = "(OPTION=='RIGI_FLUI_STRU') or (OPTION=='MASS_FLUI_STRU')",
5659            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5660            CARA_ELEM         =SIMP(statut='o',typ=cara_elem ),
5661            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5662            CHARGE            =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**' ),
5663            INST              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5664          ),
5665
5666          b_impe_meca       =BLOC(condition = "(OPTION=='IMPE_MECA') or (OPTION=='ONDE_FLUI')",
5667            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5668            CHARGE            =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ),
5669            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5670          ),
5671 )  ;
5672 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
5673 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5674 # ======================================================================
5675 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5676 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5677 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5678 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5679 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5680 #
5681 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5682 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5683 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5684 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5685 #
5686 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5687 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5688 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5689 # ======================================================================
5690 CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o',
5691             UIinfo={"groupes":("Post traitements",)},
5692                fr="Calcule la métallurgie a partir du résultat du calcul thermique",
5693          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
5694          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
5695          RESULTAT        =SIMP(statut='o',typ=evol_ther ),
5696          ETAT_INIT       =FACT(statut='o',
5697       regles=(UN_PARMI('NUME_INIT', 'INST_INIT', 'META_INIT',),),
5698            EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
5699            NUME_INIT       =SIMP(statut='f',typ='I' ),  
5700            INST_INIT       =SIMP(statut='f',typ='R'),
5701              b_inst     =BLOC(condition="(INST_INIT != None)",
5702                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
5703                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5704                              ),
5705            META_INIT       =SIMP(statut='f',typ=carte_var2_r ),
5706          ),
5707          COMP_INCR       =FACT(statut='o',max='**',
5708            RELATION        =SIMP(statut='o',typ='TXM',into=("ACIER","ZIRC",) ),
5709            ACIER           =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
5710            ZIRC            =SIMP(statut='c',typ='I',defaut=3,into=(3,) ),
5711       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5712            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5713            GROUP_MA        =SIMP(statut='f',typ=grma),
5714            MAILLE          =SIMP(statut='f',typ=ma),
5715          ),
5716          OPTION          =SIMP(statut='f',typ='TXM'     
5717                              ,into=("META_ELNO_TEMP",) ),
5718 )  ;
5719 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
5720 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5721 # ======================================================================
5722 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5723 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5724 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5725 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5726 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5727 #
5728 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5729 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5730 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5731 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5732 #
5733 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5734 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5735 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5736 # ======================================================================
5737 # RESPONSABLE G8BHHXD X.DESROCHES
5738 def calc_no_prod(RESULTAT,**args):
5739    if AsType(RESULTAT) != None : return AsType(RESULTAT)
5740    raise AsException("type de concept resultat non prevu")
5741
5742 CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='o',
5743             UIinfo={"groupes":("Post traitements",)},
5744          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,
5745                                                mode_acou,mode_stat,mode_stat_depl,mode_stat_acce,
5746                                               mode_stat_forc,evol_ther,evol_noli,base_modale,
5747                                                mult_elas,fourier_elas,mode_flamb ) ),
5748          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
5749                                fr="Liste des paramètres de sensibilité.",
5750                                ang="List of sensitivity parameters"),
5751
5752          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
5753                         'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),),
5754          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5755          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5756          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5757          NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
5758          NOM_CAS         =SIMP(statut='f',typ='TXM' ),
5759          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5760          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5761          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
5762          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
5763          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
5764          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5765          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
5766
5767          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5768                                into=("FORC_NODA","REAC_NODA",
5769                                      "DCHA_NOEU_SIGM",
5770                                      "DEGE_NOEU_DEPL",
5771                                      "DETE_NOEU_DLTE",
5772                                      "DEDE_NOEU_DLDE",
5773                                      "DESI_NOEU_DLSI",
5774                                      "DURT_NOEU_META",
5775                                      "EFGE_NOEU_CART","EFGE_NOEU_DEPL",
5776                                      "ENDO_NOEU_SINO",
5777                                      "ENEL_NOEU_ELGA",
5778                                      "EPMG_NOEU_DEPL",
5779                                      "EPSA_NOEU",
5780                                      "EPSG_NOEU_DEPL",
5781                                      "EPSI_NOEU_DEPL",
5782                                      "EPSP_NOEU"     ,"EPSP_NOEU_ZAC",
5783                                      "EQUI_NOEU_EPME","EQUI_NOEU_EPSI","EQUI_NOEU_SIGM",
5784                                      "ERRE_NOEU_ELGA",
5785                                      "FLUX_NOEU_TEMP",
5786                                      "HYDR_NOEU_ELGA",
5787                                      "INTE_NOEU_ACTI","INTE_NOEU_REAC",
5788                                      "META_NOEU_TEMP",
5789                                      "PMPB_NOEU_SIEF",
5790                                      "PRES_NOEU_DBEL","PRES_NOEU_IMAG","PRES_NOEU_REEL",
5791                                      "RADI_NOEU_SIGM",
5792                                      "SIEF_NOEU"     ,"SIEF_NOEU_ELGA",
5793                                      "SIGM_NOEU_CART","SIGM_NOEU_COQU","SIGM_NOEU_DEPL",
5794                                      "SIGM_NOEU_SIEF","SIGM_NOEU_ZAC",
5795                                      "SIPO_NOEU_DEPL","SIPO_NOEU_SIEF",
5796                                      "SIRE_NOEU_DEPL",
5797                                      "VARI_NOEU"     ,"VARI_NOEU_ELGA",) ),
5798
5799          b_forc_reac     =BLOC(condition = """(OPTION == 'FORC_NODA') or (type(OPTION) == type(()) and 'FORC_NODA' in OPTION) or\
5800  (OPTION == 'REAC_NODA') or (type(OPTION) == type(()) and 'REAC_NODA' in OPTION)""",
5801              MODELE          =SIMP(statut='f',typ=modele_sdaster),
5802          ),
5803
5804          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
5805          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
5806          EXCIT           =FACT(statut='f',max='**',
5807            CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),
5808            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5809            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
5810                                  into=("FIXE_CSTE","FIXE_PILO","SUIV") ),
5811          ),
5812          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5813          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5814          MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5815          GROUP_MA_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5816          MAILLE_RESU     =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5817          GROUP_NO_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5818          NOEUD_RESU      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5819 )  ;
5820 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
5821 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5822 # ======================================================================
5823 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
5824 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
5825 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
5826 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
5827 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
5828 #                                                                       
5829 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
5830 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
5831 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
5832 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
5833 #                                                                       
5834 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
5835 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
5836 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
5837 # ======================================================================
5838 # RESPONSABLE ASSIRE A.ASSIRE
5839
5840 from Macro.calc_precont_ops import calc_precont_ops
5841
5842
5843 # ===========================================================================
5844 #           CATALOGUE DE LA MACRO "CALC_PRECONT"
5845 #           -----------------------------------------
5846 # USAGE :
5847
5848 #  
5849 # ===========================================================================
5850
5851 CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
5852                    fr="imposer la tension definie par le BPEL dans les cables",
5853                    reentrant='f',
5854          reuse =SIMP(statut='f',typ='evol_noli'),
5855          MODELE           =SIMP(statut='o',typ=modele_sdaster),
5856          CHAM_MATER       =SIMP(statut='o',typ=cham_mater),
5857          CARA_ELEM        =SIMP(statut='o',typ=cara_elem),
5858          CABLE_BP         =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'),
5859          CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'),
5860          INCREMENT        =FACT(statut='o',
5861            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
5862            INST_INIT       =SIMP(statut='f',typ='R'),
5863            INST_FIN        =SIMP(statut='f',typ='R'),
5864            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
5865            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
5866            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
5867            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
5868          ),
5869
5870          NEWTON          =FACT(statut='d',
5871             REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
5872             PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
5873             MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
5874             PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
5875             REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
5876             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
5877           ),
5878          RECH_LINEAIRE   =FACT(statut='f',
5879            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
5880            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
5881          ),
5882           CONVERGENCE     =FACT(statut='d',
5883             RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
5884             RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
5885             ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
5886             ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
5887             ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
5888             RESI_INTE_RELA  =SIMP(statut='f',typ='R'
5889                                  ,defaut= 1.0E-6),
5890             ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
5891             ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
5892             RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
5893                                   into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
5894           ),
5895           ETAT_INIT       =FACT(statut='f',
5896             regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
5897                     EXCLUS('EVOL_NOLI','DEPL',),
5898                     EXCLUS('EVOL_NOLI','SIGM',),
5899                     EXCLUS('EVOL_NOLI','VARI',),
5900                     EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
5901                     EXCLUS('NUME_ORDRE','INST'), ),
5902             DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5903             SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
5904             VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
5905             VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
5906             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
5907             NUME_ORDRE      =SIMP(statut='f',typ='I'),
5908             INST            =SIMP(statut='f',typ='R'),
5909             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
5910             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5911             NUME_DIDI       =SIMP(statut='f',typ='I'),
5912             INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
5913           ),
5914           SOLVEUR         =FACT(statut='d',
5915             METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
5916             b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
5917               RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
5918             ),
5919             b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
5920               RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
5921             ),
5922             b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
5923                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
5924               NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
5925               STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
5926             ),
5927             b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
5928               PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
5929               NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
5930               RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
5931               RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
5932               NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
5933             ),
5934             SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5935           ),
5936             SOLV_NON_LOCAL  =FACT(statut='f',
5937               METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
5938               b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
5939                 RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
5940               ),
5941               b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
5942                 RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
5943               ),
5944               b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
5945                                      fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
5946                 NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
5947                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5948               ),
5949               b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
5950                 PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
5951                 NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
5952                 RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
5953                 NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
5954               ),
5955               EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5956             ),
5957             LAGR_NON_LOCAL  =FACT(statut='f',
5958               ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
5959               RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
5960               RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
5961               R               =SIMP(statut='f',typ='R',defaut= 1000.),
5962               ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
5963             ),
5964           PARM_THETA      =SIMP(statut='f',typ='R'
5965                                ,defaut= 1. ),
5966           INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
5967           TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
5968
5969           EXCIT           =FACT(statut='o',max='**',
5970             CHARGE          =SIMP(statut='o',typ=char_meca),
5971           ),
5972
5973          COMP_INCR       =C_COMP_INCR(),
5974   )  ;
5975 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
5976 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5977 # ======================================================================
5978 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5979 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5980 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5981 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5982 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5983 #
5984 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5985 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5986 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5987 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5988 #
5989 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5990 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5991 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5992 # ======================================================================
5993 CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n',
5994             UIinfo={"groupes":("Post traitements",)},
5995                 fr="Affectation d un champ sur le maillage (mécanique de la rupture)",
5996          regles=(UN_PARMI('THETA_2D','THETA_3D','THETA_BANDE'),
5997                  PRESENT_ABSENT('THETA_2D','DIRE_THETA'),
5998                  EXCLUS('DIRECTION','DIRE_THETA'),),
5999          OPTION          =SIMP(statut='f',typ='TXM',defaut="COURONNE",into=("COURONNE","BANDE") ),
6000          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
6001          THETA_3D        =FACT(statut='f',max='**',
6002            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
6003                    UN_PARMI('MODULE','MODULE_FO'),
6004                    ENSEMBLE('MODULE','R_INF','R_SUP'),
6005                    ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),),
6006            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6007            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6008            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6009            MODULE          =SIMP(statut='f',typ='R'),
6010            R_INF           =SIMP(statut='f',typ='R'),
6011            R_SUP           =SIMP(statut='f',typ='R'),
6012            MODULE_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6013            R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6014            R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6015                          ),
6016          b_theta_3d     =BLOC(condition="THETA_3D != None",
6017            FOND_FISS       =SIMP(statut='f',typ=fond_fiss),),
6018          DIRE_THETA      =SIMP(statut='f',typ=(cham_no_depl_r) ),
6019          DIRECTION       =SIMP(statut='f',typ='R',max='**'),
6020          THETA_2D        =FACT(statut='f',max='**',
6021            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
6022            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6023            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6024            MODULE          =SIMP(statut='o',typ='R'),
6025            R_INF           =SIMP(statut='o',typ='R'),
6026            R_SUP           =SIMP(statut='o',typ='R'),
6027          ),
6028          THETA_BANDE     =FACT(statut='f',max='**',
6029            MODULE          =SIMP(statut='o',typ='R'),
6030            R_INF           =SIMP(statut='o',typ='R'),
6031            R_SUP           =SIMP(statut='o',typ='R'),
6032          ),
6033          GRAD_NOEU_THETA =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6034          IMPRESSION      =FACT(statut='f',
6035            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
6036            FORMAT          =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ),
6037          ),
6038 )  ;
6039 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6040 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6041 # ======================================================================
6042 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6043 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6044 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6045 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6046 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6047 #
6048 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6049 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6050 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6051 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6052 #
6053 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6054 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6055 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6056 # ======================================================================
6057 # RESPONSABLE VABHHTS J.PELLET
6058 def calc_vect_elem_prod(OPTION,**args):
6059   if OPTION == "CHAR_MECA" :      return vect_elem_depl_r
6060   if OPTION == "CHAR_MECA_LAGR" : return vect_elem_depl_r
6061   if OPTION == "CHAR_THER" :      return vect_elem_temp_r
6062   if OPTION == "CHAR_ACOU" :      return vect_elem_pres_c
6063   if OPTION == "FORC_NODA" :      return vect_elem_depl_r
6064   raise AsException("type de concept resultat non prevu")
6065
6066 CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentrant='n',
6067             UIinfo={"groupes":("Matrices/vecteurs",)},
6068                     fr="Calcul des seconds membres élémentaires",
6069          OPTION          =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_THER","CHAR_ACOU",
6070                                                            "FORC_NODA","CHAR_MECA_LAGR") ),
6071          b_char_meca     =BLOC(condition = "OPTION=='CHAR_MECA'",
6072            regles=(AU_MOINS_UN('CHARGE','MODELE'),),
6073            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
6074            MODELE          =SIMP(statut='f',typ=modele_sdaster),
6075            b_charge     =BLOC(condition = "CHARGE != None", fr="modèle ne contenant pas de sous-structure",
6076               CHAM_MATER   =SIMP(statut='f',typ=cham_mater),
6077               CARA_ELEM    =SIMP(statut='f',typ=cara_elem),
6078               INST         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6079               MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ),
6080            ),  
6081            b_modele     =BLOC(condition = "(MODELE != None)",fr="modèle contenant une sous-structure",
6082               SOUS_STRUC      =FACT(statut='o',min=01,
6083                 regles=(UN_PARMI('TOUT','MAILLE'),),
6084                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
6085                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6086                 MAILLE      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
6087               ),
6088            ),
6089          ),
6090          b_char_ther     =BLOC(condition = "OPTION=='CHAR_THER'",
6091            CARA_ELEM        =SIMP(statut='f',typ=cara_elem),
6092            CHARGE           =SIMP(statut='o',typ=char_ther,validators=NoRepeat(),max='**'),
6093            INST             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6094          ),
6095               
6096          b_char_acou     =BLOC(condition = "OPTION=='CHAR_ACOU'",
6097            CHAM_MATER        =SIMP(statut='o',typ=cham_mater),
6098            CHARGE            =SIMP(statut='o',typ=char_acou,validators=NoRepeat(),max='**'),
6099          ),
6100          
6101          b_forc_noda     =BLOC(condition = "OPTION=='FORC_NODA'",
6102            SIEF_ELGA         =SIMP(statut='o',typ=cham_elem_sief_r),
6103            CARA_ELEM         =SIMP(statut='f',typ=cara_elem),
6104            MODELE            =SIMP(statut='f',typ=modele_sdaster),
6105          ),
6106          
6107          b_meca_lagr     =BLOC(condition = "OPTION=='CHAR_MECA_LAGR'",
6108            CHAM_MATER        =SIMP(statut='o',typ=cham_mater),
6109            THETA             =SIMP(statut='o',typ=theta_geom),
6110            PROPAGATION       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6111            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
6112            INST              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6113          ),
6114 ) ;
6115 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6116 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6117 # ======================================================================
6118 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6119 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6120 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6121 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6122 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6123 #
6124 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6125 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6126 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6127 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6128 #
6129 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6130 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6131 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6132 # ======================================================================
6133 # RESPONSABLE G8BHHXD X.DESROCHES
6134 def comb_cham_elem_prod(COMB_R=None,COMB_C=None,COMB_FOURIER=None,**args):
6135
6136   if COMB_R != None:
6137     vale=COMB_R[0]['CHAM_ELEM']
6138   elif COMB_C != None:
6139     vale=COMB_C[0]['CHAM_ELEM']
6140   elif COMB_FOURIER != None:
6141     vale=COMB_FOURIER[0]['CHAM_ELEM']
6142   else :
6143     raise AsException("type de concept resultat non prevu")
6144
6145   if AsType(vale) == cham_elem_sief_r : return cham_elem_sief_r
6146   if AsType(vale) == cham_elem_flux_r : return cham_elem_flux_r
6147   if AsType(vale) == cham_elem_epsi_r : return cham_elem_epsi_r
6148   if AsType(vale) == cham_elem_ener_r : return cham_elem_ener_r
6149   if AsType(vale) == cham_elem_crit_r : return cham_elem_crit_r
6150   if AsType(vale) == cham_elem_dbel_r : return cham_elem_dbel_r
6151   if AsType(vale) == cham_elem_pres_r : return cham_elem_pres_r
6152   if AsType(vale) == cham_elem_sief_c : return cham_elem_sief_c
6153   raise AsException("type de concept resultat non prevu")
6154
6155 COMB_CHAM_ELEM=OPER(nom="COMB_CHAM_ELEM",op= 139,sd_prod=comb_cham_elem_prod,reentrant='f',
6156                     fr="Combinaison linéaire de champs par éléments",
6157             UIinfo={"groupes":("Résultats et champs",)},
6158       regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'),
6159               PRESENT_PRESENT('COMB_FOURIER','ANGL'),),
6160       COMB_R          =FACT(statut='f',max='**',
6161         PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
6162         COEF_R          =SIMP(statut='o',typ='R'),
6163         CHAM_ELEM       =SIMP(statut='o',
6164                               typ=(cham_elem_sief_r,cham_elem_flux_r,cham_elem_epsi_r,
6165                                    cham_elem_ener_r,cham_elem_crit_r,cham_elem_dbel_r,
6166                                    cham_elem_pres_r,cham_elem_sief_c ) ),
6167       ),
6168       COMB_C          =FACT(statut='f',max='**',
6169         regles=(UN_PARMI('COEF_R','COEF_C', ),),
6170         COEF_R          =SIMP(statut='f',typ='R'),
6171         COEF_C          =SIMP(statut='f',typ='C'),
6172         CHAM_ELEM       =SIMP(statut='o',typ=(cham_elem_sief_r) ),
6173       ),
6174       COMB_FOURIER    =FACT(statut='f',max='**',
6175         COEF_R          =SIMP(statut='f',typ='R',defaut= 1.),
6176         NUME_MODE       =SIMP(statut='o',typ='I'),
6177         TYPE_MODE       =SIMP(statut='o',typ='TXM',into=("SYME","ANTI") ),
6178         CHAM_ELEM       =SIMP(statut='o',typ=(cham_elem_sief_r,cham_elem_flux_r,cham_elem_epsi_r ) ),
6179       ),
6180       ANGL            =SIMP(statut='f',typ='R' ),
6181 )  ;
6182
6183 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6184 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6185 # ======================================================================
6186 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6187 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6188 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6189 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6190 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6191 #
6192 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6193 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6194 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6195 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6196 #
6197 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6198 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6199 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6200 # ======================================================================
6201 # RESPONSABLE G8BHHXD X.DESROCHES
6202 def comb_cham_no_prod(COMB_R,COMB_C,COMB_FOURIER,**args):
6203   if COMB_C != None:
6204     type_mat = AsType(COMB_C[0]['CHAM_NO'])
6205     if type_mat in  (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_c
6206     if type_mat in  (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_c
6207     if type_mat in  (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_c
6208   elif COMB_R != None:
6209     type_mat = AsType(COMB_R[0]['CHAM_NO'])
6210     if type_mat in  (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_r
6211     if type_mat in  (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_r
6212     if type_mat in  (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_r
6213     if type_mat ==  matr_asse_gene_r : return matr_asse_gene_r
6214   elif COMB_FOURIER != None:
6215     type_mat = AsType(COMB_FOURIER[0]['CHAM_NO'])
6216     if type_mat == cham_no_temp_r : return cham_no_temp_r
6217     if type_mat == cham_no_depl_r : return cham_no_depl_r
6218   raise AsException("type de concept resultat non prevu")
6219
6220
6221 COMB_CHAM_NO=OPER(nom="COMB_CHAM_NO",op=  30,sd_prod=comb_cham_no_prod
6222                     ,fr="Combinaison linéaire de champs aux noeuds",
6223                      reentrant='f',
6224             UIinfo={"groupes":("Résultats et champs",)},
6225          regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'),),
6226          COMB_R          =FACT(statut='f',max='**',
6227            PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG",) ),
6228            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_temp_c,cham_no_depl_r,cham_no_depl_c
6229                                                 ,cham_no_pres_r,cham_no_pres_c ) ),
6230            COEF_R          =SIMP(statut='o',typ='R' ),
6231          ),
6232          COMB_C          =FACT(statut='f',max='**',
6233            regles=(UN_PARMI('COEF_R','COEF_C' ),),
6234            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r,cham_no_temp_c
6235                                                 ,cham_no_depl_c,cham_no_pres_c ) ),
6236            COEF_R          =SIMP(statut='f',typ='R' ),
6237            COEF_C          =SIMP(statut='f',typ='C' ),
6238          ),
6239          COMB_FOURIER    =FACT(statut='f',max='**',
6240            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r) ),
6241            COEF_R          =SIMP(statut='f',typ='R',defaut= 1. ),
6242            NUME_MODE       =SIMP(statut='o',typ='I' ),
6243            TYPE_MODE       =SIMP(statut='o',typ='TXM',into=("SYME","ANTI") ),
6244          ),
6245          b_angl = BLOC ( condition = "COMB_FOURIER != None",
6246            ANGL            =SIMP(statut='o',typ='R' ),
6247          ),
6248 )  ;
6249 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6250 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6251 # ======================================================================
6252 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6253 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6254 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6255 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6256 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6257 #
6258 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6259 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6260 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6261 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6262 #
6263 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6264 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6265 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6266 # ======================================================================
6267 # RESPONSABLE G8BHHXD X.DESROCHES
6268 COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier,
6269                   reentrant='n',
6270             UIinfo={"groupes":("Post traitements",)},
6271          RESULTAT        =SIMP(statut='o',typ=fourier_elas ),
6272          ANGL            =SIMP(statut='o',typ='R',max='**'),
6273          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=5,
6274                                into=("DEPL","REAC_NODA","SIEF_ELGA_DEPL","EPSI_ELNO_DEPL","SIGM_ELNO_DEPL") ),
6275 )  ;
6276 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6277 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6278 # ======================================================================
6279 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6280 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6281 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6282 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6283 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6284 #
6285 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6286 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6287 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6288 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6289 #
6290 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6291 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6292 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6293 # ======================================================================
6294 # RESPONSABLE VABHHTS J.PELLET
6295 def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args):
6296   if COMB_C != None:
6297     type_mat = AsType(COMB_C[0]['MATR_ASSE'])
6298     if type_mat in  (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_c
6299     if type_mat in  (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_c    
6300     if type_mat in  (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_c
6301     if type_mat in  (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_c
6302   elif COMB_R != None:
6303     type_mat = AsType(COMB_R[0]['MATR_ASSE'])
6304     if type_mat in  (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_r
6305     if type_mat in  (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_r
6306     if type_mat in  (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_r
6307     if type_mat in  (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_r
6308   elif CALC_AMOR_GENE != None: return matr_asse_gene_r
6309   raise AsException("type de concept resultat non prevu")
6310
6311 COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op=  31,sd_prod=comb_matr_asse_prod,
6312                     fr="Combinaison linéaire de matrices assemblées",
6313                     reentrant='f',
6314             UIinfo={"groupes":("Résultats et champs",)},
6315          regles=(UN_PARMI('COMB_R','COMB_C','CALC_AMOR_GENE' ),),
6316          COMB_R          =FACT(statut='f',max='**',
6317            PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
6318            MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c
6319                                                 ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ),
6320            COEF_R          =SIMP(statut='o',typ='R' ),
6321          ),
6322          COMB_C          =FACT(statut='f',max='**',
6323            regles=(UN_PARMI('COEF_R','COEF_C' ),),
6324            MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c
6325                                                 ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ),
6326            COEF_R          =SIMP(statut='f',typ='R' ),
6327            COEF_C          =SIMP(statut='f',typ='C' ),
6328          ),
6329          CALC_AMOR_GENE   =FACT(statut='f',
6330            regles=(UN_PARMI('AMOR_REDUIT','LIST_AMOR' ),),
6331            MASS_GENE    = SIMP(statut='f', typ=matr_asse_gene_r),
6332            RIGI_GENE    = SIMP(statut='f', typ=matr_asse_gene_r),
6333            AMOR_REDUIT  = SIMP(statut='f',typ='R',max='**'),
6334            LIST_AMOR    = SIMP(statut='f',typ=listr8_sdaster ),
6335          ),         
6336          SANS_CMP        =SIMP(statut='f',typ='TXM',into=("LAGR",) ),
6337 )  ;
6338 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
6339 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6340 # ======================================================================
6341 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6342 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6343 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6344 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6345 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6346 #
6347 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6348 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6349 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6350 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6351 #
6352 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6353 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6354 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6355 # ======================================================================
6356 COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat,
6357                      fr="Réponse sismique par recombinaison modale par une méthode spectrale",
6358                      reentrant='n',
6359             UIinfo={"groupes":("Post traitements",)},
6360          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ','LIST_ORDRE'),
6361                  UN_PARMI('AMOR_REDUIT','LIST_AMOR','AMOR_GENE' ),),
6362          MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
6363          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6364          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6365          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
6366          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6367          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6368          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
6369          b_freq          =BLOC(condition = "FREQ != None or LIST_FREQ != None",
6370            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
6371            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6372          ),
6373          MODE_CORR       =SIMP(statut='f',typ=mode_stat_acce ),
6374          
6375          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
6376          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
6377          AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r ),
6378          
6379          MASS_INER       =SIMP(statut='f',typ=tabl_mass_iner ),
6380          CORR_FREQ       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6381          
6382          EXCIT           =FACT(statut='o',max='**',
6383            regles=(UN_PARMI('MONO_APPUI','NOEUD','GROUP_NO'),
6384                    UN_PARMI('AXE','TRI_AXE','TRI_SPEC' ),),
6385            
6386            MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6387            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6388            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6389            AXE             =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant un seul axe",),
6390            TRI_AXE         =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant les trois axes mais avec le meme spectre",),
6391            TRI_SPEC        =SIMP(statut='f',typ='TXM',into=("OUI",),
6392                                  fr="Excitation suivant les trois axes  avec trois spectres"),
6393            b_axe           =BLOC(condition = "AXE != None",fr="Excitation suivant un seul axe",
6394              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),),
6395              ECHELLE         =SIMP(statut='f',typ='R',),
6396            ),
6397            b_tri_axe       =BLOC(condition = "TRI_AXE != None",fr="Excitation suivant les trois axes mais avec le meme spectre",
6398              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),),
6399              ECHELLE         =SIMP(statut='f',typ='R',),
6400            ),
6401            b_tri_spec      =BLOC(condition = "TRI_SPEC != None",fr="Excitation suivant les trois axes  avec trois spectres",
6402              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),min=3,max=3 ),
6403              ECHELLE         =SIMP(statut='f',typ='R',min=3,max=3),
6404            ),       
6405            NATURE          =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("ACCE","VITE","DEPL") ),
6406          ),
6407          COMB_MODE       =FACT(statut='o',
6408            TYPE            =SIMP(statut='o',typ='TXM',into=("SRSS","CQC","DSC","ABS","DPC") ),
6409            DUREE           =SIMP(statut='f',typ='R' ),
6410          ),
6411          COMB_DIRECTION  =FACT(statut='f',
6412            TYPE            =SIMP(statut='f',typ='TXM',into=("QUAD","NEWMARK") ),
6413          ),
6414          COMB_MULT_APPUI =FACT(statut='f',max='**',
6415            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ),),
6416            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6417            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6418            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6419            TYPE_COMBI      =SIMP(statut='f',typ='TXM',into=("QUAD","LINE",) ),
6420          ),
6421          COMB_DEPL_APPUI=FACT(statut='f',max='**',
6422            regles=(UN_PARMI('TOUT','LIST_CAS'),),
6423            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
6424            LIST_CAS       =SIMP(statut='f',typ='I',max='**'),
6425            TYPE_COMBI      =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ),
6426          ),
6427          DEPL_MULT_APPUI =FACT(statut='f',max='**',
6428            regles=(UN_PARMI('NOEUD','GROUP_NO'),
6429                    AU_MOINS_UN('DX','DY','DZ' ),),
6430            NOM_CAS         =SIMP(statut='o',typ='TXM',max='**'),
6431            NUME_CAS        =SIMP(statut='o',typ='I',max='**'),
6432            MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,), ),
6433            NOEUD_REFE      =SIMP(statut='f',typ=no),
6434            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6435            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6436            DX              =SIMP(statut='f',typ='R' ),
6437            DY              =SIMP(statut='f',typ='R' ),
6438            DZ              =SIMP(statut='f',typ='R' ),
6439          ),
6440          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=9,
6441                                into=("DEPL","VITE","ACCE_ABSOLU","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
6442                                      "EFGE_ELNO_DEPL","REAC_NODA","FORC_NODA","EFGE_ELNO_CART",
6443                                      "SIPO_ELNO_DEPL") ),
6444          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
6445          IMPRESSION      =FACT(statut='f',max='**',
6446            regles=(EXCLUS('TOUT','NIVEAU'),),
6447            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6448            NIVEAU          =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),validators=NoRepeat(),max=3 ),
6449          ),
6450          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6451 )  ;
6452 #& MODIF COMMANDE  DATE 31/08/2004   AUTEUR VABHHTS J.PELLET 
6453 # RESPONSABLE VABHHTS J.PELLET
6454 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6455 # ======================================================================
6456 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6457 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6458 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6459 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6460 # (AT YOUR OPTION) ANY LATER VERSION.
6461 #
6462 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6463 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6464 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6465 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6466 #
6467 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6468 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6469 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6470 # ======================================================================
6471 def crea_champ_prod(TYPE_CHAM,**args):
6472   import string
6473   grandeur=string.lower(TYPE_CHAM[5:])
6474
6475   if TYPE_CHAM[0:5] == "CART_" :
6476      uu="carte_"+grandeur
6477   elif TYPE_CHAM[0:5] == "NOEU_" :
6478      uu="cham_no_"+grandeur
6479   elif TYPE_CHAM[0:2] == "EL"    :
6480      uu="cham_elem_"+grandeur
6481   else :
6482      raise AsException("type de concept resultat_sdaster non prevu")
6483
6484   vv=eval(uu) ; return vv
6485
6486
6487 CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod,
6488                 fr="  ",reentrant='n',
6489             UIinfo={"groupes":("Résultats et champs",)},
6490          TYPE_CHAM       =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()),
6491       # TYPE_CHAM doit etre de la forme : CART_xx, NOEU_xx, ELEM_xx, ELGA_xx ou ELNO_xx
6492       # ou xx est le nom d'une grandeur définie dans le catalogue des grandeurs
6493
6494 #        SI CREATION D'UN CHAM_NO, POUR IMPOSER LA NUMEROTATION DES DDLS :
6495 #        ------------------------------------------------------------------
6496          regles=(EXCLUS('NUME_DDL','CHAM_NO',)),
6497          NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster) ),
6498          CHAM_NO         =SIMP(statut='f',typ=(cham_no_sdaster) ),
6499
6500 #        SI CREATION D'UN CHAM_ELEM, POUR aider a l'allocation du champ :
6501 #        (PAR DEFAUT : TOU_INI_ELNO/_ELGA/_ELEM)
6502 #        ------------------------------------------------------------------
6503          OPTION         =SIMP(statut='f',typ='TXM'),
6504
6505          OPERATION       =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC",) ),
6506
6507          b_affe          =BLOC(condition = "OPERATION == 'AFFE'",
6508              regles=(UN_PARMI('MAILLAGE','MODELE'),),
6509              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
6510              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
6511              b_affe_modele   =BLOC(condition = "MODELE != None",
6512                  PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), ),
6513              AFFE            =FACT(statut='o',max='**',
6514                 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),
6515                         UN_PARMI('VALE','VALE_I','VALE_C','VALE_F', ),),
6516                 TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6517                 GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
6518                 MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
6519                 GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
6520                 NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
6521                 NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
6522                 VALE            =SIMP(statut='f',typ='R',max='**' ),
6523                 VALE_I          =SIMP(statut='f',typ='I',max='**' ),
6524                 VALE_C          =SIMP(statut='f',typ='C',max='**' ),
6525                 VALE_F          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
6526                                    ),
6527                              ),
6528          b_asse          =BLOC(condition = "OPERATION == 'ASSE'",
6529              regles=(UN_PARMI('MAILLAGE','MODELE'),),
6530              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
6531              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
6532              b_asse_modele   =BLOC(condition = "MODELE != None",
6533                  PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), ),
6534              ASSE            =FACT(statut='o',max='**',
6535                 regles=(AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',),
6536                 PRESENT_PRESENT('NOM_CMP_RESU','NOM_CMP', ),),
6537                 TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6538                 GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6539                 GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6540                 MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6541                 NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6542                 CHAM_GD         =SIMP(statut='o',typ=(cham_gd_sdaster)),
6543                 NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),
6544                 NOM_CMP_RESU    =SIMP(statut='f',typ='TXM',max='**' ),
6545                 CUMUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
6546                 COEF_R          =SIMP(statut='f',typ='R',defaut= 1. ),
6547                                     ),
6548                              ),
6549          b_eval          =BLOC(condition = "OPERATION == 'EVAL'",
6550              CHAM_F          =SIMP(statut='o',typ=(cham_gd_sdaster)),
6551              CHAM_PARA       =SIMP(statut='o',typ=(cham_gd_sdaster),max='**'),
6552                              ),
6553          b_disc          =BLOC(condition = "OPERATION == 'DISC'",
6554              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
6555              PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
6556              CHAM_GD         =SIMP(statut='o',typ=(cham_gd_sdaster)),
6557                              ),
6558          b_extr          =BLOC(condition = "OPERATION == 'EXTR'",
6559              regles=(UN_PARMI('MAILLAGE','FISSURE','RESULTAT'),),
6560              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
6561              FISSURE         =SIMP(statut='f',typ=(fiss_xfem) ),
6562              RESULTAT        =SIMP(statut='f',typ=(resultat_sdaster) ),
6563              b_extr_maillage =BLOC(condition = "MAILLAGE != None",
6564                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("GEOMETRIE",)),
6565                                   ),
6566              b_extr_fissure  =BLOC(condition = "FISSURE != None",
6567                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("LTNO","LNNO","GRLTNO","GRLNNO",)),
6568                                   ),
6569              b_extr_resultat =BLOC(condition = "RESULTAT != None",
6570                  regles=(EXCLUS('TYPE_MAXI','NUME_ORDRE','INST','FREQ','NUME_MODE',
6571                                 'NOEUD_CMP','NOM_CAS','ANGL', ),),
6572                  SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
6573                                    fr="Paramètre de sensibilité.",
6574                                    ang="Sensitivity parameter"),
6575                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
6576                  TYPE_MAXI       =SIMP(statut='f',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN",) ),
6577                  TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE",into=("VALE","INST",) ),
6578                  TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6579                  LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
6580                  NUME_ORDRE      =SIMP(statut='f',typ='I'),
6581                  INST            =SIMP(statut='f',typ='R'),
6582                  FREQ            =SIMP(statut='f',typ='R'),
6583                  NUME_MODE       =SIMP(statut='f',typ='I'),
6584                  NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),
6585                  NOM_CAS         =SIMP(statut='f',typ='TXM'),
6586                  ANGL            =SIMP(statut='f',typ='R'),
6587                  PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
6588                  CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
6589                  INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ),
6590                               ),
6591
6592                 ),
6593 # FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULAT :
6594 #-----------------------------------------------------
6595          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
6596          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
6597 )  ;
6598 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR VABHHTS J.PELLET 
6599 # RESPONSABLE MCOURTOI M.COURTOIS
6600 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6601 # ======================================================================
6602 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6603 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6604 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6605 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6606 # (AT YOUR OPTION) ANY LATER VERSION.
6607 #
6608 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6609 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6610 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6611 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6612 #
6613 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6614 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6615 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6616 # ======================================================================
6617 CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster,
6618                      reentrant='n',
6619             UIinfo={"groupes":("Maillage",)},
6620          regles=(EXCLUS('ECLA_PG','CREA_MAILLE'),
6621                  EXCLUS('ECLA_PG','CREA_GROUP_MA'),
6622                  EXCLUS('ECLA_PG','DETR_GROUP_MA'),
6623                  EXCLUS('ECLA_PG','MODI_MAILLE'),
6624                  EXCLUS('ECLA_PG','LINE_QUAD'),
6625                  EXCLUS('ECLA_PG','COQU_VOLU'),
6626                  EXCLUS('LINE_QUAD','MODI_MAILLE'),
6627                  EXCLUS('LINE_QUAD','CREA_MAILLE'),
6628                  EXCLUS('LINE_QUAD','CREA_GROUP_MA'),
6629                  EXCLUS('LINE_QUAD','DETR_GROUP_MA'),
6630                  EXCLUS('LINE_QUAD','COQU_VOLU'),
6631                  EXCLUS('COQU_VOLU','MODI_MAILLE'),
6632                  EXCLUS('COQU_VOLU','CREA_MAILLE'),
6633                  EXCLUS('COQU_VOLU','CREA_GROUP_MA'),
6634                  EXCLUS('COQU_VOLU','DETR_GROUP_MA'),
6635                  ),
6636                  
6637          # le MAILLAGE est inutile si ECLA_PG
6638          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
6639          
6640          CREA_POI1       =FACT(statut='f',max='**',fr="Création de mailles de type POI1 à partir de noeuds",
6641            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD' ),),
6642            NOM_GROUP_MA    =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6643            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6644            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6645            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6646            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6647            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6648          ),
6649          CREA_MAILLE     =FACT(statut='f',max='**',fr="Duplication de mailles",
6650            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA'),),
6651            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6652            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6653            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6654            PREF_MAILLE     =SIMP(statut='o',typ='TXM' ),
6655            PREF_NUME       =SIMP(statut='f',typ='I' ),
6656          ),
6657          CREA_GROUP_MA   =FACT(statut='f',max='**',fr="Duplication de mailles et création de groupes de mailles",
6658            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
6659            NOM             =SIMP(statut='o',typ='TXM'),
6660            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6661            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6662            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6663            PREF_MAILLE     =SIMP(statut='o',typ='TXM' ),
6664            PREF_NUME       =SIMP(statut='f',typ='I' ),
6665          ),
6666          DETR_GROUP_MA   =FACT(statut='f',fr="Destruction de groupes de mailles",
6667            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6668            NB_MAILLE       =SIMP(statut='f',typ='I',defaut= 0,
6669                                  fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit",  ),
6670          ),
6671          COQU_VOLU   =FACT(statut='f',
6672                            fr="Creation de mailles volumiques à partir de mailles surfaciques",
6673            NOM             =SIMP(statut='o',typ='TXM'),
6674            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max ='**'),
6675            EPAIS           =SIMP(statut='o',typ='R' ),
6676            PREF_MAILLE     =SIMP(statut='f',typ='TXM',defaut="MS" ),
6677            PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS" ),
6678            PREF_NUME       =SIMP(statut='f',typ='I'  ,defaut=1 ),
6679            PLAN            =SIMP(statut='o',typ='TXM',into=("SUP","MOY","INF")),
6680            b_MOY =BLOC(condition = "PLAN == 'MOY'",
6681              TRANSLATION   =SIMP(statut='o',typ='TXM',into=("SUP","INF") ),
6682            ),
6683          ),
6684          MODI_MAILLE     =FACT(statut='f',max='**',fr="Modification du type de mailles",
6685            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
6686            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6687            MAILLE          =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6688            GROUP_MA        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6689            OPTION          =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4","QUAD_TRIA3"),
6690                                  fr="Choix de la transformation" ),
6691            b_NOS =BLOC(condition = "OPTION == 'TRIA6_7'  or  OPTION == 'QUAD8_9'  or  OPTION == 'SEG3_4'",
6692              PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS"),
6693              PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
6694            ),
6695            b_QTR =BLOC(condition = "OPTION == 'QUAD_TRIA3'",
6696              PREF_MAILLE     =SIMP(statut='f',typ='TXM',defaut="MS" ),
6697              PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
6698            ),
6699          ),
6700          LINE_QUAD     =FACT(statut='f',fr="Passage linéaire -> quadratique",
6701            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
6702            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6703            MAILLE          =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6704            GROUP_MA        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6705            PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS"),
6706            PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
6707          ),
6708          REPERE          =FACT(statut='f',max='**',
6709                                fr="changement de repère servant à déterminer les caractéristiques d une section de poutre",
6710            TABLE           =SIMP(statut='o',typ=tabl_cara_geom,
6711                                  fr="Nom de la table contenant les caractéristiques de la section de poutre" ),
6712            NOM_ORIG        =SIMP(statut='f',typ='TXM',into=("CDG","TORSION"),fr="Origine du nouveau repère" ),
6713            NOM_ROTA        =SIMP(statut='f',typ='TXM',into=("INERTIE",),fr="Direction du repére"  ),
6714            b_cdg =BLOC(condition = "NOM_ORIG == 'CDG'",
6715              GROUP_MA        =SIMP(statut='f',typ=grma,
6716                                    fr="Nom du groupe de mailles dont le centre de gravité sera l origine du nouveau repère"),
6717            ),
6718          ),
6719          ECLA_PG         =FACT(statut='f',
6720                                fr="Eclatement des mailles en petites mailles contenant chacune un seul point de gauss",
6721            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
6722            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6723            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6724            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6725            SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
6726            TAILLE_MIN      =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
6727            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
6728                                  into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ),
6729          ),
6730          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6731 #
6732          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
6733 )  ;
6734 #& MODIF COMMANDE  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
6735 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6736 # ======================================================================
6737 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6738 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6739 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6740 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6741 # (AT YOUR OPTION) ANY LATER VERSION.
6742 #
6743 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6744 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6745 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6746 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6747 #
6748 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6749 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6750 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6751 # ======================================================================
6752 def crea_resu_prod(TYPE_RESU,**args):
6753   if TYPE_RESU == "EVOL_ELAS"    : return evol_elas
6754   if TYPE_RESU == "EVOL_NOLI"    : return evol_noli
6755   if TYPE_RESU == "EVOL_THER"    : return evol_ther
6756   if TYPE_RESU == "MULT_ELAS"    : return mult_elas
6757   if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas
6758   if TYPE_RESU == "EVOL_VARC"    : return evol_varc
6759   raise AsException("type de concept resultat non prevu")
6760
6761 CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
6762             UIinfo={"groupes":("Modélisation",)},
6763                fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes",
6764
6765          OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ECLA_PG","PERM_CHAM","PROL_RTZ",),
6766                          fr="choix de la fonction a activer",),
6767
6768          b_affe       =BLOC(condition = "OPERATION == 'AFFE'",
6769
6770            TYPE_RESU    =SIMP(statut='o',typ='TXM',into=("MULT_ELAS","EVOL_ELAS","EVOL_NOLI","FOURIER_ELAS",
6771                                                          "EVOL_THER","EVOL_VARC",) ),
6772            NOM_CHAM     =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
6773
6774            AFFE         =FACT(statut='o',max='**',
6775              CHAM_GD       =SIMP(statut='o',typ=(cham_gd_sdaster)),
6776              MODELE        =SIMP(statut='f',typ=modele_sdaster),
6777              CHAM_MATER    =SIMP(statut='f',typ=cham_mater),
6778              CARA_ELEM     =SIMP(statut='f',typ=cara_elem),
6779
6780             # affectation de plusieurs instants à l'aide d'un champ aux noeuds de fonctions du temps:
6781              b_fonc       =BLOC(condition = "AsType(CHAM_GD) in (cham_no_temp_f,cham_no_depl_f)",
6782                 INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6783                 LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
6784                 NUME_INIT       =SIMP(statut='f',typ='I', val_min=1),
6785                 NUME_FIN        =SIMP(statut='f',typ='I', val_min=1),
6786                 PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
6787                 CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6788              ),
6789
6790             # affectation d'un seul nume_ordre :
6791              b_reel       =BLOC(condition = "AsType(CHAM_GD) not in (cham_no_temp_f,cham_no_depl_f)",
6792                 regles=(UN_PARMI('NOM_CAS','NUME_MODE','INST','LIST_INST'),),
6793                 NOM_CAS         =SIMP(statut='f',typ='TXM' ),
6794                 NUME_MODE       =SIMP(statut='f',typ='I'),
6795                 TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
6796                 INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6797                 LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
6798                 NUME_INIT       =SIMP(statut='f',typ='I', val_min=1),
6799                 NUME_FIN        =SIMP(statut='f',typ='I', val_min=1),
6800                 PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
6801                 CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6802              ),
6803            ),
6804          ),
6805
6806          b_ecla_pg    =BLOC(condition = "OPERATION == 'ECLA_PG'",
6807
6808            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_ELAS","EVOL_NOLI","EVOL_THER"), ),
6809
6810            ECLA_PG         =FACT(statut='o',
6811              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
6812              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
6813                                    into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ),
6814              MODELE_INIT     =SIMP(statut='o',typ=modele_sdaster),
6815              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6816              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6817              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6818              RESU_INIT       =SIMP(statut='o',typ=resultat_sdaster),
6819              MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
6820              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6821              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6822              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
6823              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6824              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
6825              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
6826              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
6827            ),
6828          ),
6829
6830          b_perm_cham =BLOC(condition = "OPERATION == 'PERM_CHAM'",
6831
6832            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_NOLI",) ),
6833            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","SIEF_ELGA","VARI_ELGA",),validators=NoRepeat(),max='**' ),
6834            RESU_INIT       =SIMP(statut='o',typ=evol_noli),
6835            INST_INIT       =SIMP(statut='f',typ='R'),
6836            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
6837            CRITERE         =SIMP(statut='f',typ='TXM',into=('RELATIF','ABSOLU'),defaut='RELATIF'),
6838            MAILLAGE_INIT   =SIMP(statut='o',typ=maillage_sdaster,),
6839            RESU_FINAL      =SIMP(statut='o',typ=evol_noli,),
6840            MAILLAGE_FINAL  =SIMP(statut='o',typ=maillage_sdaster,),
6841            PERM_CHAM       =FACT(statut='o',max='**',
6842               GROUP_MA_FINAL =SIMP(statut='o',typ=grma),
6843               GROUP_MA_INIT  =SIMP(statut='o',typ=grma),
6844               TRAN           =SIMP(statut='o',typ='R',max='**'),
6845               PRECISION      =SIMP(statut='f',typ='R',defaut=1.0E-3),
6846            ),
6847          ),
6848
6849          b_prol_rtz   =BLOC(condition = "OPERATION == 'PROL_RTZ'",
6850
6851            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_THER",) ),
6852
6853            PROL_RTZ        =FACT(statut='o',
6854               regles=(EXCLUS('INST','LIST_INST'),),
6855               MAILLAGE_FINAL  =SIMP(statut='o',typ=maillage_sdaster,),
6856               TABLE           =SIMP(statut='o',typ=tabl_post_rele,fr="Table issue de post_releve_t"),
6857               INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6858               LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
6859               b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
6860                  PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
6861                  CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6862               ),
6863               PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),),
6864               PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),),
6865               REPERE          =SIMP(statut='o',typ='TXM',into=("CYLINDRIQUE",),),
6866               ORIGINE         =SIMP(statut='o',typ='R',min=3,max=3),
6867               AXE_Z           =SIMP(statut='o',typ='R',min=3,max=3),
6868            ),
6869          ),
6870
6871 )  ;
6872 #& MODIF COMMANDE  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
6873 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6874 # ======================================================================
6875 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
6876 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
6877 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
6878 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
6879 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
6880 #                                                                       
6881 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
6882 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
6883 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
6884 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
6885 #                                                                       
6886 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
6887 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
6888 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
6889 # ======================================================================
6890 def crea_table_prod(TYPE_TABLE,**args):
6891   if TYPE_TABLE == "TABLE"          : return table_sdaster
6892   if TYPE_TABLE == "TABL_CARA_GEOM" : return tabl_cara_geom
6893   if TYPE_TABLE == "TABL_POST_RELE" : return tabl_post_rele
6894   if TYPE_TABLE == "TABL_POST_USUR" : return tabl_post_usur
6895   if TYPE_TABLE == "TABL_POST_ALEA" : return tabl_post_alea
6896   if TYPE_TABLE == "TABL_INTE_SPEC" : return tabl_intsp
6897   raise AsException("type de concept resultat non prevu")
6898
6899 CREA_TABLE=OPER(nom="CREA_TABLE",op=  36,sd_prod=crea_table_prod,
6900                 fr="Creation d'une table a partir d'une fonction ou de deux listes",
6901                 reentrant='n',UIinfo={"groupes":("Table",)},
6902
6903            regles=(EXCLUS('FONCTION','LISTE')),
6904
6905            TYPE_TABLE=SIMP(statut='f',typ='TXM',defaut="TABLE",
6906                            into=("TABLE",
6907                                  "TABL_CARA_GEOM",
6908                                  "TABL_POST_RELE",
6909                                  "TABL_POST_USUR",
6910                                  "TABL_POST_ALEA",
6911                                  "TABL_INTE_SPEC" ) ),
6912            LISTE=FACT(statut='f',min=2,max='**',
6913                  fr="Creation d'une table a partir de listes",
6914                  regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), 
6915                         PARA=SIMP(statut='o',typ='TXM'),
6916                         TYPE_K=SIMP(statut='f',typ='TXM',defaut='K8',
6917                                     into=('K8','K16','K24')),
6918                         NUME_LIGN=SIMP(statut='f',typ='I',max='**'),
6919                         LISTE_I=SIMP(statut='f',typ='I',max='**'),
6920                         LISTE_R=SIMP(statut='f',typ='R',max='**'),
6921                         LISTE_K=SIMP(statut='f',typ='TXM', max='**')),
6922            FONCTION=FACT(statut='f',min=1,max=1,
6923                     fr="Creation d'une table a partir d'une fonction",
6924                         FONCTION=SIMP(statut='o',typ=fonction_sdaster),
6925                         PARA=SIMP(statut='f',typ='TXM',min=2,max=2)),  
6926            TITRE=SIMP(statut='f',typ='TXM',max='**'),
6927 )  ;
6928
6929
6930
6931 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6932 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6933 # ======================================================================
6934 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6935 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6936 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6937 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6938 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6939 #
6940 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6941 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6942 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6943 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6944 #
6945 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6946 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6947 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6948 # ======================================================================
6949 DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,repetable='n',
6950             UIinfo={"groupes":("Gestion du travail",)},
6951            fr="Ouverture d une étude. Allocation des ressources mémoire et disque",
6952           sd_prod=ops.DEBUT,
6953
6954          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
6955                            into=("OUI","NON"),defaut="OUI"),
6956          FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
6957                                typ='TXM',defaut="NON",into=("OUI","NON",) ), 
6958          BASE            =FACT(fr="définition des paramètres associés aux bases JEVEUX",
6959                                statut='f',min=1,max=3,
6960            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM',
6961                                  into=('GLOBALE','VOLATILE','LOCALE'),),
6962            TITRE           =SIMP(statut='f',typ='TXM'),
6963            CAS             =SIMP(statut='f',typ='TXM'),
6964            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
6965            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
6966            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
6967          ),
6968          IMPRESSION      =FACT(statut='f',min=1,max=3,
6969            FICHIER         =SIMP(statut='o',typ='TXM'),
6970            UNITE           =SIMP(statut='o',typ='I'),
6971          ),
6972          CATALOGUE       =FACT(statut='f',min=1,max=10,
6973            FICHIER         =SIMP(statut='o',typ='TXM'),
6974            TITRE           =SIMP(statut='f',typ='TXM'),
6975            UNITE           =SIMP(statut='f',typ='I'),
6976          ),
6977          CODE            =FACT(fr="définition d un nom pour l'ensemble d'une étude",
6978                                statut='f',min=1,max=1,
6979            NOM             =SIMP(statut='o',typ='TXM'),
6980            NIV_PUB_WEB     =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')),
6981            VISU_EFICAS     =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'),
6982            UNITE           =SIMP(statut='f',typ='I',defaut=15),
6983          ),
6984          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
6985                                statut='f',min=1,max=1,
6986            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
6987                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
6988            JEVEUX          =SIMP(fr="force les déchargement sur disque",
6989                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
6990            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
6991                                  statut='f',typ='TXM',into=('TEST',)),
6992          ),
6993          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
6994            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
6995            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
6996            TAILLE          =SIMP(statut='f',typ='I'),
6997            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
6998            PARTITION       =SIMP(statut='f',typ='R'),
6999          ),
7000  );
7001 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7002 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7003 # ======================================================================
7004 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7005 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7006 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7007 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7008 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7009 #
7010 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7011 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7012 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7013 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7014 #
7015 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7016 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7017 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7018 # ======================================================================
7019 DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op=  99,sd_prod=base_modale,
7020                      reentrant='f',
7021             UIinfo={"groupes":("Matrices/vecteurs",)},
7022          regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS'),),
7023          CLASSIQUE       =FACT(statut='f',
7024            INTERF_DYNA     =SIMP(statut='o',typ=interf_dyna_clas ),
7025            MODE_MECA       =SIMP(statut='o',typ=mode_meca,max='**' ),
7026            NMAX_MODE       =SIMP(statut='f',typ='I',defaut= 10 ),
7027          ),
7028          RITZ            =FACT(statut='f',max='**',
7029            regles=(UN_PARMI('MODE_STAT','MODE_MECA','MULT_ELAS','BASE_MODALE'),),
7030            MODE_MECA       =SIMP(statut='f',typ=mode_meca,max='**'  ),
7031            NMAX_MODE       =SIMP(statut='f',typ='I',defaut= 999 ),
7032            MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
7033            MULT_ELAS       =SIMP(statut='f',typ=mult_elas ),
7034            BASE_MODALE     =SIMP(statut='f',typ=base_modale ),
7035          ),
7036         DIAG_MASS        =FACT(statut='f',max='**',
7037            MODE_MECA       =SIMP(statut='o',typ=mode_meca,max='**'  ),
7038            MODE_STAT       =SIMP(statut='o',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
7039          ),
7040 #  le bloc conditionnel remplace-t-il PRESENT_PRESENT('RITZ','NUME_REF'),
7041 #                                     PRESENT_ABSENT('INTERF_DYNA','CLASSIQUE'),        
7042          b_ritz          =BLOC(condition = "RITZ != None",
7043            INTERF_DYNA     =SIMP(statut='f',typ=interf_dyna_clas ),
7044            NUME_REF        =SIMP(statut='o',typ=nume_ddl_sdaster ),
7045          ),
7046          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7047          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7048 )  ;
7049 #& MODIF COMMANDE  DATE 24/08/2004   AUTEUR CIBHHPD S.VANDENBERGHE 
7050 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7051 # ======================================================================
7052 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7053 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7054 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7055 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7056 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7057 #                                                                       
7058 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7059 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7060 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7061 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7062 #                                                                       
7063 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7064 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7065 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7066 # ======================================================================
7067
7068 from Macro.defi_cable_bp_ops import defi_cable_bp_ops
7069
7070 # ===========================================================================
7071 #           CATALOGUE DE LA MACRO "DEFI_CABLE_BP"
7072 #           -----------------------------------------
7073 #
7074 # USAGE :
7075 # Entrée :
7076 #  - MAILLAGE
7077 #  - MODELE
7078 #  - CABLE
7079 #  - CHAM_MATER
7080 #  - CARA_ELEM
7081 #  - GROUP_MA_BETON
7082 #  - DEFI_CABLE
7083 #  - TENSION_INIT
7084 #  - RECUL_ANCRAGE
7085 #  - RELAXATION
7086 #  - CONE
7087 #      RAYON
7088 #      LONGUEUR
7089 #      PRESENT          OUI ou NON deux fois
7090 #  - TITRE
7091 #  - INFO               1 / 2
7092 #
7093 # ===========================================================================
7094
7095
7096 def defi_cable_bp_prod(self,MAILLAGE,**args ):
7097   if MAILLAGE!= None : self.type_sdprod(MAILLAGE,maillage_sdaster)
7098   return cabl_precont
7099   raise AsException("type de concept resultat non prevu")
7100
7101 DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP",op=defi_cable_bp_ops,sd_prod=defi_cable_bp_prod,
7102                    fr=" ",
7103                    reentrant='n',
7104          regles=(PRESENT_PRESENT('MAILLAGE','CONE'),),
7105          MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster,CO)),
7106          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
7107          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
7108          CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
7109          GROUP_MA_BETON  =SIMP(statut='o',typ=grma,max='**'),
7110          DEFI_CABLE      =FACT(statut='o',max='**',
7111            regles=(UN_PARMI('MAILLE','GROUP_MA'),
7112                    UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
7113            MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
7114            GROUP_MA        =SIMP(statut='f',typ=grma),
7115            NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
7116            GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7117          ),
7118          TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
7119          TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7120          RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7121          RELAXATION      =FACT(statut='f',min=0,
7122            R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7123          ),
7124          CONE            =FACT(statut='f',min=0,
7125            RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7126            LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7127            PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
7128          ),
7129          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
7130          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7131 )  ;
7132 #& MODIF COMMANDE  DATE 24/08/2004   AUTEUR CIBHHPD S.VANDENBERGHE 
7133 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7134 # ======================================================================
7135 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7136 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7137 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7138 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7139 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7140 #                                                                       
7141 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7142 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7143 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7144 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7145 #                                                                       
7146 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7147 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7148 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7149 # ======================================================================
7150
7151 DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,
7152                    fr=" ",
7153                    reentrant='n',
7154             UIinfo={"groupes":("Modélisation",)},
7155          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
7156          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
7157          CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
7158          GROUP_MA_BETON  =SIMP(statut='o',typ=grma,max='**'),
7159          DEFI_CABLE      =FACT(statut='o',max='**',
7160            regles=(UN_PARMI('MAILLE','GROUP_MA'),
7161                    UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
7162            MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
7163            GROUP_MA        =SIMP(statut='f',typ=grma),
7164            NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
7165            GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7166            GROUP_NO_FUT    =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7167          ),
7168          TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
7169          TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7170          RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7171          RELAXATION      =FACT(statut='f',min=0,
7172            R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7173          ),
7174          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
7175          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7176          CONE            =FACT(statut='f',min=0,
7177            RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7178            LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ),  
7179            PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
7180          ),
7181 )  ;
7182 #& MODIF COMMANDE  DATE 27/09/2004   AUTEUR JMBHH01 J.M.PROIX 
7183 # RESPONSABLE JMBHH01 J.M.PROIX
7184 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7185 # ======================================================================
7186 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
7187 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7188 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7189 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7190 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7191 #                                                                       
7192 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7193 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7194 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7195 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7196 #                                                                       
7197 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7198 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7199 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7200 # ======================================================================
7201 DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
7202                    fr="Définition du comportement monocristallin",
7203                    reentrant='n',
7204             UIinfo={"groupes":("Modélisation",)},
7205                   regles=(EXCLUS('MONOCRISTAL','POLYCRISTAL'),),
7206
7207           MONOCRISTAL    =FACT(statut='f', max='**',
7208              MATER           =SIMP(statut='o', typ=mater_sdaster, max=1),
7209              ECOULEMENT      =SIMP(statut='o', typ='TXM', max=1,
7210                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"),
7211              ECRO_ISOT       =SIMP(statut='o', typ='TXM', max=1,
7212                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"),
7213              ECRO_CINE       =SIMP(statut='o', typ='TXM', max=1,
7214                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"),
7215              ELAS            =SIMP(statut='f', typ='TXM', max=1,
7216                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"),
7217              FAMI_SYST_GLIS  =SIMP(statut='o',typ='TXM', max=1, 
7218                                 into=('BASAL', 'PRISMATIQUE', 'OCTAEDRIQUE', 'PYRAMIDAL1',
7219                                 'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL'),),
7220                                 ),
7221                                 
7222                                 
7223           POLYCRISTAL    =FACT(statut='f', max='**',
7224              MONOCRISTAL     =SIMP(statut='o', typ=compor_sdaster, max=1),
7225              FRAC_VOL  =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"),
7226              ANGL_REP  =SIMP(statut='o',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler en degrés"),
7227                                 ),
7228                                 
7229                                 
7230           b_poly      =BLOC( condition = "POLYCRISTAL!='None'",
7231           LOCALISATION     =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',),
7232                 fr="Donner le nom de la règle de localisation"),
7233           
7234            b_beta      =BLOC( condition = "LOCALISATION=='BETA'",
7235              DL            =SIMP(statut='o',typ='R',max=1),
7236              DA            =SIMP(statut='o',typ='R',max=1),
7237              ),
7238              ),
7239                                 
7240                                 );
7241                    
7242 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7243 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7244 # ======================================================================
7245 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7246 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7247 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7248 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7249 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7250 #
7251 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7252 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7253 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7254 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7255 #
7256 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7257 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7258 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7259 # ======================================================================
7260 DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op=   2,sd_prod=fonction_sdaster,
7261                     fr="Définition d une fonction constante",
7262                     reentrant='n',
7263             UIinfo={"groupes":("Fonction",)},
7264          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
7265          VALE            =SIMP(statut='o',typ='R',),
7266          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7267 )  ;
7268 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
7269 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7270 # ======================================================================
7271 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7272 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7273 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7274 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7275 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7276 #
7277 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7278 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7279 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7280 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7281 #
7282 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7283 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7284 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7285 # ======================================================================
7286 DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant='n',
7287             UIinfo={"groupes":("Modélisation",)},
7288                     fr="Définition d une coque composite couche par couche",
7289          COUCHE          =FACT(statut='o',max='**',
7290            EPAIS           =SIMP(statut='o',typ='R',val_min=0.E+0 ),
7291            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
7292            ORIENTATION     =SIMP(statut='f',typ='R',defaut= 0.E+0,
7293                                  val_min=-90.E+0,val_max=90.E+0   ),
7294          ),
7295          IMPRESSION      =FACT(statut='f',
7296            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
7297          ),
7298 )  ;
7299 #& MODIF COMMANDE  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
7300 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7301 # ======================================================================
7302 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7303 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7304 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7305 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7306 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7307 #                                                                       
7308 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7309 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7310 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7311 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7312 #                                                                       
7313 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7314 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7315 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7316 # ======================================================================
7317 # RESPONSABLE D6BHHJP J.P.LEFEBVRE
7318 def DEFIC_prod(self,ACTION,UNITE,**args):
7319   if ACTION == "ASSOCIER" :
7320     if UNITE != None :
7321       return
7322     else :
7323       return entier
7324   elif ACTION == "LIBERER"  :
7325     return
7326   else :
7327     raise AsException("ACTION non prevue")
7328
7329 DEFI_FICHIER=MACRO(nom="DEFI_FICHIER",op=ops.build_DEFI_FICHIER,sd_prod=DEFIC_prod,reentrant='n',
7330                   UIinfo={"groupes":("Gestion du travail",)},
7331                   fr="Gestion d une unité logique : ajout, suppression",
7332
7333             ACTION        =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER"),defaut="ASSOCIER"),
7334
7335             b_associer    =BLOC(condition = "ACTION == 'ASSOCIER'",
7336                                 fr="Paramètres pour l'ouverture du fichier",
7337                                 regles=(AU_MOINS_UN('FICHIER','UNITE'),),
7338                UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
7339                FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
7340                TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"),
7341
7342                b_type_ascii  =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII",
7343                   ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"),
7344                ),
7345                b_type_autre  =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE",
7346                   ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"),
7347                ),
7348             ),
7349
7350             b_liberer    =BLOC(condition = "ACTION == 'LIBERER'",
7351                                fr="Paramètres pour la fermeture du fichier",
7352                                regles=(UN_PARMI('FICHIER','UNITE'),),
7353                   UNITE         =SIMP(statut='f',typ='I' ,val_min=1),
7354                   FICHIER   =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
7355            ),
7356
7357            INFO          =SIMP(statut='f',typ='I',into=(1,2) ),           
7358            )
7359 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
7360 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7361 # ======================================================================
7362 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
7363 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7364 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7365 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7366 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7367 #                                                                       
7368 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7369 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7370 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7371 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7372 #                                                                       
7373 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7374 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7375 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7376 # ======================================================================
7377
7378 DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op=  41,sd_prod=fiss_xfem,reentrant='f',
7379             UIinfo={"groupes":("Modélisation",)},
7380                fr="Définition des caratéristiques d''une fissure avec XFEM",
7381
7382     MODELE                =SIMP(statut='o',typ=modele_sdaster),
7383     DEFI_FISS             =FACT(statut='o',max=01,
7384       regles              =(UN_PARMI('GROUP_MA_FISS','FONC_LT'),
7385                             ENSEMBLE('FONC_LT','FONC_LN'),
7386                             ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')),
7387       FONC_LT             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7388       FONC_LN             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7389       GROUP_MA_FISS       =SIMP(statut='f',typ=grma,max=01),
7390       GROUP_MA_FOND       =SIMP(statut='f',typ=grma),
7391     ),
7392     GROUP_MA_ENRI         =SIMP(statut='o',typ=grma,max=01),
7393     ORIE_FOND             =FACT(statut='o',max=01,
7394       PFON_INI            =SIMP(statut='o',typ='R',max=03),
7395       VECT_ORIE           =SIMP(statut='o',typ='R',max=03),
7396       PT_ORIGIN           =SIMP(statut='o',typ='R',max=03),
7397     ),
7398     INFO                  =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ),
7399
7400 )  ;
7401 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
7402 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7403 # ======================================================================
7404 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7405 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7406 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7407 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7408 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7409 #
7410 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7411 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7412 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7413 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7414 #
7415 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7416 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7417 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7418 # ======================================================================
7419 DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru,
7420                     reentrant='n',
7421             UIinfo={"groupes":("Maillage",)},
7422          regles=(  UN_PARMI('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),),
7423          FAISCEAU_TRANS  =FACT(statut='f',max='**',
7424            COUPLAGE        =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
7425            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
7426            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7427            PROF_RHO_F_INT  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7428            PROF_RHO_F_EXT  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7429            NOM_CMP         =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ),
7430            COEF_MASS_AJOU  =SIMP(statut='f',typ='R' ),
7431            TYPE_PAS        =SIMP(statut='f',typ='TXM',into=("CARRE_LIGN","TRIA_LIGN") ),
7432            TYPE_RESEAU     =SIMP(statut='f',typ='I' ),
7433            UNITE_CD        =SIMP(statut='f',typ='I',defaut=70),
7434            UNITE_CK        =SIMP(statut='f',typ='I',defaut=71),            
7435            PAS             =SIMP(statut='f',typ='R' ),
7436          ),
7437          GRAPPE          =FACT(statut='f',
7438            regles=(ENSEMBLE('GRAPPE_2','NOEUD','CARA_ELEM','MODELE','RHO_FLUI',),
7439                    PRESENT_PRESENT('COEF_MASS_AJOU','GRAPPE_2', ),),
7440 #  peut on créer un bloc a partir de la valeur de couplage  
7441            COUPLAGE        =SIMP(statut='o',typ='TXM',into=("OUI","NON") ),
7442            GRAPPE_2        =SIMP(statut='f',typ='TXM',
7443                                  into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC") ),
7444            NOEUD           =SIMP(statut='f',typ=no),
7445            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
7446            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
7447            COEF_MASS_AJOU  =SIMP(statut='f',typ='R' ),
7448            RHO_FLUI        =SIMP(statut='f',typ='R' ),
7449            UNITE_CA        =SIMP(statut='f',typ='I',defaut=70),
7450            UNITE_KA        =SIMP(statut='f',typ='I',defaut=71),            
7451          ),
7452          FAISCEAU_AXIAL  =FACT(statut='f',max='**',
7453            regles=(UN_PARMI('GROUP_MA','TRI_GROUP_MA'),
7454                    UN_PARMI('CARA_ELEM','RAYON_TUBE'),
7455                    ENSEMBLE('RAYON_TUBE','COOR_TUBE'),
7456                    PRESENT_ABSENT('RAYON_TUBE','TRI_GROUP_MA'),
7457                    ENSEMBLE('CARA_PAROI','VALE_PAROI'),
7458                    ENSEMBLE('LONG_TYPG','LARG_TYPG','EPAI_TYPG','RUGO_TYPG','COEF_TRAI_TYPG','COEF_DPOR_TYPG',
7459                             'COOR_GRILLE','TYPE_GRILLE', ),),
7460 #  on doit pouvoir mettre des blocs conditionnels mais pas assez d infos pour le faire                            
7461            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7462            TRI_GROUP_MA    =SIMP(statut='f',typ='TXM' ),
7463            VECT_X          =SIMP(statut='f',typ='R',max=3),
7464            PROF_RHO_FLUI   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7465            PROF_VISC_CINE  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7466            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
7467            RAYON_TUBE      =SIMP(statut='f',typ='R' ),
7468            COOR_TUBE       =SIMP(statut='f',typ='R',max='**'),
7469            PESANTEUR       =SIMP(statut='f',typ='R',min=4,max=4),
7470            RUGO_TUBE       =SIMP(statut='f',typ='R' ),
7471            CARA_PAROI      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=5,
7472                                  into=("YC","ZC","R","HY","HZ") ),
7473            VALE_PAROI      =SIMP(statut='f',typ='R',max=5),
7474            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
7475            LONG_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7476            LARG_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7477            EPAI_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7478            RUGO_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7479            COEF_TRAI_TYPG  =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7480            COEF_DPOR_TYPG  =SIMP(statut='f',typ='R',max='**'),
7481            COOR_GRILLE     =SIMP(statut='f',typ='R',max='**'),
7482            TYPE_GRILLE     =SIMP(statut='f',typ='I',max='**'),
7483          ),
7484          COQUE_COAX      =FACT(statut='f',
7485            MASS_AJOU       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7486            GROUP_MA_INT    =SIMP(statut='o',typ=grma),
7487            GROUP_MA_EXT    =SIMP(statut='o',typ=grma),
7488            VECT_X          =SIMP(statut='o',typ='R',max='**'),
7489            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
7490            MATER_INT       =SIMP(statut='o',typ=mater_sdaster ),
7491            MATER_EXT       =SIMP(statut='o',typ=mater_sdaster ),
7492            RHO_FLUI        =SIMP(statut='o',typ='R' ),
7493            VISC_CINE       =SIMP(statut='o',typ='R' ),
7494            RUGOSITE        =SIMP(statut='o',typ='R' ),
7495            PDC_MOY_1       =SIMP(statut='o',typ='R' ),
7496            PDC_DYN_1       =SIMP(statut='o',typ='R' ),
7497            PDC_MOY_2       =SIMP(statut='o',typ='R' ),
7498            PDC_DYN_2       =SIMP(statut='o',typ='R' ),
7499          ),
7500          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7501 )  ;
7502 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7503 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7504 # ======================================================================
7505 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7506 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7507 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7508 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7509 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7510 #
7511 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7512 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7513 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7514 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7515 #
7516 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7517 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7518 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7519 # ======================================================================
7520 DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentrant='n',
7521             UIinfo={"groupes":("Outils métier",)},
7522                     fr="Définition d une fonction du temps pour calculer des forces de LAPLACE",
7523       regles=(UN_PARMI('COUR_PRIN','COUR'),
7524               EXCLUS('COUR','COUR_SECO'), ),
7525          FREQ            =SIMP(statut='f',typ='R',defaut= 50.),
7526          SIGNAL          =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("COMPLET","CONTINU") ),
7527          COUR            =FACT(statut='f',max='**',
7528          fr="Définition du courant de court-circuit",
7529            regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),
7530                    UN_PARMI('PHI_CC_2','INTC_CC_2'),),
7531            INTE_CC_1       =SIMP(statut='o',typ='R'),
7532            TAU_CC_1        =SIMP(statut='o',typ='R'),
7533            PHI_CC_1        =SIMP(statut='f',typ='R'),
7534            INTC_CC_1       =SIMP(statut='f',typ='R'),
7535            INTE_CC_2       =SIMP(statut='o',typ='R'),
7536            TAU_CC_2        =SIMP(statut='o',typ='R'),
7537            PHI_CC_2        =SIMP(statut='f',typ='R'),
7538            INTC_CC_2       =SIMP(statut='f',typ='R'),
7539            INST_CC_INIT    =SIMP(statut='o',typ='R'),
7540            INST_CC_FIN     =SIMP(statut='o',typ='R'),
7541          ),
7542          COUR_PRIN       =FACT(statut='f',
7543          fr="Définition du courant de court-circuit avec réenclenchement",
7544            regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),),
7545            INTE_CC_1       =SIMP(statut='o',typ='R'),
7546            TAU_CC_1        =SIMP(statut='o',typ='R'),
7547            PHI_CC_1        =SIMP(statut='f',typ='R'),
7548            INTC_CC_1       =SIMP(statut='f',typ='R'),
7549            INTE_RENC_1     =SIMP(statut='f',typ='R'),
7550            TAU_RENC_1      =SIMP(statut='f',typ='R'),
7551            PHI_RENC_1      =SIMP(statut='f',typ='R'),
7552            INST_CC_INIT    =SIMP(statut='o',typ='R'),
7553            INST_CC_FIN     =SIMP(statut='o',typ='R'),
7554            INST_RENC_INIT  =SIMP(statut='f',typ='R',defaut= 0.0E+0),
7555            INST_RENC_FIN   =SIMP(statut='f',typ='R',defaut= 0.0E+0),
7556          ),
7557          COUR_SECO       =FACT(statut='f',max='**',
7558          fr="Définition du courant de court-circuit avec un intervalle de temps différent de celui de COUR_PRIN",
7559            regles=(UN_PARMI('PHI_CC_2','INTC_CC_2'),),
7560            INTE_CC_2       =SIMP(statut='o',typ='R'),
7561            TAU_CC_2        =SIMP(statut='o',typ='R'),
7562            PHI_CC_2        =SIMP(statut='f',typ='R'),
7563            INTC_CC_2       =SIMP(statut='f',typ='R'),
7564            INTE_RENC_2     =SIMP(statut='f',typ='R'),
7565            TAU_RENC_2      =SIMP(statut='f',typ='R'),
7566            PHI_RENC_2      =SIMP(statut='f',typ='R'),
7567            DIST            =SIMP(statut='f',typ='R',defaut=1.0E+0),
7568          ),
7569          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
7570 )  ;
7571 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7572 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7573 # ======================================================================
7574 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7575 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7576 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7577 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7578 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7579 #
7580 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7581 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7582 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7583 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7584 #
7585 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7586 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7587 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7588 # ======================================================================
7589 DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster,
7590                     reentrant='n',
7591             UIinfo={"groupes":("Fonction",)},
7592          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
7593          NOEUD_INIT      =SIMP(statut='o',typ=no),
7594          NOEUD_FIN       =SIMP(statut='o',typ=no),
7595          VITE            =FACT(statut='o',
7596            VALE            =SIMP(statut='f',typ='R',defaut= 1. ),
7597            PROFIL          =SIMP(statut='o',typ='TXM',into=("UNIFORME","LEONARD") ),
7598            NB_BAV          =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 2 , 3 ) ),
7599          ),
7600          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",
7601                                into=("NON","LIN","LOG") ),
7602          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",
7603                                into=("CONSTANT","LINEAIRE","EXCLU") ),
7604          PROL_GAUCHE     =SIMP(statut='f',typ='TXM' ,defaut="EXCLU",
7605                                into=("CONSTANT","LINEAIRE","EXCLU") ),
7606          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
7607          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7608 )  ;
7609 #& MODIF COMMANDE  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
7610 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7611 # ======================================================================
7612 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7613 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7614 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7615 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7616 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7617 #
7618 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7619 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7620 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7621 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7622 #
7623 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7624 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7625 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7626 # ======================================================================
7627 # RESPONSABLE MCOURTOI M.COURTOIS
7628 def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,**args):
7629   if VALE       != None  : return fonction_sdaster
7630   if VALE_C     != None  : return fonction_c
7631   if VALE_PARA  != None  : return fonction_sdaster
7632   if NOEUD_PARA != None  : return fonction_sdaster
7633   raise AsException("type de concept resultat non prevu")
7634
7635 DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod
7636                     ,fr="Définition des valeurs réelles ou complexes d une fonction réelle",
7637                      reentrant='n',
7638             UIinfo={"groupes":("Fonction",)},
7639          regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA'),),
7640          NOM_PARA        =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
7641          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
7642          VALE            =SIMP(statut='f',typ='R',min=2,max='**',
7643                                fr ="Fonction réelle définie par une liste de couples (abscisse,ordonnée)"),
7644          VALE_C          =SIMP(statut='f',typ='R',min=2,max='**',
7645                                fr ="Fonction complexe définie par une liste de couples"),
7646          VALE_PARA       =SIMP(statut='f',typ=listr8_sdaster,
7647                                fr ="Fonction réelle définie par deux concepts de type listr8" ),
7648          b_vale_para     =BLOC(condition = "VALE_PARA != None",
7649            VALE_FONC       =SIMP(statut='o',typ=listr8_sdaster ),
7650          ),
7651          NOEUD_PARA      =SIMP(statut='f',typ=no,max='**',
7652                                fr ="Fonction réelle définie par une liste de noeuds et un maillage"),
7653          b_noeud_para    =BLOC(condition = "NOEUD_PARA != None",
7654            MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
7655            VALE_Y          =SIMP(statut='o',typ='R',max='**'),
7656          ),
7657
7658          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
7659          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7660          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7661          VERIF           =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ),
7662          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7663          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7664 )  ;
7665 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7666 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7667 # ======================================================================
7668 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7669 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7670 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7671 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7672 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7673 #
7674 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7675 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7676 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7677 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7678 #
7679 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7680 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7681 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7682 # ======================================================================
7683 DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,reentrant='n',
7684             UIinfo={"groupes":("Post traitements",)},
7685                     fr="Définition de lèvres et d un fond de fissure en 3D",
7686          regles=(UN_PARMI('FOND_FISS','FOND_FERME'),
7687                  EXCLUS('FOND_FERME','DTAN_ORIG'),
7688                  EXCLUS('FOND_FERME','DTAN_EXTR'),
7689                       EXCLUS('FOND_FERME','VECT_GRNO_ORIG'),
7690                       EXCLUS('FOND_FERME','VECT_GRNO_EXTR'),
7691                  UN_PARMI('LEVRE_SUP','NORMALE'),
7692                       EXCLUS('LEVRE_INF','NORMALE'),
7693                  ENSEMBLE('DTAN_ORIG','DTAN_EXTR'),
7694                       ENSEMBLE('VECT_GRNO_ORIG','VECT_GRNO_EXTR'),
7695                       EXCLUS('DTAN_ORIG','VECT_GRNO_ORIG'),
7696                       EXCLUS('DTAN_EXTR','VECT_GRNO_EXTR') ,),
7697            MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
7698            FOND_FISS       =FACT(statut='f',
7699              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
7700                      EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
7701                           EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
7702              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7703              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7704              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7705              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7706 #  à mettre à jour le max vaut-il 1  
7707              NOEUD_ORIG      =SIMP(statut='f',typ=no,),
7708              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
7709              NOEUD_EXTR      =SIMP(statut='f',typ=no,),
7710              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
7711            ),
7712            FOND_FERME      =FACT(statut='f',
7713              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
7714                           EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),),
7715              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7716              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7717              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7718              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7719              NOEUD_ORIG      =SIMP(statut='f',typ=no,),
7720              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
7721              MAILLE_ORIG     =SIMP(statut='f',typ=ma,),
7722              GROUP_MA_ORIG   =SIMP(statut='f',typ=ma,),
7723            ),
7724            LEVRE_SUP       =FACT(statut='f',
7725              regles=(UN_PARMI('GROUP_MA','MAILLE'),),
7726              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7727              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7728            ),
7729            LEVRE_INF       =FACT(statut='f',
7730              regles=(UN_PARMI('GROUP_MA','MAILLE', ),),
7731              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7732              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7733            ),
7734            NORMALE         =SIMP(statut='f',typ='R',max='**'),
7735            DTAN_ORIG       =SIMP(statut='f',typ='R',max='**'),
7736            DTAN_EXTR       =SIMP(statut='f',typ='R',max='**'),
7737            VECT_GRNO_ORIG  =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7738            VECT_GRNO_EXTR  =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7739            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
7740 )  ;
7741 #& MODIF COMMANDE  DATE 25/10/2004   AUTEUR CIBHHLV L.VIVAN 
7742 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7743 # ======================================================================
7744 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7745 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7746 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7747 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7748 # (AT YOUR OPTION) ANY LATER VERSION.
7749 #
7750 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7751 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7752 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7753 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7754 #
7755 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7756 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7757 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7758 # ======================================================================
7759 # RESPONSABLE VABHHTS J.PELLET
7760 def defi_group_prod(MAILLAGE,**args):
7761   if AsType(MAILLAGE) == maillage_sdaster : return maillage_sdaster
7762   if AsType(MAILLAGE) == squelette : return squelette
7763   raise AsException("type de concept resultat non prevu")
7764
7765 DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod,
7766                 fr="Définition de nouveaux groupes de noeuds et/ou de mailles dans un concept maillage",
7767                 reentrant='o',
7768             UIinfo={"groupes":("Maillage",)},
7769          regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO'),),
7770          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster,squelette) ),
7771
7772          CREA_GROUP_MA   =FACT(statut='f',max='**',
7773
7774 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),),
7775 #  quel est le concept attendu deriere NOM
7776            NOM             =SIMP(statut='o',typ=grma),
7777            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7778            GROUP_MA        =SIMP(statut='f',typ=grma),
7779            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7780            INTERSEC        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7781            UNION           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7782            DIFFE           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7783            OPTION          =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE","BANDE","APPUI_LACHE") ),
7784            b_group_ma      =BLOC(condition = "GROUP_MA != None",
7785              regles=(EXCLUS('POSITION','NUME_INIT'),),
7786              NUME_INIT       =SIMP(statut='f',typ='I'),
7787              POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
7788              b_nume_init   =BLOC(condition = "NUME_INIT != None",
7789                NUME_FIN        =SIMP(statut='f',typ='I' ),
7790              ),
7791            ),
7792            b_face_normale  =BLOC(condition = "OPTION == 'FACE_NORMALE'",
7793              regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
7794              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
7795              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
7796              ANGL_PREC       =SIMP(statut='f',typ='R',defaut= 0.5 ),
7797              VERI_SIGNE      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7798            ),
7799            b_sphere        =BLOC(condition = "OPTION == 'SPHERE'",
7800              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
7801              POINT           =SIMP(statut='f',typ='R',max=3),
7802              NOEUD_CENTRE    =SIMP(statut='f',typ=no),
7803              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
7804              RAYON           =SIMP(statut='o',typ='R' ),
7805            ),
7806            b_cylindre      =BLOC(condition = "OPTION == 'CYLINDRE'",
7807              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
7808                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
7809              POINT           =SIMP(statut='f',typ='R',max=3),
7810              NOEUD_CENTRE    =SIMP(statut='f',typ=no),
7811              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
7812              RAYON           =SIMP(statut='o',typ='R' ),
7813              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
7814              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
7815            ),
7816            b_bande         =BLOC(condition = "OPTION == 'BANDE'",
7817              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
7818                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
7819              POINT           =SIMP(statut='f',typ='R' ,max=3),
7820              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
7821              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
7822              DIST            =SIMP(statut='o',typ='R' ),
7823              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
7824              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
7825            ),
7826            b_app_lache         =BLOC(condition = "OPTION == 'APPUI_LACHE'",
7827              regles=(UN_PARMI('NOEUD','GROUP_NO'),),
7828              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7829              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7830            ),
7831          ),
7832          CREA_GROUP_NO   =FACT(statut='f',max='**',
7833            OPTION          =SIMP(statut='f',typ='TXM',into=("ENV_SPHERE","ENV_CYLINDRE","PLAN",
7834                                                "SEGM_DROI_ORDO","NOEUD_ORDO","TUNNEL") ),
7835
7836            b_option =BLOC(condition = "OPTION == None" ,
7837                           regles=(UN_PARMI('TOUT_GROUP_MA','GROUP_MA','GROUP_NO','NOEUD',
7838                                                            'INTERSEC','UNION','DIFFE'),),
7839               TOUT_GROUP_MA   =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7840               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7841               GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7842               NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7843               INTERSEC        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7844               UNION           =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7845               DIFFE           =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7846
7847               b_nom_group_ma  =BLOC(condition = "GROUP_MA != None",
7848                 NOM           = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7849                 CRIT_NOEUD    = SIMP(statut='f',typ='TXM',defaut="TOUS",
7850                                   into=("TOUS","SOMMET","MILIEU","CENTRE"),),
7851               ),
7852               b_group_no      =BLOC(condition = "GROUP_NO != None",
7853                                     regles=(EXCLUS('POSITION','NUME_INIT'),),
7854                 NUME_INIT       =SIMP(statut='f',typ='I'),
7855                 POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
7856                 b_nume_init     =BLOC(condition = "NUME_INIT != None",
7857                   NUME_FIN        =SIMP(statut='f',typ='I' ),
7858                 ),
7859               ),
7860               b_nom =BLOC(condition = "GROUP_MA == None and TOUT_GROUP_MA == None" ,
7861                 NOM             =SIMP(statut='o',typ=geom),
7862               ),
7863            ),
7864
7865            b_env_sphere    =BLOC(condition = "OPTION == 'ENV_SPHERE'",
7866              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
7867              NOM             =SIMP(statut='o',typ=geom),
7868              POINT           =SIMP(statut='f',typ='R' ,max=3),
7869              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
7870              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
7871              RAYON           =SIMP(statut='o',typ='R' ),
7872              PRECISION       =SIMP(statut='o',typ='R' ),
7873            ),
7874            b_env_cylindre  =BLOC(condition = "OPTION == 'ENV_CYLINDRE'",
7875              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
7876                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
7877              NOM             =SIMP(statut='o',typ=geom),
7878              POINT           =SIMP(statut='f',typ='R' ,max=3),
7879              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
7880              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
7881              RAYON           =SIMP(statut='o',typ='R' ),
7882              ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
7883              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
7884              PRECISION       =SIMP(statut='o',typ='R' ),
7885            ),
7886            b_env_plan      =BLOC(condition = "OPTION == 'PLAN'",
7887              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
7888                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
7889              NOM             =SIMP(statut='o',typ=geom),
7890              POINT           =SIMP(statut='f',typ='R' ,max=3),
7891              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
7892              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
7893              ANGL_NAUT       =SIMP(statut='f',typ='R' ,max=3),
7894              VECT_NORMALE    =SIMP(statut='f',typ='R' ,max=3),
7895              PRECISION       =SIMP(statut='o',typ='R' ),
7896            ),
7897            b_segm_droi_ordo=BLOC(condition = "OPTION == 'SEGM_DROI_ORDO'",
7898              regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),
7899                      UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'),
7900                      UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),),
7901              NOM             =SIMP(statut='o',typ=geom),
7902              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7903              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7904              NOEUD_ORIG      =SIMP(statut='f',typ=no),
7905              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
7906              NOEUD_EXTR      =SIMP(statut='f',typ=no),
7907              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
7908              PRECISION       =SIMP(statut='o',typ='R' ),
7909              CRITERE         =SIMP(statut='o',typ='TXM',into=("ABSOLU","RELATIF") ),
7910            ),
7911            b_noeud_ordo    =BLOC(condition = "OPTION == 'NOEUD_ORDO'",
7912              regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
7913                      EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
7914              NOM             =SIMP(statut='o',typ=geom),
7915              GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
7916              NOEUD_ORIG      =SIMP(statut='f',typ=no),
7917              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
7918              NOEUD_EXTR      =SIMP(statut='f',typ=no),
7919              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
7920            ),
7921            b_tunnel    =BLOC(condition = "OPTION == 'TUNNEL'",
7922              regles=(AU_MOINS_UN ('TOUT','GROUP_MA','MAILLE'),
7923                      EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
7924                      AU_MOINS_UN ('GROUP_MA_AXE','MAILLE_AXE'),),
7925              NOM             =SIMP(statut='o',typ=geom),
7926              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7927              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7928              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7929              GROUP_MA_AXE    =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7930              MAILLE_AXE      =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7931              NOEUD_ORIG      =SIMP(statut='f',typ=no),
7932              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
7933              RAYON           =SIMP(statut='o',typ='R'),
7934              LONGUEUR        =SIMP(statut='f',typ='R'),
7935            ),
7936          ),
7937          ALARME          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7938          INFO            =SIMP(statut='f',typ='I',into=( 1 , 2 ) ),
7939 )  ;
7940 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7941 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7942 # ======================================================================
7943 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7944 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7945 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7946 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7947 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7948 #
7949 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7950 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7951 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7952 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7953 #
7954 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7955 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7956 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7957 # ======================================================================
7958 DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp,
7959                     reentrant='n',
7960             UIinfo={"groupes":("Fonction",)},
7961
7962          DIMENSION       =SIMP(statut='f',typ='I',defaut= 1 ),
7963
7964          PAR_FONCTION    =FACT(statut='f',max='**',
7965            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
7966            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
7967            FONCTION        =SIMP(statut='o',typ=fonction_c ),
7968          ),
7969          KANAI_TAJIMI    =FACT(statut='f',max='**',
7970            regles=(EXCLUS('VALE_R','VALE_C'),),
7971            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
7972            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
7973            FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
7974            FREQ_MAX        =SIMP(statut='f',typ='R',defaut= 100. ),
7975            PAS             =SIMP(statut='f',typ='R',defaut= 1. ),
7976            AMOR_REDUIT     =SIMP(statut='f',typ='R',defaut= 0.6 ),
7977            FREQ_MOY        =SIMP(statut='f',typ='R',defaut= 5. ),
7978            VALE_R          =SIMP(statut='f',typ='R' ),
7979            VALE_C          =SIMP(statut='f',typ='C' ),
7980            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
7981            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7982            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7983          ),
7984          CONSTANT        =FACT(statut='f',max='**',
7985            regles=(EXCLUS('VALE_R','VALE_C'),),
7986            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
7987            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
7988            FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
7989            FREQ_MAX        =SIMP(statut='f',typ='R',defaut= 100. ),
7990            PAS             =SIMP(statut='f',typ='R',defaut= 1. ),
7991            VALE_R          =SIMP(statut='f',typ='R' ),
7992            VALE_C          =SIMP(statut='f',typ='C' ),
7993            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
7994            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7995            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7996          ),
7997          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7998          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),               
7999 )  ;
8000 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8001 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8002 # ======================================================================
8003 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8004 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8005 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8006 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8007 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8008 #
8009 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8010 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8011 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8012 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8013 #
8014 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8015 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8016 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8017 # ======================================================================
8018 DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op=  98,sd_prod=interf_dyna_clas,
8019                       reentrant='n',
8020             UIinfo={"groupes":("Matrices/vecteurs",)},
8021          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
8022          INTERFACE       =FACT(statut='o',max='**',
8023            regles=(ENSEMBLE('NOM','TYPE'),
8024 #  erreur doc U sur la condition qui suit
8025                    UN_PARMI('NOEUD','GROUP_NO'),),
8026            NOM             =SIMP(statut='f',typ='TXM' ),
8027            TYPE            =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ),
8028            NOEUD           =SIMP(statut='f',typ=no,max='**'),
8029            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
8030            DDL_ACTIF       =SIMP(statut='f',typ='TXM',max='**'),
8031            MASQUE          =SIMP(statut='f',typ='TXM',max='**'),
8032          ),
8033          FREQ            =SIMP(statut='f',typ='R',defaut= 1.),
8034          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
8035 )  ;
8036 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8037 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8038 # ======================================================================
8039 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8040 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8041 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8042 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8043 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8044 #
8045 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8046 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8047 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8048 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8049 #
8050 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8051 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8052 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8053 # ======================================================================
8054 # RESPONSABLE VABHHTS J.PELLET
8055 DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster,
8056                     fr="Définition d une suite croissante d entiers",
8057                     reentrant='n',
8058             UIinfo={"groupes":("Fonction",)},
8059          regles=(UN_PARMI('VALE','DEBUT'),
8060                  EXCLUS('VALE','INTERVALLE'),),
8061          VALE            =SIMP(statut='f',typ='I',max='**'),
8062          DEBUT           =SIMP(statut='f',typ='I'),
8063          INTERVALLE      =FACT(statut='f',max='**',
8064            regles=(UN_PARMI('NOMBRE','PAS'),),
8065            JUSQU_A         =SIMP(statut='o',typ='I'),
8066            NOMBRE          =SIMP(statut='f',typ='I',val_min=1,),
8067            PAS             =SIMP(statut='f',typ='I',val_min=1,),
8068          ),
8069          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8070          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8071 )  ;
8072 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8073 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8074 # ======================================================================
8075 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8076 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8077 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8078 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8079 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8080 #
8081 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8082 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8083 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8084 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8085 #
8086 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8087 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8088 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8089 # ======================================================================
8090 # RESPONSABLE VABHHTS J.PELLET
8091 DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster,
8092                     fr="Définition d une suite croissante de réels",
8093                     reentrant='n',
8094             UIinfo={"groupes":("Fonction",)},
8095          regles=(UN_PARMI('VALE','DEBUT',),
8096                  EXCLUS('VALE','INTERVALLE'),
8097                  ENSEMBLE('DEBUT','INTERVALLE')),
8098          VALE            =SIMP(statut='f',typ='R',max='**'),
8099          DEBUT           =SIMP(statut='f',typ='R'),
8100          INTERVALLE      =FACT(statut='f',max='**',
8101            regles=(UN_PARMI('NOMBRE','PAS'),),
8102            JUSQU_A         =SIMP(statut='o',typ='R'),
8103            NOMBRE          =SIMP(statut='f',typ='I'),
8104            PAS             =SIMP(statut='f',typ='R'),
8105          ),
8106          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8107          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8108 )  ;
8109 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8110 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8111 # ======================================================================
8112 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8113 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8114 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8115 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8116 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8117 #
8118 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8119 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8120 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8121 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8122 #
8123 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8124 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8125 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8126 # ======================================================================
8127 # RESPONSABLE VABHHTS J.PELLET
8128 DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage_sdaster,
8129                    fr="Définition d un nouveau maillage à partir de macro éléments",
8130                    reentrant='n',
8131             UIinfo={"groupes":("Maillage",)},
8132          DEFI_MAILLE     =FACT(statut='o',max='**',
8133            MACR_ELEM_STAT  =SIMP(statut='o',typ=macr_elem_stat,max='**' ),
8134            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
8135            TRAN            =SIMP(statut='f',typ='R',max=3),
8136            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
8137            b_angl_naut     =BLOC(condition = "ANGL_NAUT != None",
8138              CENTRE          =SIMP(statut='f',typ='R',max=3),
8139            ),
8140          ),
8141          RECO_GLOBAL     =FACT(statut='f',max='**',
8142            regles=(UN_PARMI('TOUT','MAILLE'),),
8143            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8144            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
8145            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
8146            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
8147          ),
8148          RECO_MAILLE     =FACT(statut='f',max='**',
8149            MAILLE          =SIMP(statut='o',typ=ma,max='**'),
8150            GROUP_NO        =SIMP(statut='o',typ=grno,max='**'),
8151            OPTION          =SIMP(statut='f',typ='TXM',defaut="GEOMETRIQUE",into=("GEOMETRIQUE","NOEUD_A_NOEUD","INVERSE") ),
8152            geometrique     =BLOC(condition = "OPTION == 'GEOMETRIQUE'",
8153              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
8154              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
8155            ),
8156          ),
8157          DEFI_NOEUD      =FACT(statut='f',max='**',
8158            regles=(UN_PARMI('TOUT','NOEUD_INIT'),),
8159            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),
8160                                  fr="Renommage de tous les noeuds" ),
8161            NOEUD_INIT      =SIMP(statut='f',typ=no,
8162                                  fr="Renommage d un seul noeud"),                     
8163            b_tout          =BLOC(condition = "TOUT != None",
8164              PREFIXE         =SIMP(statut='f',typ='TXM' ),
8165              INDEX           =SIMP(statut='o',typ='I',max='**'),
8166            ),
8167            b_noeud_init    =BLOC(condition = "NOEUD_INIT != None",
8168              MAILLE          =SIMP(statut='o',typ=ma),
8169              NOEUD_FIN       =SIMP(statut='o',typ=no),
8170            ),        
8171          ),
8172          DEFI_GROUP_NO   =FACT(statut='f',max='**',
8173            regles=(UN_PARMI('TOUT','MAILLE'),
8174                 AU_MOINS_UN('INDEX','GROUP_NO_FIN'),
8175                    ENSEMBLE('GROUP_NO_INIT','GROUP_NO_FIN'),),
8176 #  la regle ancien catalogue AU_MOINS_UN__: ( INDEX , GROUP_NO_FIN ) incoherente avec doc U           
8177            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),
8178                                  fr="Création de plusieurs groupes de noeuds" ),
8179            MAILLE          =SIMP(statut='f',typ=ma,
8180                                  fr="Création de plusieurs groupes de noeuds"),
8181            GROUP_NO_INIT   =SIMP(statut='f',typ=grno,
8182                                  fr="Création d un seul groupe de noeuds"),
8183            PREFIXE         =SIMP(statut='f',typ='TXM' ),
8184            INDEX           =SIMP(statut='f',typ='I',max='**'),
8185            GROUP_NO_FIN    =SIMP(statut='f',typ=grno),
8186          ),
8187 )  ;
8188 #& MODIF COMMANDE  DATE 22/11/2004   AUTEUR NDOMING N.DOMINGUEZ 
8189 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8190 # ======================================================================
8191 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8192 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8193 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8194 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8195 # (AT YOUR OPTION) ANY LATER VERSION.
8196 #
8197 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8198 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8199 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8200 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8201 #
8202 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8203 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8204 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8205 # ======================================================================
8206 DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
8207                    fr="Définition des paramètres décrivant le comportement d un matériau",
8208                    reentrant='n',
8209             UIinfo={"groupes":("Modélisation",)},
8210        regles=(EXCLUS('ELAS','ELAS_FO','ELAS_FLUI','ELAS_ISTR','ELAS_ISTR_FO','ELAS_ORTH',
8211                       'ELAS_ORTH_FO','ELAS_COQUE','ELAS_COQUE_FO',
8212                       'SURF_ETAT_SATU','CAM_CLAY_THM','SURF_ETAT_NSAT'),
8213                EXCLUS('THER','THER_FO','THER_ORTH','THER_NL'),
8214                EXCLUS('ECRO_LINE','ECRO_LINE_FO'),
8215                EXCLUS('TAHERI','TAHERI_FO'),
8216                EXCLUS('ROUSSELIER','ROUSSELIER_FO'),
8217                PRESENT_PRESENT('ROUSSELIER','TRACTION'),
8218                PRESENT_PRESENT('ROUSSELIER_FO','TRACTION'),
8219                EXCLUS('CIN1_CHAB','CIN1_CHAB_FO'),
8220                EXCLUS('CIN2_CHAB','CIN2_CHAB_FO'),
8221                EXCLUS('VISCOCHAB','VISCOCHAB_FO'),
8222                EXCLUS('POLY_CFC','POLY_CFC_FO'),
8223                EXCLUS('LEMAITRE','LEMAITRE_FO','ZIRC_CYRA2','ZIRC_EPRI','VISC_IRRA_LOG',
8224                'LEMA_SEUIL','LEMA_SEUIL_FO'),
8225                EXCLUS('OHNO','OHNO_FO'),
8226                EXCLUS('LMARC','LMARC_FO'),
8227                EXCLUS('VMIS_POUTRE','VMIS_POUTRE_FO'),
8228                EXCLUS('VENDOCHAB','VENDOCHAB_FO'),
8229                PRESENT_PRESENT('BPEL_ACIER','ELAS'),
8230                EXCLUS('RCCM','RCCM_FO'),
8231                EXCLUS('WEIBULL','WEIBULL_FO'),
8232                PRESENT_PRESENT('BARCELONE','CAM_CLAY','ELAS'),
8233                PRESENT_PRESENT('CAM_CLAY','ELAS'),
8234                PRESENT_PRESENT('LAIGLE','ELAS'),
8235                PRESENT_PRESENT('DRUCK_PRAGER','ELAS'),
8236                EXCLUS('MAZARS','MAZARS_FO'),
8237                PRESENT_PRESENT('BAZANT_FD','ELAS_FO'),
8238                EXCLUS('GLRC','GLRC_FO'),
8239                PRESENT_PRESENT('JOINT_BA','ELAS'),
8240                ),
8241 #
8242 # comportement élastique
8243 #
8244            ELAS            =FACT(statut='f',
8245              E               =SIMP(statut='o',typ='R',val_min=0.E+0),
8246              NU              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=0.5E+0),
8247              RHO             =SIMP(statut='f',typ='R'),
8248              ALPHA           =SIMP(statut='f',typ='R'),
8249              AMOR_ALPHA      =SIMP(statut='f',typ='R'),
8250              AMOR_BETA       =SIMP(statut='f',typ='R'),
8251              AMOR_HYST       =SIMP(statut='f',typ='R'),
8252            ),
8253            ELAS_FO         =FACT(statut='f',
8254              regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'),),
8255              E               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8256              NU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8257              RHO             =SIMP(statut='f',typ='R'),
8258              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
8259              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.),
8260              ALPHA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8261              AMOR_ALPHA      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8262              AMOR_BETA       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8263              AMOR_HYST       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8264              K_DESSIC        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8265              B_ENDOGE        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8266              FONC_DESORP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8267              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH",) ),
8268            ),
8269            ELAS_FLUI       =FACT(statut='f',
8270              E               =SIMP(statut='o',typ='R'),
8271              NU              =SIMP(statut='o',typ='R'),
8272              RHO             =SIMP(statut='o',typ='R'),
8273              PROF_RHO_F_INT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8274              PROF_RHO_F_EXT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8275              COEF_MASS_AJOU  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8276              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("ABSC",) ),
8277            ),
8278            ELAS_ISTR       =FACT(statut='f',
8279              E_L             =SIMP(statut='o',typ='R'),
8280              E_N             =SIMP(statut='o',typ='R'),
8281              NU_LT           =SIMP(statut='o',typ='R'),
8282              NU_LN           =SIMP(statut='o',typ='R'),
8283              G_LN            =SIMP(statut='o',typ='R'),
8284              RHO             =SIMP(statut='f',typ='R'),
8285              ALPHA_L         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8286              ALPHA_N         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8287            ),
8288            ELAS_ISTR_FO    =FACT(statut='f',
8289              regles=(
8290                       PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'),
8291                       PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'),
8292                     ),
8293              E_L             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8294              E_N             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8295              NU_LT           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8296              NU_LN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8297              G_LN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8298              RHO             =SIMP(statut='f',typ='R'),
8299              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
8300              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.),
8301              ALPHA_L         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8302              ALPHA_N         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8303              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST")),
8304            ),
8305            ELAS_ORTH       =FACT(statut='f',
8306              E_L             =SIMP(statut='o',typ='R'),
8307              E_T             =SIMP(statut='o',typ='R'),
8308              E_N             =SIMP(statut='f',typ='R'),
8309              NU_LT           =SIMP(statut='o',typ='R'),
8310              NU_LN           =SIMP(statut='f',typ='R'),
8311              NU_TN           =SIMP(statut='f',typ='R'),
8312              G_LT            =SIMP(statut='o',typ='R'),
8313              G_LN            =SIMP(statut='f',typ='R'),
8314              G_TN            =SIMP(statut='f',typ='R'),
8315              RHO             =SIMP(statut='f',typ='R'),
8316              ALPHA_L         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8317              ALPHA_T         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8318              ALPHA_N         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8319              XT              =SIMP(statut='f',typ='R',defaut= 1. ),
8320              XC              =SIMP(statut='f',typ='R',defaut= 1. ),
8321              YT              =SIMP(statut='f',typ='R',defaut= 1. ),
8322              YC              =SIMP(statut='f',typ='R',defaut= 1. ),
8323              S_LT            =SIMP(statut='f',typ='R',defaut= 1. ),
8324            ),
8325            ELAS_ORTH_FO    =FACT(statut='f',
8326              regles=(
8327                       PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'),
8328                       PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'),
8329                       PRESENT_PRESENT('ALPHA_T','TEMP_DEF_ALPHA'),
8330                     ),
8331              E_L             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8332              E_T             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8333              E_N             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8334              NU_LT           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8335              NU_LN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8336              NU_TN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8337              G_LT            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8338              G_LN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8339              G_TN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8340              RHO             =SIMP(statut='f',typ='R'),
8341              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
8342              PRECISION       =SIMP(statut='f',typ='R',defaut= 1. ),
8343              ALPHA_L         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8344              ALPHA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8345              ALPHA_N         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8346              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST",) ),
8347            ),
8348            ELAS_THM        =FACT(statut='f',
8349              RHO_S           =SIMP(statut='o',typ='R'),
8350              UN_SUR_KS       =SIMP(statut='o',typ='R'),
8351              E               =SIMP(statut='f',typ='R'),
8352              KB              =SIMP(statut='f',typ='R'),
8353              D_KB_T          =SIMP(statut='f',typ='R'),
8354              ALPHA_S         =SIMP(statut='f',typ='R'),
8355              ALPHA_D         =SIMP(statut='f',typ='R'),
8356            ),
8357            SURF_ETAT_SATU  =FACT(statut='f',
8358              E_CHAR          =SIMP(statut='o',typ='R'),
8359              E_DECHAR        =SIMP(statut='o',typ='R'),
8360              XN              =SIMP(statut='f',typ='R'),
8361              RF              =SIMP(statut='f',typ='R'),
8362              EV_KB           =SIMP(statut='f',typ='R'),
8363              EV_XM           =SIMP(statut='f',typ='R'),
8364              D_E_T           =SIMP(statut='f',typ='R'),
8365              ALPHA0          =SIMP(statut='f',typ='R'),
8366              ALPHA1          =SIMP(statut='f',typ='R'),
8367              ALPHA2          =SIMP(statut='f',typ='R'),
8368              ALPHA3          =SIMP(statut='f',typ='R'),
8369              ALPHA_S         =SIMP(statut='f',typ='R'),
8370              ANG_FRT         =SIMP(statut='o',typ='R'),
8371              COHE            =SIMP(statut='o',typ='R'),
8372              RESI_TRAC       =SIMP(statut='o',typ='R'),
8373            ),
8374            CAM_CLAY_THM    =FACT(statut='f',
8375              NU              =SIMP(statut='f',typ='R'),
8376              LAMBDA          =SIMP(statut='o',typ='R'),
8377              KAPA            =SIMP(statut='o',typ='R'),
8378              M               =SIMP(statut='f',typ='R'),
8379              PRES_CRIT       =SIMP(statut='f',typ='R'),
8380              GAMA            =SIMP(statut='o',typ='R'),
8381              A0_PC           =SIMP(statut='o',typ='R'),
8382              A1_PC           =SIMP(statut='f',typ='R'),
8383              A2_PC           =SIMP(statut='f',typ='R'),
8384              ALPHA0_PC       =SIMP(statut='f',typ='R'),
8385              ALPHA1_PC       =SIMP(statut='f',typ='R'),
8386              ALPHA2_PC       =SIMP(statut='f',typ='R'),
8387              ALPHA3_PC       =SIMP(statut='f',typ='R'),
8388              ALPHA_S         =SIMP(statut='f',typ='R'),
8389                          ),
8390            SURF_ETAT_NSAT  =FACT(statut='f',
8391              E_CHAR          =SIMP(statut='o',typ='R'),
8392              E_DECHAR        =SIMP(statut='o',typ='R'),
8393              XN              =SIMP(statut='f',typ='R'),
8394              RF              =SIMP(statut='f',typ='R'),
8395              EV_KB           =SIMP(statut='f',typ='R'),
8396              EV_XM           =SIMP(statut='f',typ='R'),
8397              EV_A            =SIMP(statut='f',typ='R'),
8398              EV_B            =SIMP(statut='f',typ='R'),
8399              EV_CT           =SIMP(statut='f',typ='R'),
8400              EV_SIGB         =SIMP(statut='f',typ='R'),
8401              D_E_T           =SIMP(statut='f',typ='R'),
8402              D_E_SUCC        =SIMP(statut='f',typ='R'),
8403              ANG_FRT         =SIMP(statut='o',typ='R'),
8404              COHE            =SIMP(statut='o',typ='R'),
8405              D_COEH_SUCC     =SIMP(statut='f',typ='R'),
8406              ANG_FRT_ULT     =SIMP(statut='f',typ='R'),
8407              SUCC_ULTM       =SIMP(statut='f',typ='R'),
8408              RESI_TRAC       =SIMP(statut='f',typ='R'),
8409              A_SURF_SATU     =SIMP(statut='f',typ='R'),
8410              B_SURF_SATU     =SIMP(statut='f',typ='R'),
8411              C_SURF_SATU     =SIMP(statut='f',typ='R'),
8412              D_SURF_SATU     =SIMP(statut='f',typ='R'),
8413            ),
8414            ELAS_COQUE      =FACT(statut='f',
8415              regles=(EXCLUS('MEMB_L','M_LLLL',),
8416                      PRESENT_PRESENT('MEMB_L','MEMB_LT', 'MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
8417                                      'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
8418                      PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
8419                                      'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL',
8420                                      'MF_LLTT','MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ',
8421                                      'MC_LLTZ','MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ',
8422                                      'FC_LLTZ','FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ',
8423                                      'C_LZTZ','C_TZTZ'),),
8424              MEMB_L          =SIMP(statut='f',typ='R'),
8425              MEMB_LT         =SIMP(statut='f',typ='R'),
8426              MEMB_T          =SIMP(statut='f',typ='R'),
8427              MEMB_G_LT       =SIMP(statut='f',typ='R'),
8428              FLEX_L          =SIMP(statut='f',typ='R'),
8429              FLEX_LT         =SIMP(statut='f',typ='R'),
8430              FLEX_T          =SIMP(statut='f',typ='R'),
8431              FLEX_G_LT       =SIMP(statut='f',typ='R'),
8432              CISA_L          =SIMP(statut='f',typ='R'),
8433              CISA_T          =SIMP(statut='f',typ='R'),
8434              M_LLLL          =SIMP(statut='f',typ='R'),
8435              M_LLTT          =SIMP(statut='f',typ='R'),
8436              M_LLLT          =SIMP(statut='f',typ='R'),
8437              M_TTTT          =SIMP(statut='f',typ='R'),
8438              M_TTLT          =SIMP(statut='f',typ='R'),
8439              M_LTLT          =SIMP(statut='f',typ='R'),
8440              F_LLLL          =SIMP(statut='f',typ='R'),
8441              F_LLTT          =SIMP(statut='f',typ='R'),
8442              F_LLLT          =SIMP(statut='f',typ='R'),
8443              F_TTTT          =SIMP(statut='f',typ='R'),
8444              F_TTLT          =SIMP(statut='f',typ='R'),
8445              F_LTLT          =SIMP(statut='f',typ='R'),
8446              MF_LLLL         =SIMP(statut='f',typ='R'),
8447              MF_LLTT         =SIMP(statut='f',typ='R'),
8448              MF_LLLT         =SIMP(statut='f',typ='R'),
8449              MF_TTTT         =SIMP(statut='f',typ='R'),
8450              MF_TTLT         =SIMP(statut='f',typ='R'),
8451              MF_LTLT         =SIMP(statut='f',typ='R'),
8452              MC_LLLZ         =SIMP(statut='f',typ='R'),
8453              MC_LLTZ         =SIMP(statut='f',typ='R'),
8454              MC_TTLZ         =SIMP(statut='f',typ='R'),
8455              MC_TTTZ         =SIMP(statut='f',typ='R'),
8456              MC_LTLZ         =SIMP(statut='f',typ='R'),
8457              MC_LTTZ         =SIMP(statut='f',typ='R'),
8458              FC_LLLZ         =SIMP(statut='f',typ='R'),
8459              FC_LLTZ         =SIMP(statut='f',typ='R'),
8460              FC_TTLZ         =SIMP(statut='f',typ='R'),
8461              FC_TTTZ         =SIMP(statut='f',typ='R'),
8462              FC_LTLZ         =SIMP(statut='f',typ='R'),
8463              FC_LTTZ         =SIMP(statut='f',typ='R'),
8464              C_LZLZ          =SIMP(statut='f',typ='R'),
8465              C_LZTZ          =SIMP(statut='f',typ='R'),
8466              C_TZTZ          =SIMP(statut='f',typ='R'),
8467              RHO             =SIMP(statut='f',typ='R'),
8468              ALPHA           =SIMP(statut='f',typ='R'),
8469            ),
8470            ELAS_COQUE_FO   =FACT(statut='f',
8471              regles=(EXCLUS('MEMB_L','M_LLLL',),
8472                      PRESENT_PRESENT('MEMB_L','MEMB_LT','MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
8473                                      'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
8474                      PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
8475                                      'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL','MF_LLTT',
8476                                      'MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ','MC_LLTZ',
8477                                      'MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ','FC_LLTZ',
8478                                      'FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ','C_LZTZ','C_TZTZ'),),
8479              MEMB_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8480              MEMB_LT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8481              MEMB_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8482              MEMB_G_LT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8483              FLEX_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8484              FLEX_LT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8485              FLEX_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8486              FLEX_G_LT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8487              CISA_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8488              CISA_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8489              M_LLLL          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8490              M_LLTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8491              M_LLLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8492              M_TTTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8493              M_TTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8494              M_LTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8495              F_LLLL          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8496              F_LLTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8497              F_LLLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8498              F_TTTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8499              F_TTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8500              F_LTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8501              MF_LLLL         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8502              MF_LLTT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8503              MF_LLLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8504              MF_TTTT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8505              MF_TTLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8506              MF_LTLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8507              MC_LLLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8508              MC_LLTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8509              MC_TTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8510              MC_TTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8511              MC_LTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8512              MC_LTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8513              FC_LLLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8514              FC_LLTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8515              FC_TTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8516              FC_TTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8517              FC_LTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8518              FC_LTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8519              C_LZLZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8520              C_LZTZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8521              C_TZTZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8522              RHO             =SIMP(statut='f',typ='R'),
8523              ALPHA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8524              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST") ),
8525            ),
8526            APPUI_ELAS      =FACT(statut='f',
8527              E_N             =SIMP(statut='o',typ='R'),
8528              E_TAN           =SIMP(statut='f',typ='R',defaut= 0.E+0),
8529            ),
8530            CABLE           =FACT(statut='f',
8531              E               =SIMP(statut='o',typ='R'),
8532              EC_SUR_E        =SIMP(statut='f',typ='R',defaut= 1.E-4 ),
8533              RHO             =SIMP(statut='f',typ='R'),
8534              ALPHA           =SIMP(statut='f',typ='R'),
8535              AMOR_ALPHA      =SIMP(statut='f',typ='R'),
8536              AMOR_BETA       =SIMP(statut='f',typ='R'),
8537            ),
8538 #
8539 # comportement mécanique non linéaire
8540 #
8541            TRACTION        =FACT(statut='f',
8542              SIGM            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8543              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("EPSI","TEMP","HYDR","SECH",) ),
8544            ),
8545            ECRO_LINE       =FACT(statut='f',
8546              D_SIGM_EPSI     =SIMP(statut='o',typ='R',),
8547              SY              =SIMP(statut='o',typ='R',),
8548            ),
8549            ECRO_LINE_FO    =FACT(statut='f',
8550              D_SIGM_EPSI     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8551              SY              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8552              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8553            ),
8554            BETON_ECRO_LINE =FACT(statut='f',
8555              D_SIGM_EPSI     =SIMP(statut='o',typ='R'),
8556              SYT             =SIMP(statut='o',typ='R'),
8557              SYC             =SIMP(statut='f',typ='R'),
8558            ),
8559            ENDO_ORTH_BETON  =FACT(statut='f',
8560              ALPHA            =SIMP(statut='f',typ='R',defaut=0.9),
8561              K0               =SIMP(statut='o',typ='R'),
8562              K1               =SIMP(statut='o',typ='R'),
8563              K2               =SIMP(statut='f',typ='R',defaut=7.E-4),
8564              ECROB            =SIMP(statut='o',typ='R'),
8565              ECROD            =SIMP(statut='o',typ='R'),
8566            ),
8567            PRAGER          =FACT(statut='f',
8568              C               =SIMP(statut='o',typ='R'),
8569            ),
8570            PRAGER_FO       =FACT(statut='f',
8571              C               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8572              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8573            ),
8574            ECRO_FLEJOU     =FACT(statut='f',
8575              EP              =SIMP(statut='o',typ='R'),
8576              SY              =SIMP(statut='o',typ='R'),
8577              SU              =SIMP(statut='o',typ='R'),
8578              PUISS           =SIMP(statut='o',typ='R'),
8579            ),
8580            TAHERI          =FACT(statut='f',
8581              R_0             =SIMP(statut='o',typ='R'),
8582              ALPHA           =SIMP(statut='o',typ='R'),
8583              M               =SIMP(statut='o',typ='R'),
8584              A               =SIMP(statut='o',typ='R'),
8585              B               =SIMP(statut='o',typ='R'),
8586              C1              =SIMP(statut='o',typ='R'),
8587              C_INF           =SIMP(statut='o',typ='R'),
8588              S               =SIMP(statut='o',typ='R'),
8589            ),
8590            TAHERI_FO       =FACT(statut='f',
8591              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8592              ALPHA           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8593              M               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8594              A               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8595              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8596              C1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8597              C_INF           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8598              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8599              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8600            ),
8601            ROUSSELIER      =FACT(statut='f',
8602              D               =SIMP(statut='o',typ='R'),
8603              SIGM_1          =SIMP(statut='o',typ='R'),
8604              PORO_INIT       =SIMP(statut='o',typ='R'),
8605              PORO_CRIT       =SIMP(statut='f',typ='R',defaut= 1. ),
8606              PORO_ACCE       =SIMP(statut='f',typ='R',defaut= 1. ),
8607              PORO_LIMI       =SIMP(statut='f',typ='R',defaut= 0.999 ),
8608              D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
8609              AN              =SIMP(statut='f',typ='R',defaut= 0. ),
8610            ),
8611            ROUSSELIER_FO   =FACT(statut='f',
8612              D               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8613              SIGM_1          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8614              PORO_INIT       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8615              PORO_CRIT       =SIMP(statut='f',typ='R',defaut= 1. ),
8616              PORO_ACCE       =SIMP(statut='f',typ='R',defaut= 1. ),
8617              PORO_LIMI       =SIMP(statut='f',typ='R',defaut= 0.999 ),
8618              D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
8619              AN              =SIMP(statut='f',typ='R',defaut= 0. ),
8620              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8621            ),
8622            VISC_SINH      =FACT(statut='f',
8623              SIGM_0          =SIMP(statut='o',typ='R'),
8624              EPSI_0          =SIMP(statut='o',typ='R'),
8625              M               =SIMP(statut='o',typ='R'),
8626            ),
8627            CHABOCHE        =FACT(statut='f',
8628              R_I             =SIMP(statut='o',typ='R'),
8629              R_0             =SIMP(statut='o',typ='R'),
8630              B               =SIMP(statut='o',typ='R'),
8631              K               =SIMP(statut='o',typ='R'),
8632              W               =SIMP(statut='o',typ='R'),
8633              A1              =SIMP(statut='o',typ='R'),
8634              A2              =SIMP(statut='o',typ='R'),
8635              C1              =SIMP(statut='o',typ='R'),
8636              C2              =SIMP(statut='o',typ='R'),
8637            ),
8638            CIN1_CHAB  =FACT(statut='f',
8639              R_0             =SIMP(statut='o',typ='R'),
8640              R_I             =SIMP(statut='f',typ='R'),
8641              B               =SIMP(statut='f',typ='R',defaut= 0.0E+0),
8642              C_I             =SIMP(statut='o',typ='R'),
8643              K               =SIMP(statut='f',typ='R',defaut= 1.0E+0),
8644              W               =SIMP(statut='f',typ='R',defaut= 0.0E+0),
8645              G_0             =SIMP(statut='o',typ='R'),
8646              A_I             =SIMP(statut='f',typ='R',defaut= 1.0E+0),
8647            ),
8648            CIN1_CHAB_FO  =FACT(statut='f',
8649              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8650              R_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8651              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8652              C_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8653              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8654              W               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8655              G_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8656              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8657              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",)),
8658            ),
8659            CIN2_CHAB  =FACT(statut='f',
8660              R_0             =SIMP(statut='o',typ='R'),
8661              R_I             =SIMP(statut='f',typ='R'),
8662              B               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8663              C1_I            =SIMP(statut='o',typ='R'),
8664              C2_I            =SIMP(statut='o',typ='R'),
8665              K               =SIMP(statut='f',typ='R',defaut= 1.),
8666              W               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8667              G1_0            =SIMP(statut='o',typ='R'),
8668              G2_0            =SIMP(statut='o',typ='R'),
8669              A_I             =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
8670            ),
8671            CIN2_CHAB_FO  =FACT(statut='f',
8672              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8673              R_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8674              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8675              C1_I            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8676              C2_I            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8677              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8678              W               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8679              G1_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8680              G2_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8681              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8682              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8683            ),
8684            VISCOCHAB       =FACT(statut='f',
8685              K_0             =SIMP(statut='o',typ='R'),
8686              A_K             =SIMP(statut='o',typ='R'),
8687              A_R             =SIMP(statut='o',typ='R'),
8688              K               =SIMP(statut='o',typ='R'),
8689              N               =SIMP(statut='o',typ='R'),
8690              ALP             =SIMP(statut='o',typ='R'),
8691              B               =SIMP(statut='o',typ='R'),
8692              M_R             =SIMP(statut='o',typ='R'),
8693              G_R             =SIMP(statut='o',typ='R'),
8694              MU              =SIMP(statut='o',typ='R'),
8695              Q_M             =SIMP(statut='o',typ='R'),
8696              Q_0             =SIMP(statut='o',typ='R'),
8697              QR_0            =SIMP(statut='o',typ='R'),
8698              ETA             =SIMP(statut='o',typ='R'),
8699              C1              =SIMP(statut='o',typ='R'),
8700              M_1             =SIMP(statut='o',typ='R'),
8701              D1              =SIMP(statut='o',typ='R'),
8702              G_X1            =SIMP(statut='o',typ='R'),
8703              G1_0            =SIMP(statut='o',typ='R'),
8704              C2              =SIMP(statut='o',typ='R'),
8705              M_2             =SIMP(statut='o',typ='R'),
8706              D2              =SIMP(statut='o',typ='R'),
8707              G_X2            =SIMP(statut='o',typ='R'),
8708              G2_0            =SIMP(statut='o',typ='R'),
8709              A_I             =SIMP(statut='o',typ='R'),
8710            ),
8711            VISCOCHAB_FO    =FACT(statut='f',
8712              K_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8713              A_K             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8714              A_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8715              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8716              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8717              ALP             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8718              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8719              M_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8720              G_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8721              MU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8722              Q_M             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8723              Q_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8724              QR_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8725              ETA             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8726              C1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8727              M_1             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8728              D1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8729              G_X1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8730              G1_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8731              C2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8732              M_2             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8733              D2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8734              G_X2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8735              G2_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8736              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8737              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8738            ),
8739            POLY_CFC        =FACT(statut='f',
8740              TEXTURE         =SIMP(statut='o',typ=(tabl_texture) ),
8741              DL              =SIMP(statut='f',typ='R'),
8742              DA              =SIMP(statut='f',typ='R'),
8743              N               =SIMP(statut='o',typ='R'),
8744              K               =SIMP(statut='o',typ='R'),
8745              TAU_0           =SIMP(statut='o',typ='R'),
8746              Q1              =SIMP(statut='o',typ='R'),
8747              B1              =SIMP(statut='o',typ='R'),
8748              HL              =SIMP(statut='o',typ='R'),
8749              Q2              =SIMP(statut='o',typ='R'),
8750              B2              =SIMP(statut='o',typ='R'),
8751              C1              =SIMP(statut='o',typ='R'),
8752              D1              =SIMP(statut='o',typ='R'),
8753              C2              =SIMP(statut='o',typ='R'),
8754            ),
8755            POLY_CFC_FO     =FACT(statut='f',
8756              TEXTURE         =SIMP(statut='o',typ=(tabl_texture) ),
8757              DL              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8758              DA              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8759              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8760              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8761              TAU_0           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8762              Q1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8763              B1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8764              HL              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8765              Q2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8766              B2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8767              C1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8768              D1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8769              C2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8770              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8771            ),
8772            LEMAITRE        =FACT(statut='f',
8773              N               =SIMP(statut='o',typ='R'),
8774              UN_SUR_K        =SIMP(statut='o',typ='R'),
8775              UN_SUR_M        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8776            ),
8777            ZIRC_CYRA2      =FACT(statut='f',
8778              EPSI_FAB        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8779              TEMP_RECUIT     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8780              FLUX_PHI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8781              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
8782            ),
8783           VISC_IRRA_LOG    =FACT(statut='f',
8784              A               =SIMP(statut='f',typ='R',defaut= 1.28E-1),
8785              B               =SIMP(statut='f',typ='R',defaut= 0.01159),
8786              CSTE_TPS        =SIMP(statut='f',typ='R',defaut= 0.3540),
8787              ENER_ACT        =SIMP(statut='f',typ='R',defaut= 5000.),
8788              FLUX_PHI        =SIMP(statut='o',typ='R',),
8789            ),
8790           LEMA_SEUIL   =FACT(statut='f',
8791              A               =SIMP(statut='o',typ='R',),
8792              S               =SIMP(statut='o',typ='R',),
8793            ),
8794           LEMA_SEUIL_FO=FACT(statut='f',
8795              A               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8796              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8797              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8798            ),  
8799            ZIRC_EPRI       =FACT(statut='f',
8800              FLUX_PHI        =SIMP(statut='o',typ='R'),
8801              R_P             =SIMP(statut='o',typ='R'),
8802              THETA_MAX       =SIMP(statut='o',typ='R'),
8803            ),
8804            LEMAITRE_FO     =FACT(statut='f',
8805              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8806              UN_SUR_K        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8807              UN_SUR_M        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8808              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8809            ),
8810            GRAN_IRRA       =FACT(statut='f',
8811              A               =SIMP(statut='f',typ='R',defaut= 0.E+0),
8812              B               =SIMP(statut='f',typ='R',defaut= 0.E+0),
8813              S               =SIMP(statut='f',typ='R',defaut= 0.E+0),
8814            ),
8815            FLU_IRRA       =FACT(statut='f',
8816              QSR_K           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8817              BETA            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8818              PHI_ZERO        =SIMP(statut='f',typ='R',defaut= 1.E+20),
8819              L               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8820            ),
8821            OHNO            =FACT(statut='f',
8822              R_I             =SIMP(statut='o',typ='R'),
8823              R_0             =SIMP(statut='o',typ='R'),
8824              B               =SIMP(statut='o',typ='R'),
8825              PHI             =SIMP(statut='o',typ='R'),
8826              A1              =SIMP(statut='o',typ='R'),
8827              A2              =SIMP(statut='o',typ='R'),
8828              A3              =SIMP(statut='o',typ='R'),
8829              A4              =SIMP(statut='o',typ='R'),
8830              A5              =SIMP(statut='o',typ='R'),
8831              GAMMA1          =SIMP(statut='o',typ='R'),
8832              GAMMA2          =SIMP(statut='o',typ='R'),
8833              GAMMA3          =SIMP(statut='o',typ='R'),
8834              GAMMA4          =SIMP(statut='o',typ='R'),
8835              GAMMA5          =SIMP(statut='o',typ='R'),
8836              M1              =SIMP(statut='o',typ='R'),
8837              M2              =SIMP(statut='o',typ='R'),
8838              M3              =SIMP(statut='o',typ='R'),
8839              M4              =SIMP(statut='o',typ='R'),
8840              M5              =SIMP(statut='o',typ='R'),
8841                            ),
8842            OHNO_FO         =FACT(statut='f',
8843              R_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8844              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8845              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8846              PHI             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8847              A1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8848              A2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8849              A3              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8850              A4              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8851              A5              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8852              GAMMA1          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8853              GAMMA2          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8854              GAMMA3          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8855              GAMMA4          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8856              GAMMA5          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8857              M1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8858              M2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8859              M3              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8860              M4              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8861              M5              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8862              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8863            ),
8864            LMARC           =FACT(statut='f',
8865              DE_0            =SIMP(statut='o',typ='R'),
8866              R_0             =SIMP(statut='o',typ='R'),
8867              N               =SIMP(statut='o',typ='R'),
8868              K               =SIMP(statut='o',typ='R'),
8869              Y_I             =SIMP(statut='o',typ='R'),
8870              Y_0             =SIMP(statut='o',typ='R'),
8871              B               =SIMP(statut='o',typ='R'),
8872              A_0             =SIMP(statut='o',typ='R'),
8873              RM              =SIMP(statut='o',typ='R'),
8874              M               =SIMP(statut='o',typ='R'),
8875              P               =SIMP(statut='o',typ='R'),
8876              P1              =SIMP(statut='o',typ='R'),
8877              P2              =SIMP(statut='o',typ='R'),
8878              M11             =SIMP(statut='o',typ='R'),
8879              M22             =SIMP(statut='o',typ='R'),
8880              M33             =SIMP(statut='o',typ='R'),
8881              M66             =SIMP(statut='o',typ='R'),
8882              N11             =SIMP(statut='o',typ='R'),
8883              N22             =SIMP(statut='o',typ='R'),
8884              N33             =SIMP(statut='o',typ='R'),
8885              N66             =SIMP(statut='o',typ='R'),
8886              Q11             =SIMP(statut='o',typ='R'),
8887              Q22             =SIMP(statut='o',typ='R'),
8888              Q33             =SIMP(statut='o',typ='R'),
8889              Q66             =SIMP(statut='o',typ='R'),
8890              R11             =SIMP(statut='o',typ='R'),
8891              R22             =SIMP(statut='o',typ='R'),
8892              R33             =SIMP(statut='o',typ='R'),
8893              R66             =SIMP(statut='o',typ='R'),
8894            ),
8895            LMARC_FO        =FACT(statut='f',
8896              DE_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8897              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8898              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8899              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8900              Y_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8901              Y_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8902              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8903              A_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8904              RM              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8905              M               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8906              P               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8907              P1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8908              P2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8909              M11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8910              M22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8911              M33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8912              M66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8913              N11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8914              N22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8915              N33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8916              N66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8917              Q11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8918              Q22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8919              Q33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8920              Q66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8921              R11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8922              R22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8923              R33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8924              R66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8925              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8926            ),
8927            VMIS_POUTRE     =FACT(statut='f',
8928              NP              =SIMP(statut='o',typ='R'),
8929              MEY             =SIMP(statut='o',typ='R'),
8930              MPY             =SIMP(statut='o',typ='R'),
8931              CAY             =SIMP(statut='o',typ='R'),
8932              CBY             =SIMP(statut='o',typ='R'),
8933              MEZ             =SIMP(statut='o',typ='R'),
8934              MPZ             =SIMP(statut='o',typ='R'),
8935              CAZ             =SIMP(statut='o',typ='R'),
8936              CBZ             =SIMP(statut='o',typ='R'),
8937              MPX             =SIMP(statut='o',typ='R'),
8938            ),
8939            VMIS_POUTRE_FO  =FACT(statut='f',
8940              NP              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8941              MEY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8942              MPY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8943              CAY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8944              CBY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8945              MEZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8946              MPZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8947              CAZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8948              CBZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8949              MPX             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8950              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8951            ),
8952            ARME            =FACT(statut='f',
8953              KYE             =SIMP(statut='o',typ='R'),
8954              DLE             =SIMP(statut='o',typ='R'),
8955              KYP             =SIMP(statut='o',typ='R'),
8956              DLP             =SIMP(statut='o',typ='R'),
8957              KYG             =SIMP(statut='o',typ='R'),
8958            ),
8959            ASSE_CORN       =FACT(statut='f',
8960              NU_1            =SIMP(statut='o',typ='R'),
8961              MU_1            =SIMP(statut='o',typ='R'),
8962              DXU_1           =SIMP(statut='o',typ='R'),
8963              DRYU_1          =SIMP(statut='o',typ='R'),
8964              C_1             =SIMP(statut='o',typ='R'),
8965              NU_2            =SIMP(statut='o',typ='R'),
8966              MU_2            =SIMP(statut='o',typ='R'),
8967              DXU_2           =SIMP(statut='o',typ='R'),
8968              DRYU_2          =SIMP(statut='o',typ='R'),
8969              C_2             =SIMP(statut='o',typ='R'),
8970              KY              =SIMP(statut='o',typ='R'),
8971              KZ              =SIMP(statut='o',typ='R'),
8972              KRX             =SIMP(statut='o',typ='R'),
8973              KRZ             =SIMP(statut='o',typ='R'),
8974            ),
8975            DIS_CONTACT     =FACT(statut='f',
8976              RIGI_NOR        =SIMP(statut='f',typ='R' ),
8977              DIST_1          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8978              DIST_2          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8979              RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8980              AMOR_NOR        =SIMP(statut='f',typ='R' ),
8981              AMOR_TAN        =SIMP(statut='f',typ='R' ),
8982              COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8983              JEU             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8984              KT_ULTM         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8985              EFFO_N_INIT     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8986              regles=(EXCLUS('RIGI_N_FO','RIGI_N_IRRA',),
8987                      EXCLUS('RELA_MZ','ANGLE_1'),
8988                      PRESENT_PRESENT('ANGLE_1','ANGLE_2','ANGLE_3','ANGLE_4',
8989                                      'MOMENT_1','MOMENT_2','MOMENT_3','MOMENT_4'),),
8990              RIGI_N_IRRA     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8991              RIGI_N_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8992              RELA_MZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8993              ANGLE_1         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8994              ANGLE_2         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8995              ANGLE_3         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8996              ANGLE_4         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8997              MOMENT_1        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8998              MOMENT_2        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8999              MOMENT_3        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9000              MOMENT_4        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9001              C_PRAGER_MZ     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9002              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("DRZ","INST","TEMP",) ),
9003            ),
9004            NADAI_B         =FACT(statut='f',
9005              F_C             =SIMP(statut='o',typ='R'),
9006              F_T             =SIMP(statut='o',typ='R'),
9007              CRIT_E_C        =SIMP(statut='o',typ='R'),
9008              EPSP_P_C        =SIMP(statut='o',typ='R'),
9009              EPSP_R_C        =SIMP(statut='o',typ='R'),
9010              EPSI_R_T        =SIMP(statut='o',typ='R'),
9011              FAC_T_C         =SIMP(statut='o',typ='R'),
9012            ),
9013            BETON_DOUBLE_DP =FACT(statut='f',
9014              F_C             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9015              F_T             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9016              COEF_BIAX       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9017              ENER_COMP_RUPT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9018              ENER_TRAC_RUPT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9019              COEF_ELAS_COMP  =SIMP(statut='o',typ='R'),
9020              LONG_CARA       =SIMP(statut='f',typ='R'),
9021              ECRO_COMP_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","PARABOLE") ),
9022              ECRO_TRAC_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","EXPONENT") ),
9023              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH",) ),
9024            ),
9025            LABORD_1D=FACT(statut='f',min=0 ,
9026              Y01             =SIMP(statut='o',typ='R'),
9027              Y02             =SIMP(statut='o',typ='R'),
9028              A1              =SIMP(statut='o',typ='R'),
9029              A2              =SIMP(statut='o',typ='R'),
9030              B1              =SIMP(statut='o',typ='R'),
9031              B2              =SIMP(statut='o',typ='R'),
9032              BETA1           =SIMP(statut='o',typ='R'),
9033              BETA2           =SIMP(statut='o',typ='R'),
9034              SIGF            =SIMP(statut='o',typ='R'),
9035            ),
9036          MAZARS=FACT(statut='f',min=0 ,
9037              EPSD0           =SIMP(statut='o',typ='R'),
9038              BETA            =SIMP(statut='o',typ='R'),
9039              AC              =SIMP(statut='o',typ='R'),
9040              BC              =SIMP(statut='o',typ='R'),
9041              AT              =SIMP(statut='o',typ='R'),
9042              BT              =SIMP(statut='o',typ='R'),
9043            ),
9044          MAZARS_FO=FACT(statut='f',min=0 ,
9045              EPSD0           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9046              BETA            =SIMP(statut='o',typ='R'),
9047              AC              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9048              BC              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9049              AT              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9050              BT              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9051              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","SECH","HYDR") ),
9052            ),
9053          JOINT_BA=FACT(statut='f',min=0 ,max=1,
9054              HPEN            =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=0.E+0),
9055              GTT             =SIMP(statut='o',typ='R',val_min=0.E+0),
9056              GAMD0           =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E-1),
9057              AD1             =SIMP(statut='o',typ='R',val_min=0.E+0),
9058              BD1             =SIMP(statut='o',typ='R',defaut= 5.E-1,val_min=1.E-1),
9059              GAMD2           =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0),
9060              AD2             =SIMP(statut='o',typ='R',val_min=0.E+0),
9061              BD2             =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1),
9062              VIFROT          =SIMP(statut='o',typ='R',val_min=0.E+0),
9063              FA              =SIMP(statut='o',typ='R',val_min=0.E+0),
9064              FC              =SIMP(statut='o',typ='R',val_min=0.E+0),
9065              EPSTR0          =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0),
9066              ADN             =SIMP(statut='o',typ='R',val_min=0.E+0),
9067              BDN             =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1),
9068            ),
9069           VENDOCHAB       =FACT(statut='f',
9070              S_VP            =SIMP(statut='o',typ='R'),
9071              SEDVP1          =SIMP(statut='o',typ='R'),
9072              SEDVP2          =SIMP(statut='o',typ='R'),
9073              N_VP            =SIMP(statut='o',typ='R'),
9074              M_VP            =SIMP(statut='o',typ='R'),
9075              K_VP            =SIMP(statut='o',typ='R'),
9076              R_D             =SIMP(statut='o',typ='R'),
9077              A_D             =SIMP(statut='o',typ='R'),
9078              K_D             =SIMP(statut='o',typ='R'),
9079            ),
9080            VENDOCHAB_FO    =FACT(statut='f',
9081              S_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9082              SEDVP1          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9083              SEDVP2          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9084              N_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9085              M_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9086              K_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9087              R_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9088              A_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9089              K_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9090              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","X",) ),
9091            ),
9092            PINTO_MENEGOTTO =FACT(statut='f',
9093              SY              =SIMP(statut='o',typ='R'),
9094              EPSI_ULTM       =SIMP(statut='o',typ='R'),
9095              SIGM_ULTM       =SIMP(statut='o',typ='R'),
9096              ELAN            =SIMP(statut='f',typ='R',defaut= 4. ),
9097              EPSP_HARD       =SIMP(statut='o',typ='R'),
9098              R_PM            =SIMP(statut='f',typ='R',defaut= 20. ),
9099              EP_SUR_E        =SIMP(statut='f',typ='R'),
9100              A1_PM           =SIMP(statut='f',typ='R',defaut= 18.5 ),
9101              A2_PM           =SIMP(statut='f',typ='R',defaut= 0.15 ),
9102              A6_PM           =SIMP(statut='f',typ='R',defaut= 620. ),
9103              C_PM            =SIMP(statut='f',typ='R',defaut= 0.5 ),
9104              A_PM            =SIMP(statut='f',typ='R',defaut= 6.0E-3 ),
9105            ),
9106            BPEL_BETON      =FACT(statut='f',
9107              PERT_FLUA       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9108              PERT_RETR       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9109            ),
9110            BPEL_ACIER      =FACT(statut='f',
9111             regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',),
9112                      PRESENT_PRESENT('MU0_RELAX','F_PRG',),),
9113              RELAX_1000      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9114              MU0_RELAX       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9115              F_PRG           =SIMP(statut='f',typ='R'),
9116              FROT_COURB      =SIMP(statut='f',typ='R',defaut=0.E+0),
9117              FROT_LINE       =SIMP(statut='f',typ='R',defaut=0.E+0),
9118            ),
9119            CAM_CLAY      =FACT(statut='f',
9120              PORO            =SIMP(statut='o',typ='R'),
9121              LAMBDA          =SIMP(statut='o',typ='R'),
9122              KAPA            =SIMP(statut='o',typ='R'),
9123              M               =SIMP(statut='o',typ='R'),
9124              PRES_CRIT       =SIMP(statut='o',typ='R'),
9125              PA              =SIMP(statut='o',typ='R'),
9126            ),
9127            BARCELONE      =FACT(statut='f',
9128              R             =SIMP(statut='o',typ='R'),
9129              BETA          =SIMP(statut='o',typ='R'),
9130              KC            =SIMP(statut='o',typ='R'),
9131              PC0_INIT      =SIMP(statut='o',typ='R'),
9132              KAPAS         =SIMP(statut='o',typ='R'),
9133              LAMBDAS       =SIMP(statut='o',typ='R'),
9134              ALPHAB        =SIMP(statut='f',typ='R'),
9135            ),
9136            CJS             =FACT(statut='f',
9137              BETA_CJS        =SIMP(statut='o',typ='R'),
9138              RM              =SIMP(statut='o',typ='R'),
9139              N_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9140              KP              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9141              RC              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9142              A_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9143              B_CJS           =SIMP(statut='f',typ='R',defaut= 1.0E+25 ),
9144              C_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9145              GAMMA_CJS       =SIMP(statut='o',typ='R'),
9146              MU_CJS          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9147              PCO             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9148              PA              =SIMP(statut='o',typ='R'),
9149              Q_INIT          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9150              R_INIT          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9151            ),
9152            ECRO_ASYM_LINE  =FACT(statut='f',
9153              DC_SIGM_EPSI    =SIMP(statut='o',typ='R'),
9154              SY_C            =SIMP(statut='o',typ='R'),
9155              DT_SIGM_EPSI    =SIMP(statut='o',typ='R'),
9156              SY_T            =SIMP(statut='o',typ='R'),
9157            ),
9158            GRANGER_FP      =FACT(statut='f',
9159              J1              =SIMP(statut='f',typ='R'),
9160              J2              =SIMP(statut='f',typ='R'),
9161              J3              =SIMP(statut='f',typ='R'),
9162              J4              =SIMP(statut='f',typ='R'),
9163              J5              =SIMP(statut='f',typ='R'),
9164              J6              =SIMP(statut='f',typ='R'),
9165              J7              =SIMP(statut='f',typ='R'),
9166              J8              =SIMP(statut='f',typ='R'),
9167              TAUX_1          =SIMP(statut='f',typ='R'),
9168              TAUX_2          =SIMP(statut='f',typ='R'),
9169              TAUX_3          =SIMP(statut='f',typ='R'),
9170              TAUX_4          =SIMP(statut='f',typ='R'),
9171              TAUX_5          =SIMP(statut='f',typ='R'),
9172              TAUX_6          =SIMP(statut='f',typ='R'),
9173              TAUX_7          =SIMP(statut='f',typ='R'),
9174              TAUX_8          =SIMP(statut='f',typ='R'),
9175              QSR_K           =SIMP(statut='f',typ='R'),
9176            ),
9177            GRANGER_FP_INDT =FACT(statut='f',
9178              J1              =SIMP(statut='f',typ='R'),
9179              J2              =SIMP(statut='f',typ='R'),
9180              J3              =SIMP(statut='f',typ='R'),
9181              J4              =SIMP(statut='f',typ='R'),
9182              J5              =SIMP(statut='f',typ='R'),
9183              J6              =SIMP(statut='f',typ='R'),
9184              J7              =SIMP(statut='f',typ='R'),
9185              J8              =SIMP(statut='f',typ='R'),
9186              TAUX_1          =SIMP(statut='f',typ='R'),
9187              TAUX_2          =SIMP(statut='f',typ='R'),
9188              TAUX_3          =SIMP(statut='f',typ='R'),
9189              TAUX_4          =SIMP(statut='f',typ='R'),
9190              TAUX_5          =SIMP(statut='f',typ='R'),
9191              TAUX_6          =SIMP(statut='f',typ='R'),
9192              TAUX_7          =SIMP(statut='f',typ='R'),
9193              TAUX_8          =SIMP(statut='f',typ='R'),
9194            ),
9195            V_GRANGER_FP    =FACT(statut='f',
9196              QSR_VEIL        =SIMP(statut='f',typ='R'),
9197              FONC_V          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9198              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
9199            ),
9200            BAZANT_FD      =FACT(statut='f',
9201              LAM_VISC      =SIMP(statut='o',typ='R'),
9202            ),
9203            BETON_UMLV_FP   =FACT(statut='f',min=0 ,
9204              K_RS            =SIMP(statut='o',typ='R'),
9205              ETA_RS          =SIMP(statut='o',typ='R'),
9206              K_IS            =SIMP(statut='o',typ='R'),
9207              ETA_IS          =SIMP(statut='o',typ='R'),
9208              K_RD            =SIMP(statut='o',typ='R'),
9209              ETA_RD          =SIMP(statut='o',typ='R'),
9210              ETA_ID          =SIMP(statut='o',typ='R'),
9211              ETA_FD          =SIMP(statut='f',typ='R'),
9212            ),
9213            GLRC            =FACT(statut='f',min=0,max=1,
9214              MEX1            =SIMP(statut='o',typ='R',val_min=0.E+0),
9215              MEY1            =SIMP(statut='o',typ='R',val_min=0.E+0),
9216              MEX2            =SIMP(statut='o',typ='R',val_max=0.E+0),
9217              MEY2            =SIMP(statut='o',typ='R',val_max=0.E+0),
9218              CX1             =SIMP(statut='o',typ='R',val_min=0.E+0),
9219              CY1             =SIMP(statut='o',typ='R',val_min=0.E+0),
9220              CXY1            =SIMP(statut='o',typ='R',val_min=0.E+0),
9221              CX2             =SIMP(statut='o',typ='R',val_min=0.E+0),
9222              CY2             =SIMP(statut='o',typ='R',val_min=0.E+0),
9223              CXY2            =SIMP(statut='o',typ='R',val_min=0.E+0),
9224            ),
9225            GLRC_FO         =FACT(statut='f',min=0,max=1,
9226              MEX1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9227              MEY1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9228              MEX2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9229              MEY2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9230              CX1             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9231              CY1             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9232              CXY1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9233              CX2             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9234              CY2             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9235              CXY2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9236              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("NORM",) ),
9237            ),
9238            CORR_ACIER   =FACT(statut='f',min=0 ,max=1,
9239              D_CORR           =SIMP(statut='o',typ='R'),
9240              ECRO_K           =SIMP(statut='o',typ='R'),
9241              ECRO_M           =SIMP(statut='o',typ='R'),
9242              SY              =SIMP(statut='o',typ='R'),
9243              ),                    
9244 #
9245 # comportement thermique
9246 #
9247            THER_NL         =FACT(statut='f',
9248              regles=(UN_PARMI('BETA','RHO_CP', ),),
9249              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9250              BETA            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9251              RHO_CP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9252              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9253            ),
9254            THER_HYDR       =FACT(statut='f',
9255              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9256              BETA            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9257              AFFINITE        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9258              CHALHYDR        =SIMP(statut='o',typ='R'),
9259              QSR_K           =SIMP(statut='o',typ='R'),
9260              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("HYDR","TEMP",) ),
9261            ),
9262            THER            =FACT(statut='f',
9263              LAMBDA          =SIMP(statut='o',typ='R'),
9264              RHO_CP          =SIMP(statut='f',typ='R'),
9265            ),
9266            THER_FO         =FACT(statut='f',
9267              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9268              RHO_CP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9269              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
9270            ),
9271            THER_ORTH       =FACT(statut='f',
9272              LAMBDA_L        =SIMP(statut='o',typ='R'),
9273              LAMBDA_T        =SIMP(statut='o',typ='R'),
9274              LAMBDA_N        =SIMP(statut='f',typ='R'),
9275              RHO_CP          =SIMP(statut='f',typ='R'),
9276            ),
9277            THER_COQUE      =FACT(statut='f',
9278              COND_LMM        =SIMP(statut='o',typ='R'),
9279              COND_TMM        =SIMP(statut='o',typ='R'),
9280              COND_LMP        =SIMP(statut='o',typ='R'),
9281              COND_TMP        =SIMP(statut='o',typ='R'),
9282              COND_LPP        =SIMP(statut='o',typ='R'),
9283              COND_TPP        =SIMP(statut='o',typ='R'),
9284              COND_LSI        =SIMP(statut='o',typ='R'),
9285              COND_TSI        =SIMP(statut='o',typ='R'),
9286              COND_NMM        =SIMP(statut='o',typ='R'),
9287              COND_NMP        =SIMP(statut='o',typ='R'),
9288              COND_NPP        =SIMP(statut='o',typ='R'),
9289              COND_NSI        =SIMP(statut='o',typ='R'),
9290              CMAS_MM         =SIMP(statut='f',typ='R'),
9291              CMAS_MP         =SIMP(statut='f',typ='R'),
9292              CMAS_PP         =SIMP(statut='f',typ='R'),
9293              CMAS_SI         =SIMP(statut='f',typ='R'),
9294            ),
9295            THER_COQUE_FO   =FACT(statut='f',
9296              COND_LMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9297              COND_TMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9298              COND_LMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9299              COND_TMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9300              COND_LPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9301              COND_TPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9302              COND_LSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9303              COND_TSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9304              COND_NMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9305              COND_NMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9306              COND_NPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9307              COND_NSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9308              CMAS_MM         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9309              CMAS_MP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9310              CMAS_PP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9311              CMAS_SI         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9312            ),
9313            SECH_GRANGER    =FACT(statut='f',
9314              A               =SIMP(statut='o',typ='R'),
9315              B               =SIMP(statut='o',typ='R'),
9316              QSR_K           =SIMP(statut='o',typ='R'),
9317              TEMP_0_C        =SIMP(statut='o',typ='R'),
9318            ),
9319            SECH_MENSI      =FACT(statut='f',
9320              A               =SIMP(statut='o',typ='R'),
9321              B               =SIMP(statut='o',typ='R'),
9322            ),
9323            SECH_BAZANT     =FACT(statut='f',
9324              D1              =SIMP(statut='o',typ='R'),
9325              ALPHA_BAZANT    =SIMP(statut='o',typ='R'),
9326              N               =SIMP(statut='o',typ='R'),
9327              FONC_DESORP     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9328              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9329            ),
9330            SECH_NAPPE      =FACT(statut='f',
9331              FONCTION        =SIMP(statut='o',typ=(nappe_sdaster,formule)),
9332              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","TSEC",) ),
9333            ),
9334 #
9335 # comportement métallurgique
9336 #
9337            META_ACIER      =FACT(statut='f',
9338              TRC             =SIMP(statut='o',typ=(tabl_trc) ),
9339              AR3             =SIMP(statut='o',typ='R'),
9340              ALPHA           =SIMP(statut='o',typ='R'),
9341              MS0             =SIMP(statut='o',typ='R'),
9342              AC1             =SIMP(statut='o',typ='R'),
9343              AC3             =SIMP(statut='o',typ='R'),
9344              TAUX_1          =SIMP(statut='o',typ='R'),
9345              TAUX_3          =SIMP(statut='o',typ='R'),
9346              LAMBDA0         =SIMP(statut='f',typ='R'),
9347              QSR_K           =SIMP(statut='f',typ='R'),
9348              D10             =SIMP(statut='f',typ='R'),
9349              WSR_K           =SIMP(statut='f',typ='R'),
9350            ),
9351            META_ZIRC       =FACT(statut='f',
9352              TDEQ            =SIMP(statut='o',typ='R'),
9353              N               =SIMP(statut='o',typ='R'),
9354              K               =SIMP(statut='o',typ='R'),
9355              TDC             =SIMP(statut='o',typ='R'),
9356              AC              =SIMP(statut='o',typ='R'),
9357              M               =SIMP(statut='o',typ='R'),
9358              QSR_K           =SIMP(statut='f',typ='R'),
9359              TDR             =SIMP(statut='o',typ='R'),
9360              AR              =SIMP(statut='o',typ='R'),
9361              BR              =SIMP(statut='o',typ='R'),
9362            ),
9363            DURT_META       =FACT(statut='f',
9364              F1_DURT         =SIMP(statut='o',typ='R'),
9365              F2_DURT         =SIMP(statut='o',typ='R'),
9366              F3_DURT         =SIMP(statut='o',typ='R'),
9367              F4_DURT         =SIMP(statut='o',typ='R'),
9368              C_DURT          =SIMP(statut='o',typ='R'),
9369            ),
9370            ELAS_META       =FACT(statut='f',
9371              E               =SIMP(statut='o',typ='R'),
9372              NU              =SIMP(statut='o',typ='R'),
9373              F_ALPHA         =SIMP(statut='o',typ='R'),
9374              C_ALPHA         =SIMP(statut='o',typ='R'),
9375              PHASE_REFE      =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
9376              EPSF_EPSC_TREF  =SIMP(statut='o',typ='R'),
9377              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
9378              F1_SY           =SIMP(statut='f',typ='R'),
9379              F2_SY           =SIMP(statut='f',typ='R'),
9380              F3_SY           =SIMP(statut='f',typ='R'),
9381              F4_SY           =SIMP(statut='f',typ='R'),
9382              C_SY            =SIMP(statut='f',typ='R'),
9383              SY_MELANGE      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9384              F1_S_VP         =SIMP(statut='f',typ='R'),
9385              F2_S_VP         =SIMP(statut='f',typ='R'),
9386              F3_S_VP         =SIMP(statut='f',typ='R'),
9387              F4_S_VP         =SIMP(statut='f',typ='R'),
9388              C_S_VP          =SIMP(statut='f',typ='R' ),
9389              S_VP_MELANGE    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9390              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("META",)),
9391            ),
9392            ELAS_META_FO    =FACT(statut='f',
9393              regles=(
9394                       PRESENT_PRESENT('F_ALPHA','TEMP_DEF_ALPHA'),
9395                       PRESENT_PRESENT('C_ALPHA','TEMP_DEF_ALPHA'),
9396                     ),
9397              E               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9398              NU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9399              F_ALPHA         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9400              C_ALPHA         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9401              PHASE_REFE      =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
9402              EPSF_EPSC_TREF  =SIMP(statut='o',typ='R'),
9403              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
9404              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
9405              F1_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9406              F2_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9407              F3_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9408              F4_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9409              C_SY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9410              SY_MELANGE      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9411              F1_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9412              F2_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9413              F3_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9414              F4_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9415              C_S_VP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9416              S_VP_MELANGE    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9417              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","META",)),
9418            ),
9419            META_ECRO_LINE  =FACT(statut='f',
9420              F1_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9421              F2_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9422              F3_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9423              F4_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9424              C_D_SIGM_EPSI   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9425              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",)),
9426            ),
9427            META_TRACTION   =FACT(statut='f',
9428              SIGM_F1         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9429              SIGM_F2         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9430              SIGM_F3         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9431              SIGM_F4         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9432              SIGM_C          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9433              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("EPSI","TEMP",)),
9434            ),
9435            META_VISC_FO    =FACT(statut='f',
9436              F1_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9437              F1_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9438              F1_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9439              F1_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9440              F2_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9441              F2_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9442              F2_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9443              F2_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9444              F3_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9445              F3_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9446              F3_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9447              F3_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9448              F4_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9449              F4_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9450              F4_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9451              F4_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9452              C_ETA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9453              C_N             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9454              C_C             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9455              C_M             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9456              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9457            ),
9458            META_PT         =FACT(statut='f',
9459              F1_K            =SIMP(statut='f',typ='R'),
9460              F2_K            =SIMP(statut='f',typ='R'),
9461              F3_K            =SIMP(statut='f',typ='R'),
9462              F4_K            =SIMP(statut='f',typ='R'),
9463              F1_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9464              F2_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9465              F3_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9466              F4_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9467              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","META",) ),
9468            ),
9469            META_RE         =FACT(statut='f',
9470              C_F1_THETA      =SIMP(statut='f',typ='R'),
9471              C_F2_THETA      =SIMP(statut='f',typ='R'),
9472              C_F3_THETA      =SIMP(statut='f',typ='R'),
9473              C_F4_THETA      =SIMP(statut='f',typ='R'),
9474              F1_C_THETA      =SIMP(statut='f',typ='R'),
9475              F2_C_THETA      =SIMP(statut='f',typ='R'),
9476              F3_C_THETA      =SIMP(statut='f',typ='R'),
9477              F4_C_THETA      =SIMP(statut='f',typ='R'),
9478            ),
9479 #
9480 # comportement fluide
9481 #
9482            FLUIDE          =FACT(statut='f',
9483              regles=(EXCLUS('CELE_C','CELE_R'),),
9484              RHO             =SIMP(statut='o',typ='R'),
9485              CELE_C          =SIMP(statut='f',typ='C'),
9486              CELE_R          =SIMP(statut='f',typ='R'),
9487            ),
9488            PORO_JOINT      =FACT(statut='f',
9489              RHO_FLUI        =SIMP(statut='o',typ='R'),
9490              ENTRO_FLUI      =SIMP(statut='o',typ='R'),
9491              BIOT_M          =SIMP(statut='o',typ='R'),
9492              C_0             =SIMP(statut='o',typ='R'),
9493              T_R             =SIMP(statut='o',typ='R'),
9494              ALPHA_M         =SIMP(statut='o',typ='R'),
9495              LAMBDA_T        =SIMP(statut='o',typ='R'),
9496              LAMBDA_H        =SIMP(statut='o',typ='R'),
9497              SOURCE_INIT     =SIMP(statut='o',typ='R'),
9498              OMEGA_0         =SIMP(statut='o',typ='R'),
9499            ),
9500 # =================================================================================
9501 # COMPORTEMENT THERMO_HYDRO_MECANIQUE
9502 # LES DONNEES NECESSAIRES A LA DEFINITION DU MATERIAU SONT DEPENDANTES
9503 # DE LA LOI DE COUPLAGE THM DE LA RELATION
9504 # LE COMPORTEMENT DE COUPLAGE COMP_THM N EST VALABLE QUE POUR LES LOIS
9505 # DE COUPLAGE : LIQU_SATU,LIQU_GAZ,GAZ,LIQU_GAZ_ATM,LIQU_VAPE_GAZ,LIQU_VAPE
9506 # ET LIQU_AD_GAZ_VAPE
9507 # POUR LES LOIS DE COUPLAGE LIQU_SATU_GAT ET LIQU_NSAT_GAT
9508 # ON NE MODIFIE RIEN
9509 # LA CORRESPONDANCE AVEC LES VARIABLES CACHEES EST LA SUIVANTE :
9510 # 1 -->  LIQU_SATU
9511 # 2 -->  GAZ
9512 # 3 -->  LIQU_VAPE
9513 # 4 -->  LIQU_VAPE_GAZ
9514 # 5 -->  LIQU_GAZ
9515 # 6 -->  LIQU_GAZ_ATM
9516 # 7 -->  LIQU_SATU_GAT
9517 # 8 -->  LIQU_NSAT_GAT
9518 # 9 -->  LIQU_AD_GAZ_VAPE
9519 # =================================================================================
9520            COMP_THM        = SIMP(statut='f', typ='TXM',
9521                                   into = ( "LIQU_SATU"     ,
9522                                            "LIQU_GAZ"      ,
9523                                            "GAZ"           ,
9524                                            "LIQU_GAZ_ATM"  ,
9525                                            "LIQU_VAPE_GAZ" ,
9526                                            "LIQU_VAPE"     ,
9527                                            "LIQU_SATU_GAT" ,
9528                                            "LIQU_NSAT_GAT" ,
9529                                            "LIQU_AD_GAZ_VAPE" ,
9530                                           ) ),
9531 # =================================================================================
9532 # --- LOI DE COUPLAGE DE TYPE LIQU_SATU -------------------------------------------
9533 # =================================================================================
9534 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
9535 # --- THM_INIT, THM_DIFFU, THM_LIQU -----------------------------------------------
9536 # =================================================================================
9537            b_liqusatu      = BLOC(condition = "COMP_THM == 'LIQU_SATU' ",
9538                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU",
9539 # =================================================================================
9540 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9541 # =================================================================================
9542                              THM_INIT   = FACT(statut='o',
9543 # ---------------------------------------------------------------------------------
9544 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9545 # ---------------------------------------------------------------------------------
9546                                            PRE1          = SIMP(statut='o',typ='R'),
9547                                            PORO          = SIMP(statut='o',typ='R'),
9548 # ---------------------------------------------------------------------------------
9549 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9550 # ---------------------------------------------------------------------------------
9551                                            TEMP          = SIMP(statut='f',typ='R'),
9552 # ---------------------------------------------------------------------------------
9553 # -------------------   DONNEES INUTILES   ----------------------------------------
9554 # ---------------------------------------------------------------------------------
9555                                            PRE2          = SIMP(statut='f',typ='R'),
9556                                            PRES_VAPE     = SIMP(statut='f',typ='R'),
9557                                            DEGR_SATU     = SIMP(statut='f',typ='R'),
9558                                            PRES_ATMO     = SIMP(statut='f',typ='R'),
9559 # ---------------------------------------------------------------------------------
9560 # -------------------   DONNEE CACHEE ---------------------------------------------
9561 # ---------------------------------------------------------------------------------
9562                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 1.0,),
9563                                              ),
9564 # =================================================================================
9565 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9566 # =================================================================================
9567                              THM_DIFFU  = FACT(statut='o',
9568 # ---------------------------------------------------------------------------------
9569 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9570 # ---------------------------------------------------------------------------------
9571                                            RHO           = SIMP(statut='o',typ='R'),
9572                                            BIOT_COEF     = SIMP(statut='o',typ='R'),
9573                                            PESA_X        = SIMP(statut='o',typ='R'),
9574                                            PESA_Y        = SIMP(statut='o',typ='R'),
9575                                            PESA_Z        = SIMP(statut='o',typ='R'),
9576 # ---------------------------------------------------------------------------------
9577 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9578 # ---------------------------------------------------------------------------------
9579                                            CP            = SIMP(statut='f',typ='R'),
9580                                            PERM_IN       = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9581                                            PERM_END      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9582                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
9583                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
9584                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9585                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9586                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9587                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9588                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9589                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9590                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9591                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9592                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9593                                            LAMB_CT   = SIMP(statut='f',typ='R'),
9594 # ---------------------------------------------------------------------------------
9595 # -------------------   DONNEES INUTILES   ----------------------------------------
9596 # ---------------------------------------------------------------------------------
9597                                            R_GAZ         = SIMP(statut='f',typ='R'),
9598                                            EMMAG           = SIMP(statut='f',typ='R'),
9599                                            SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9600                                            D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9601                                            PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9602                                            D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9603                                            PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9604                                            D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9605                                            D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9606                                            SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9607                                            D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9608                                            PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9609                                            CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9610                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9611                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9612                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9613                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9614                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9615                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9616                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9617                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9618                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9619                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9620                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9621 # ---------------------------------------------------------------------------------
9622 # -------------------   DONNEES CACHEES -------------------------------------------
9623 # ---------------------------------------------------------------------------------
9624          VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
9625                                              ),
9626 # =================================================================================
9627 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9628 # =================================================================================
9629                              THM_LIQU   = FACT(statut='o',
9630 # ---------------------------------------------------------------------------------
9631 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9632 # ---------------------------------------------------------------------------------
9633                                            RHO           = SIMP(statut='o',typ='R'),
9634                                            UN_SUR_K      = SIMP(statut='o',typ='R'),
9635                                            VISC          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9636                                            D_VISC_TEMP   = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9637 # ---------------------------------------------------------------------------------
9638 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9639 # ---------------------------------------------------------------------------------
9640                                            ALPHA         = SIMP(statut='f',typ='R'),
9641                                            CP            = SIMP(statut='f',typ='R'),
9642 # ---------------------------------------------------------------------------------
9643 # -------------------   DONNEES CACHEES -------------------------------------------
9644 # ---------------------------------------------------------------------------------
9645                                            VERI_P        = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9646                                          ),
9647 # =================================================================================
9648 # --- MOT-CLE INUTILE -------------------------------------------------------------
9649 # =================================================================================
9650            THM_GAZ         =FACT(statut='f',
9651              MASS_MOL        =SIMP(statut='f',typ='R'),
9652              CP              =SIMP(statut='f',typ='R'),
9653              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9654              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9655              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9656            ),
9657 # =================================================================================
9658 # --- MOT-CLE INUTILE -------------------------------------------------------------
9659 # =================================================================================
9660            THM_VAPE_GAZ    =FACT(statut='f',
9661              MASS_MOL        =SIMP(statut='f',typ='R'),
9662              CP              =SIMP(statut='f',typ='R'),
9663              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9664              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9665              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9666            ),
9667                                  ),
9668 # =================================================================================
9669 # --- LOI DE COUPLAGE DE TYPE LIQU_GAZ --------------------------------------------
9670 # =================================================================================
9671 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
9672 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ --------------------------------------
9673 # =================================================================================
9674            b_liqugaz      = BLOC(condition = "COMP_THM == 'LIQU_GAZ' ",
9675                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ",
9676 # =================================================================================
9677 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9678 # =================================================================================
9679                              THM_INIT   = FACT(statut='o',
9680 # ---------------------------------------------------------------------------------
9681 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9682 # ---------------------------------------------------------------------------------
9683                                            PRE1             = SIMP(statut='o',typ='R'),
9684                                            PRE2             = SIMP(statut='o',typ='R'),
9685                                            PORO             = SIMP(statut='o',typ='R'),
9686 # ---------------------------------------------------------------------------------
9687 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9688 # ---------------------------------------------------------------------------------
9689                                            TEMP             = SIMP(statut='f',typ='R'),
9690 # ---------------------------------------------------------------------------------
9691 # -------------------   DONNEES INUTILES   ----------------------------------------
9692 # ---------------------------------------------------------------------------------
9693                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
9694                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
9695                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
9696 # ---------------------------------------------------------------------------------
9697 # -------------------   DONNEE CACHEE ---------------------------------------------
9698 # ---------------------------------------------------------------------------------
9699                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 5.0,),
9700                                              ),
9701 # =================================================================================
9702 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9703 # =================================================================================
9704                              THM_DIFFU  = FACT(statut='o',
9705 # ---------------------------------------------------------------------------------
9706 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9707 # ---------------------------------------------------------------------------------
9708                                            R_GAZ            = SIMP(statut='o',typ='R'),
9709                                            RHO              = SIMP(statut='o',typ='R'),
9710                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
9711                                            PESA_X           = SIMP(statut='o',typ='R'),
9712                                            PESA_Y           = SIMP(statut='o',typ='R'),
9713                                            PESA_Z           = SIMP(statut='o',typ='R'),
9714                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9715                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9716                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9717                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9718                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9719                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9720                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9721 # ---------------------------------------------------------------------------------
9722 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9723 # ---------------------------------------------------------------------------------
9724                                            CP               = SIMP(statut='f',typ='R'),
9725                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9726                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9727                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
9728                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
9729                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9730                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9731                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9732                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9733                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9734                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9735                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9736                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9737                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9738                                            LAMB_CT   = SIMP(statut='f',typ='R'),
9739 # ---------------------------------------------------------------------------------
9740 # -------------------   DONNEES INUTILES   ----------------------------------------
9741 # ---------------------------------------------------------------------------------
9742                                            EMMAG           = SIMP(statut='f',typ='R'),
9743                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9744                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9745                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9746                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9747                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9748                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9749                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9750                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9751                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9752                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9753                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9754                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9755                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9756                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9757                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9758 # ---------------------------------------------------------------------------------
9759 # -------------------   DONNEES CACHEES -------------------------------------------
9760 # ---------------------------------------------------------------------------------
9761           VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
9762                                              ) ,
9763 # =================================================================================
9764 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9765 # =================================================================================
9766                              THM_LIQU   = FACT(statut='o',
9767 # ---------------------------------------------------------------------------------
9768 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9769 # ---------------------------------------------------------------------------------
9770                                            RHO              = SIMP(statut='o',typ='R'),
9771                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
9772                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9773                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9774 # ---------------------------------------------------------------------------------
9775 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9776 # ---------------------------------------------------------------------------------
9777                                            ALPHA            = SIMP(statut='f',typ='R'),
9778                                            CP               = SIMP(statut='f',typ='R'),
9779 # ---------------------------------------------------------------------------------
9780 # -------------------   DONNEES CACHEES -------------------------------------------
9781 # ---------------------------------------------------------------------------------
9782                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9783                                              ),
9784 # =================================================================================
9785 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9786 # =================================================================================
9787                              THM_GAZ    = FACT(statut='o',
9788 # ---------------------------------------------------------------------------------
9789 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9790 # ---------------------------------------------------------------------------------
9791                                            MASS_MOL        = SIMP(statut='o',typ='R'),
9792                                            VISC            = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9793                                            D_VISC_TEMP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9794 # ---------------------------------------------------------------------------------
9795 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9796 # ---------------------------------------------------------------------------------
9797                                            CP              = SIMP(statut='f',typ='R'),
9798 # ---------------------------------------------------------------------------------
9799 # -------------------   DONNEES CACHEES -------------------------------------------
9800 # ---------------------------------------------------------------------------------
9801                                            VERI_P          = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9802                                              ),
9803 # =================================================================================
9804 # --- MOT-CLE INUTILE -------------------------------------------------------------
9805 # =================================================================================
9806            THM_VAPE_GAZ    =FACT(statut='f',
9807              MASS_MOL        =SIMP(statut='f',typ='R'),
9808              CP              =SIMP(statut='f',typ='R'),
9809              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9810              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9811              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9812            ),
9813                                  ),
9814 # =================================================================================
9815 # --- LOI DE COUPLAGE DE TYPE GAZ -------------------------------------------------
9816 # =================================================================================
9817 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
9818 # --- THM_INIT, THM_DIFFU, THM_GAZ ------------------------------------------------
9819 # =================================================================================
9820            b_gaz          = BLOC(condition = "COMP_THM == 'GAZ' ",
9821                                  fr="Paramètres nécessaires pour une loi de couplage de type GAZ",
9822 # =================================================================================
9823 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9824 # =================================================================================
9825                              THM_INIT   = FACT(statut='o',
9826 # ---------------------------------------------------------------------------------
9827 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9828 # ---------------------------------------------------------------------------------
9829                                            TEMP             = SIMP(statut='o',typ='R'),
9830                                            PRE1             = SIMP(statut='o',typ='R'),
9831                                            PORO             = SIMP(statut='o',typ='R'),
9832 # ---------------------------------------------------------------------------------
9833 # -------------------   DONNEES INUTILES   ----------------------------------------
9834 # ---------------------------------------------------------------------------------
9835                                            PRE2             = SIMP(statut='f',typ='R'),
9836                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
9837                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
9838                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
9839 # ---------------------------------------------------------------------------------
9840 # -------------------   DONNEE CACHEE ---------------------------------------------
9841 # ---------------------------------------------------------------------------------
9842                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 2.0,),
9843                                              ),
9844 # =================================================================================
9845 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9846 # =================================================================================
9847                              THM_DIFFU  = FACT(statut='o',
9848 # ---------------------------------------------------------------------------------
9849 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9850 # ---------------------------------------------------------------------------------
9851                                            R_GAZ            = SIMP(statut='o',typ='R'),
9852                                            RHO              = SIMP(statut='o',typ='R'),
9853                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
9854                                            PESA_X           = SIMP(statut='o',typ='R'),
9855                                            PESA_Y           = SIMP(statut='o',typ='R'),
9856                                            PESA_Z           = SIMP(statut='o',typ='R'),
9857 # ---------------------------------------------------------------------------------
9858 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9859 # ---------------------------------------------------------------------------------
9860                                            CP               = SIMP(statut='f',typ='R'),
9861                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9862                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9863                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
9864                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
9865                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9866                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9867                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9868                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9869                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9870                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9871                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9872                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9873                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9874                                            LAMB_CT   = SIMP(statut='f',typ='R'),
9875 # ---------------------------------------------------------------------------------
9876 # -------------------   DONNEES INUTILES   ----------------------------------------
9877 # ---------------------------------------------------------------------------------
9878                                            EMMAG           = SIMP(statut='f',typ='R'),
9879                                            SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9880                                            D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9881                                            PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9882                                            D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9883                                            PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9884                                            D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9885                                            D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9886                                            SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9887                                            D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9888                                            PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9889                                            CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9890                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9891                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9892                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9893                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9894                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9895                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9896                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9897                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9898                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9899                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9900                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9901 # ---------------------------------------------------------------------------------
9902 # -------------------   DONNEES CACHEES -------------------------------------------
9903 # ---------------------------------------------------------------------------------
9904             VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
9905                                              ) ,
9906 # =================================================================================
9907 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9908 # =================================================================================
9909                              THM_GAZ    = FACT(statut='o',
9910 # ---------------------------------------------------------------------------------
9911 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9912 # ---------------------------------------------------------------------------------
9913                                            MASS_MOL         = SIMP(statut='o',typ='R'),
9914                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9915                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9916 # ---------------------------------------------------------------------------------
9917 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9918 # ---------------------------------------------------------------------------------
9919                                            CP               = SIMP(statut='f',typ='R'),
9920 # ---------------------------------------------------------------------------------
9921 # -------------------   DONNEES CACHEES -------------------------------------------
9922 # ---------------------------------------------------------------------------------
9923                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9924                                              ),
9925 # =================================================================================
9926 # --- MOT-CLE INUTILE -------------------------------------------------------------
9927 # =================================================================================
9928            THM_LIQU        =FACT(statut='f',
9929              RHO             =SIMP(statut='f',typ='R'),
9930              UN_SUR_K        =SIMP(statut='f',typ='R'),
9931              ALPHA           =SIMP(statut='f',typ='R'),
9932              CP              =SIMP(statut='f',typ='R'),
9933              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9934              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9935              COEF_HENRY      =SIMP(statut='f',typ='R'),
9936              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9937            ),
9938 # =================================================================================
9939 # --- MOT-CLE INUTILE -------------------------------------------------------------
9940 # =================================================================================
9941            THM_VAPE_GAZ    =FACT(statut='f',
9942              MASS_MOL        =SIMP(statut='f',typ='R'),
9943              CP              =SIMP(statut='f',typ='R'),
9944              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9945              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9946              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9947            ),
9948                                  ),
9949 # =================================================================================
9950 # --- LOI DE COUPLAGE DE TYPE LIQU_GAZ_ATM ----------------------------------------
9951 # =================================================================================
9952 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
9953 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ --------------------------------------
9954 # =================================================================================
9955            b_liqugazatm   = BLOC(condition = "COMP_THM == 'LIQU_GAZ_ATM' ",
9956                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ_ATM",
9957 # =================================================================================
9958 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9959 # =================================================================================
9960                              THM_INIT   = FACT(statut='o',
9961 # ---------------------------------------------------------------------------------
9962 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9963 # ---------------------------------------------------------------------------------
9964                                            PRE1             = SIMP(statut='o',typ='R'),
9965                                            PORO             = SIMP(statut='o',typ='R'),
9966 # ---------------------------------------------------------------------------------
9967 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9968 # ---------------------------------------------------------------------------------
9969                                            TEMP             = SIMP(statut='f',typ='R'),
9970 # ---------------------------------------------------------------------------------
9971 # -------------------   DONNEES INUTILES   ----------------------------------------
9972 # ---------------------------------------------------------------------------------
9973                                            PRE2             = SIMP(statut='f',typ='R'),
9974                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
9975                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
9976                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
9977 # ---------------------------------------------------------------------------------
9978 # -------------------   DONNEE CACHEE ---------------------------------------------
9979 # ---------------------------------------------------------------------------------
9980                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 6.0,),
9981                                              ),
9982 # =================================================================================
9983 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9984 # =================================================================================
9985                              THM_DIFFU  = FACT(statut='o',
9986 # ---------------------------------------------------------------------------------
9987 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9988 # ---------------------------------------------------------------------------------
9989                                            RHO              = SIMP(statut='o',typ='R'),
9990                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
9991                                            PESA_X           = SIMP(statut='o',typ='R'),
9992                                            PESA_Y           = SIMP(statut='o',typ='R'),
9993                                            PESA_Z           = SIMP(statut='o',typ='R'),
9994                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9995                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9996                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9997                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9998 # ---------------------------------------------------------------------------------
9999 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10000 # ---------------------------------------------------------------------------------
10001                                            CP               = SIMP(statut='f',typ='R'),
10002                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10003                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10004                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10005                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10006                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10007                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10008                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10009                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10010                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10011                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10012                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10013                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10014                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10015                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10016 # ---------------------------------------------------------------------------------
10017 # -------------------   DONNEES INUTILES   ----------------------------------------
10018 # ---------------------------------------------------------------------------------
10019              EMMAG           = SIMP(statut='f',typ='R'),
10020              R_GAZ           =SIMP(statut='f',typ='R'),
10021              PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10022              D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10023              D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10024              SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10025              D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10026              PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10027              CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10028              FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10029              FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10030              FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10031              FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10032              D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10033              D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10034              FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10035              FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10036              FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10037              FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10038              D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10039 # ---------------------------------------------------------------------------------
10040 # -------------------   DONNEES CACHEES -------------------------------------------
10041 # ---------------------------------------------------------------------------------
10042              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10043                                              ) ,
10044 # =================================================================================
10045 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10046 # =================================================================================
10047                              THM_LIQU   = FACT(statut='o',
10048 # ---------------------------------------------------------------------------------
10049 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10050 # ---------------------------------------------------------------------------------
10051                                            RHO              = SIMP(statut='o',typ='R'),
10052                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10053                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10054                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10055 # ---------------------------------------------------------------------------------
10056 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10057 # ---------------------------------------------------------------------------------
10058                                            ALPHA            = SIMP(statut='f',typ='R'),
10059                                            CP               = SIMP(statut='f',typ='R'),
10060 # ---------------------------------------------------------------------------------
10061 # -------------------   DONNEES CACHEES -------------------------------------------
10062 # ---------------------------------------------------------------------------------
10063                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10064                                              ),
10065 # =================================================================================
10066 # --- MOT-CLE INUTILE -------------------------------------------------------------
10067 # =================================================================================
10068                              THM_GAZ    = FACT(statut='f',
10069                                            MASS_MOL         = SIMP(statut='f',typ='R'),
10070                                            VISC             = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10071                                            D_VISC_TEMP      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10072                                            CP               = SIMP(statut='f',typ='R'),
10073                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10074                                              ),
10075 # =================================================================================
10076 # --- MOT-CLE INUTILE -------------------------------------------------------------
10077 # =================================================================================
10078            THM_VAPE_GAZ    =FACT(statut='f',
10079              MASS_MOL        =SIMP(statut='f',typ='R'),
10080              CP              =SIMP(statut='f',typ='R'),
10081              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10082              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10083              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10084            ),
10085                                  ),
10086 # =================================================================================
10087 # --- LOI DE COUPLAGE DE TYPE LIQU_VAPE_GAZ ---------------------------------------
10088 # =================================================================================
10089 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10090 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ ------------------------
10091 # =================================================================================
10092            b_liquvapegaz  = BLOC(condition = "COMP_THM == 'LIQU_VAPE_GAZ' ",
10093                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE_GAZ",
10094 # =================================================================================
10095 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10096 # =================================================================================
10097                              THM_INIT   = FACT(statut='o',
10098 # ---------------------------------------------------------------------------------
10099 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10100 # ---------------------------------------------------------------------------------
10101                                            PRE1             = SIMP(statut='o',typ='R'),
10102                                            PRE2             = SIMP(statut='o',typ='R'),
10103                                            PORO             = SIMP(statut='o',typ='R'),
10104                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
10105 # ---------------------------------------------------------------------------------
10106 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10107 # ---------------------------------------------------------------------------------
10108                                            TEMP             = SIMP(statut='f',typ='R'),
10109 # ---------------------------------------------------------------------------------
10110 # -------------------   DONNEES INUTILES   ----------------------------------------
10111 # ---------------------------------------------------------------------------------
10112                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10113                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10114 # ---------------------------------------------------------------------------------
10115 # -------------------   DONNEE CACHEE ---------------------------------------------
10116 # ---------------------------------------------------------------------------------
10117                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 4.0,),
10118                                              ),
10119 # =================================================================================
10120 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10121 # =================================================================================
10122                              THM_DIFFU  = FACT(statut='o',
10123 # ---------------------------------------------------------------------------------
10124 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10125 # ---------------------------------------------------------------------------------
10126                                            R_GAZ            = SIMP(statut='o',typ='R'),
10127                                            RHO              = SIMP(statut='o',typ='R'),
10128                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10129                                            PESA_X           = SIMP(statut='o',typ='R'),
10130                                            PESA_Y           = SIMP(statut='o',typ='R'),
10131                                            PESA_Z           = SIMP(statut='o',typ='R'),
10132                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10133                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10134                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10135                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10136                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10137                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10138                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10139                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10140 # ---------------------------------------------------------------------------------
10141 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10142 # ---------------------------------------------------------------------------------
10143                                            CP               = SIMP(statut='f',typ='R'),
10144                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10145                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10146                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10147                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10148                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10149                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10150                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10151                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10152                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10153                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10154                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10155                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10156                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10157                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10158 # ---------------------------------------------------------------------------------
10159 # -------------------   DONNEES FACULTATIVE   ----------------------------------
10160 # ---------------------------------------------------------------------------------
10161                                            EMMAG            = SIMP(statut='f',typ='R'),
10162                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10163                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10164                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10165                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10166                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10167                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10168                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10169                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10170                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10171 # ---------------------------------------------------------------------------------
10172 # -------------------   DONNEES INUTILES   ----------------------------------------
10173 # ---------------------------------------------------------------------------------
10174                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10175                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10176                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10177                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10178                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10179 # ---------------------------------------------------------------------------------
10180 # -------------------   DONNEES CACHEES -------------------------------------------
10181 # ---------------------------------------------------------------------------------
10182          VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT" ,"PORO","PGAZ","PCAP","ENDO","PVAP","PLIQ","PAD",) ),
10183                                              ) ,
10184 # =================================================================================
10185 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10186 # =================================================================================
10187                              THM_LIQU   = FACT(statut='o',
10188 # ---------------------------------------------------------------------------------
10189 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10190 # ---------------------------------------------------------------------------------
10191                                            RHO              = SIMP(statut='o',typ='R'),
10192                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10193                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10194                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10195 # ---------------------------------------------------------------------------------
10196 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10197 # ---------------------------------------------------------------------------------
10198                                            ALPHA            = SIMP(statut='f',typ='R'),
10199                                            CP               = SIMP(statut='f',typ='R'),
10200 # ---------------------------------------------------------------------------------
10201 # -------------------   DONNEES CACHEES -------------------------------------------
10202 # ---------------------------------------------------------------------------------
10203                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10204                                              ),
10205 # =================================================================================
10206 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10207 # =================================================================================
10208                              THM_GAZ    = FACT(statut='o',
10209 # ---------------------------------------------------------------------------------
10210 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10211 # ---------------------------------------------------------------------------------
10212                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10213                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10214                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10215 # ---------------------------------------------------------------------------------
10216 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10217 # ---------------------------------------------------------------------------------
10218                                            CP               = SIMP(statut='f',typ='R'),
10219 # ---------------------------------------------------------------------------------
10220 # -------------------   DONNEES CACHEES -------------------------------------------
10221 # ---------------------------------------------------------------------------------
10222                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10223                                              ),
10224 # =================================================================================
10225 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10226 # =================================================================================
10227                              THM_VAPE_GAZ = FACT(statut='o',
10228 # ---------------------------------------------------------------------------------
10229 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10230 # ---------------------------------------------------------------------------------
10231                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10232                                            CP               = SIMP(statut='o',typ='R'),
10233                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10234                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10235 # ---------------------------------------------------------------------------------
10236 # -------------------   DONNEES CACHEES -------------------------------------------
10237 # ---------------------------------------------------------------------------------
10238                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10239                                              ),
10240                                  ),
10241 # =================================================================================
10242 # --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ_VAPE -------------------------------------
10243 # =================================================================================
10244 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10245 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ THM_AIR_DISSOUS---------
10246 # =================================================================================
10247            b_liquadvape  = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ_VAPE' ",
10248                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ_VAPE",
10249 # =================================================================================
10250 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10251 # =================================================================================
10252                              THM_INIT   = FACT(statut='o',
10253 # ---------------------------------------------------------------------------------
10254 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10255 # ---------------------------------------------------------------------------------
10256                                            PRE1             = SIMP(statut='o',typ='R'),
10257                                            PRE2             = SIMP(statut='o',typ='R'),
10258                                            PORO             = SIMP(statut='o',typ='R'),
10259                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
10260 # ---------------------------------------------------------------------------------
10261 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10262 # ---------------------------------------------------------------------------------
10263                                            TEMP             = SIMP(statut='f',typ='R'),
10264 # ---------------------------------------------------------------------------------
10265 # -------------------   DONNEES INUTILES   ----------------------------------------
10266 # ---------------------------------------------------------------------------------
10267                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10268                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10269 # ---------------------------------------------------------------------------------
10270 # -------------------   DONNEE CACHEE ---------------------------------------------
10271 # ---------------------------------------------------------------------------------
10272                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 9.0,),
10273                                              ),
10274 # =================================================================================
10275 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10276 # =================================================================================
10277                              THM_DIFFU  = FACT(statut='o',
10278 # ---------------------------------------------------------------------------------
10279 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10280 # ---------------------------------------------------------------------------------
10281                                            R_GAZ            = SIMP(statut='o',typ='R'),
10282                                            RHO              = SIMP(statut='o',typ='R'),
10283                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10284                                            PESA_X           = SIMP(statut='o',typ='R'),
10285                                            PESA_Y           = SIMP(statut='o',typ='R'),
10286                                            PESA_Z           = SIMP(statut='o',typ='R'),
10287                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10288                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10289                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10290                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10291                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10292                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10293                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10294                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10295                                            FICKA_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10296 # ---------------------------------------------------------------------------------
10297 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10298 # ---------------------------------------------------------------------------------
10299                                            CP               = SIMP(statut='f',typ='R'),
10300                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10301                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10302                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10303                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10304                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10305                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10306                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10307                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10308                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10309                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10310                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10311                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10312                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10313                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10314 # ---------------------------------------------------------------------------------
10315 # -------------------   DONNEES FACULTATIVES   ------------------------------------
10316 # ---------------------------------------------------------------------------------
10317                                            EMMAG            = SIMP(statut='f',typ='R'),
10318                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10319                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10320                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10321                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10322                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10323                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10324                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10325                                            D_FV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10326                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10327 #
10328                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10329                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10330                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10331                                            D_FA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10332 # ---------------------------------------------------------------------------------
10333 # -------------------   DONNEES CACHEES -------------------------------------------
10334 # ---------------------------------------------------------------------------------
10335          VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO","PVAP","PLIQ","PAD",) ),
10336                                              ) ,
10337 # =================================================================================
10338 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10339 # =================================================================================
10340                              THM_LIQU   = FACT(statut='o',
10341 # ---------------------------------------------------------------------------------
10342 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10343 # ---------------------------------------------------------------------------------
10344                                            RHO              = SIMP(statut='o',typ='R'),
10345                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10346                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10347                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10348 # ---------------------------------------------------------------------------------
10349 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10350 # ---------------------------------------------------------------------------------
10351                                            ALPHA            = SIMP(statut='f',typ='R'),
10352                                            CP               = SIMP(statut='f',typ='R'),
10353                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10354                                            D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10355                                            LAMB_T    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10356                                            D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10357                                            LAMB_CT        = SIMP(statut='f',typ='R'),
10358 # ---------------------------------------------------------------------------------
10359 # -------------------   DONNEES CACHEES -------------------------------------------
10360 # ---------------------------------------------------------------------------------
10361                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10362                                              ),
10363 # =================================================================================
10364 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10365 # =================================================================================
10366                              THM_GAZ    = FACT(statut='o',
10367 # ---------------------------------------------------------------------------------
10368 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10369 # ---------------------------------------------------------------------------------
10370                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10371                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10372                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10373 # ---------------------------------------------------------------------------------
10374 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10375 # ---------------------------------------------------------------------------------
10376                                            CP               = SIMP(statut='f',typ='R'),
10377 # ---------------------------------------------------------------------------------
10378 # -------------------   DONNEES CACHEES -------------------------------------------
10379 # ---------------------------------------------------------------------------------
10380                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10381                                              ),
10382 # =================================================================================
10383 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10384 # =================================================================================
10385                              THM_VAPE_GAZ = FACT(statut='o',
10386 # ---------------------------------------------------------------------------------
10387 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10388 # ---------------------------------------------------------------------------------
10389                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10390                                            CP               = SIMP(statut='o',typ='R'),
10391                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10392                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10393 # ---------------------------------------------------------------------------------
10394 # -------------------   DONNEES CACHEES -------------------------------------------
10395 # ---------------------------------------------------------------------------------
10396                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10397                                              ),
10398 # =================================================================================
10399 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10400 # =================================================================================
10401                              THM_AIR_DISS = FACT(statut='o',
10402 # ---------------------------------------------------------------------------------
10403 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10404 # ---------------------------------------------------------------------------------
10405                                            CP               = SIMP(statut='o',typ='R'),
10406                                            COEF_HENRY       = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10407                                            VERI_P      = SIMP(statut='c',typ='TXM',defaut=("TEMP",),),
10408                                              ),
10409                                  ),
10410 # =================================================================================
10411 # --- LOI DE COUPLAGE DE TYPE LIQU_VAPE -------------------------------------------
10412 # =================================================================================
10413 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10414 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_VAPE_GAZ ---------------------------------
10415 # =================================================================================
10416            b_liquvape  = BLOC(condition = "COMP_THM == 'LIQU_VAPE' ",
10417                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE",
10418 # =================================================================================
10419 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10420 # =================================================================================
10421                              THM_INIT   = FACT(statut='o',
10422 # ---------------------------------------------------------------------------------
10423 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10424 # ---------------------------------------------------------------------------------
10425                                            PRE1             = SIMP(statut='o',typ='R'),
10426                                            PORO             = SIMP(statut='o',typ='R'),
10427                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
10428 # ---------------------------------------------------------------------------------
10429 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10430 # ---------------------------------------------------------------------------------
10431                                            TEMP             = SIMP(statut='f',typ='R'),
10432 # ---------------------------------------------------------------------------------
10433 # -------------------   DONNEES INUTILES   ----------------------------------------
10434 # ---------------------------------------------------------------------------------
10435                                            PRE2             = SIMP(statut='f',typ='R'),
10436                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10437                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10438 # ---------------------------------------------------------------------------------
10439 # -------------------   DONNEE CACHEE ---------------------------------------------
10440 # ---------------------------------------------------------------------------------
10441                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 3.0,),
10442                                              ),
10443 # =================================================================================
10444 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10445 # =================================================================================
10446                              THM_DIFFU  = FACT(statut='o',
10447 # ---------------------------------------------------------------------------------
10448 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10449 # ---------------------------------------------------------------------------------
10450                                            R_GAZ            = SIMP(statut='o',typ='R'),
10451                                            RHO              = SIMP(statut='o',typ='R'),
10452                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10453                                            PESA_X           = SIMP(statut='o',typ='R'),
10454                                            PESA_Y           = SIMP(statut='o',typ='R'),
10455                                            PESA_Z           = SIMP(statut='o',typ='R'),
10456                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10457                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10458                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10459                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10460                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10461                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10462                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10463 # ---------------------------------------------------------------------------------
10464 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10465 # ---------------------------------------------------------------------------------
10466                                            CP               = SIMP(statut='f',typ='R'),
10467                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10468                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10469                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10470                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10471                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10472                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10473                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10474                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10475                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10476                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10477                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10478                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10479                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10480                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10481 # ---------------------------------------------------------------------------------
10482 # -------------------   DONNEES INUTILES   ----------------------------------------
10483 # ---------------------------------------------------------------------------------
10484                                            EMMAG            = SIMP(statut='f',typ='R'),
10485                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10486                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10487                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10488                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10489                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10490                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10491                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10492                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10493                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10494                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10495                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10496                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10497                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10498                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10499                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10500 # ---------------------------------------------------------------------------------
10501 # -------------------   DONNEES CACHEES -------------------------------------------
10502 # ---------------------------------------------------------------------------------
10503             VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10504                                              ) ,
10505 # =================================================================================
10506 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10507 # =================================================================================
10508                              THM_LIQU   = FACT(statut='o',
10509 # ---------------------------------------------------------------------------------
10510 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10511 # ---------------------------------------------------------------------------------
10512                                            RHO              = SIMP(statut='o',typ='R'),
10513                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10514                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10515                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10516 # ---------------------------------------------------------------------------------
10517 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10518 # ---------------------------------------------------------------------------------
10519                                            ALPHA            = SIMP(statut='f',typ='R'),
10520                                            CP               = SIMP(statut='f',typ='R'),
10521 # ---------------------------------------------------------------------------------
10522 # -------------------   DONNEES CACHEES ---------------------------------------------
10523 # ---------------------------------------------------------------------------------
10524                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10525                                              ),
10526 # =================================================================================
10527 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10528 # =================================================================================
10529                              THM_VAPE_GAZ = FACT(statut='o',
10530 # ---------------------------------------------------------------------------------
10531 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10532 # ---------------------------------------------------------------------------------
10533                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10534                                            CP               = SIMP(statut='o',typ='R'),
10535                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10536                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10537 # ---------------------------------------------------------------------------------
10538 # -------------------   DONNEES CACHEES -------------------------------------------
10539 # ---------------------------------------------------------------------------------
10540                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10541                                              ),
10542 # =================================================================================
10543 # --- MOT-CLE INUTILE -------------------------------------------------------------
10544 # =================================================================================
10545            THM_GAZ         =FACT(statut='f',
10546              MASS_MOL        =SIMP(statut='f',typ='R'),
10547              CP              =SIMP(statut='f',typ='R'),
10548              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10549              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10550              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10551            ),
10552                                  ),
10553 # =================================================================================
10554            b_liqusatugat   = BLOC(condition = "COMP_THM == 'LIQU_SATU_GAT' ",
10555                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU_GAT",
10556            THM_LIQU        =FACT(statut='f',
10557              RHO             =SIMP(statut='o',typ='R'),
10558              UN_SUR_K        =SIMP(statut='f',typ='R'),
10559              ALPHA           =SIMP(statut='f',typ='R'),
10560              CP              =SIMP(statut='f',typ='R'),
10561              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10562              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10563              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10564              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10565              COEF_HENRY      =SIMP(statut='f',typ='R'),
10566              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10567            ),
10568            THM_GAZ         =FACT(statut='f',
10569              MASS_MOL        =SIMP(statut='f',typ='R'),
10570              CP              =SIMP(statut='f',typ='R'),
10571              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10572              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10573              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10574              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10575              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10576            ),
10577            THM_VAPE_GAZ    =FACT(statut='f',
10578              MASS_MOL        =SIMP(statut='f',typ='R'),
10579              CP              =SIMP(statut='f',typ='R'),
10580              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10581              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10582              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10583            ),
10584             THM_AIR_DISS = FACT(statut='f',
10585                             CP               = SIMP(statut='f',typ='R'),
10586                             COEF_HENRY       = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10587                             VERI_P      = SIMP(statut='c',typ='TXM',defaut=("TEMP",),),
10588                               ),
10589            THM_INIT        =FACT(statut='f',
10590              TEMP            =SIMP(statut='o',typ='R'),
10591              PRE1            =SIMP(statut='o',typ='R'),
10592              PRE2            =SIMP(statut='o',typ='R'),
10593              PORO            =SIMP(statut='o',typ='R'),
10594              PRES_VAPE       =SIMP(statut='o',typ='R'),
10595              DEGR_SATU       =SIMP(statut='f',typ='R'),
10596              PRES_ATMO       =SIMP(statut='f',typ='R'),
10597 # ---------------------------------------------------------------------------------
10598 # -------------------   DONNEE CACHEE ---------------------------------------------
10599 # ---------------------------------------------------------------------------------
10600              COMP_THM         = SIMP(statut='c',typ='R',defaut= 7.0,),
10601            ),
10602            THM_DIFFU       =FACT(statut='f',
10603              R_GAZ           =SIMP(statut='o',typ='R'),
10604              RHO             =SIMP(statut='f',typ='R'),
10605              CP              =SIMP(statut='f',typ='R'),
10606              BIOT_COEF       =SIMP(statut='f',typ='R'),
10607              SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10608              D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10609              PESA_X          =SIMP(statut='f',typ='R'),
10610              PESA_Y          =SIMP(statut='f',typ='R'),
10611              PESA_Z          =SIMP(statut='f',typ='R'),
10612              PERM_IN         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10613              PERM_END       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10614                           regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10615                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10616              PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10617              PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10618              PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10619              PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10620              D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10621              PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10622              D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10623              D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10624              FICK            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10625              D_FICK_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10626              D_FICK_GAZ_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10627              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10628              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10629              SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10630              D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10631              PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10632              CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10633              FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10634              FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10635              FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10636              FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10637              D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10638              D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10639              FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10640              FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10641              FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10642              FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10643              D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10644              VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10645            ),
10646            ),
10647            b_liqunsatgat   = BLOC(condition = "COMP_THM == 'LIQU_NSAT_GAT' ",
10648                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_NSAT_GAT",
10649            THM_LIQU        =FACT(statut='f',
10650              RHO             =SIMP(statut='o',typ='R'),
10651              UN_SUR_K        =SIMP(statut='f',typ='R'),
10652              ALPHA           =SIMP(statut='f',typ='R'),
10653              CP              =SIMP(statut='f',typ='R'),
10654              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10655              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10656              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10657              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10658              COEF_HENRY      =SIMP(statut='f',typ='R'),
10659              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10660            ),
10661            THM_GAZ         =FACT(statut='f',
10662              MASS_MOL        =SIMP(statut='f',typ='R'),
10663              CP              =SIMP(statut='f',typ='R'),
10664              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10665              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10666              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10667              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10668              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10669            ),
10670             THM_AIR_DISS = FACT(statut='f',
10671                             CP               = SIMP(statut='f',typ='R'),
10672                             COEF_HENRY       = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10673                               ),
10674            THM_VAPE_GAZ    =FACT(statut='f',
10675              MASS_MOL        =SIMP(statut='f',typ='R'),
10676              CP              =SIMP(statut='f',typ='R'),
10677              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10678              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10679              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10680            ),
10681            THM_INIT        =FACT(statut='f',
10682              TEMP            =SIMP(statut='o',typ='R'),
10683              PRE1            =SIMP(statut='o',typ='R'),
10684              PRE2            =SIMP(statut='o',typ='R'),
10685              PORO            =SIMP(statut='o',typ='R'),
10686              PRES_VAPE       =SIMP(statut='o',typ='R'),
10687              DEGR_SATU       =SIMP(statut='f',typ='R'),
10688              PRES_ATMO       =SIMP(statut='f',typ='R'),
10689 # ---------------------------------------------------------------------------------
10690 # -------------------   DONNEE CACHEE ---------------------------------------------
10691 # ---------------------------------------------------------------------------------
10692              COMP_THM         = SIMP(statut='c',typ='R',defaut= 8.0,),
10693            ),
10694            THM_DIFFU       =FACT(statut='f',
10695              R_GAZ           =SIMP(statut='o',typ='R'),
10696              RHO             =SIMP(statut='f',typ='R'),
10697              CP              =SIMP(statut='f',typ='R'),
10698              BIOT_COEF       =SIMP(statut='f',typ='R'),
10699              SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10700              D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10701              PESA_X          =SIMP(statut='f',typ='R'),
10702              PESA_Y          =SIMP(statut='f',typ='R'),
10703              PESA_Z          =SIMP(statut='f',typ='R'),
10704              PERM_IN         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10705              PERM_END       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10706                           regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10707                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10708              PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10709              PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10710              PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10711              PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10712              D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10713              PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10714              D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10715              D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10716              FICK            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10717              D_FICK_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10718              D_FICK_GAZ_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10719              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10720              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10721              SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10722              D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10723              PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10724              CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10725              FICKV_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10726              FICKV_PV        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10727              FICKV_PG        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10728              FICKV_S         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10729              D_FV_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10730              D_FV_PG         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10731              FICKA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10732              FICKA_PA        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10733              FICKA_PL        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10734              FICKA_S         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10735              D_FA_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10736              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10737            ),
10738            ),
10739 # courbes et coefficients associés à la fatigue et au dommage
10740 #
10741            FATIGUE         =FACT(statut='f',
10742              regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'),
10743                      PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'),
10744                      PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'),
10745                      ENSEMBLE('A_BASQUIN','BETA_BASQUIN'),
10746                      ENSEMBLE('A0','A1','A2','A3','SL'),
10747                      PRESENT_PRESENT('A0','E_REFE'),
10748                      ENSEMBLE('D0','TAU0'),),
10749              WOHLER          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10750              A_BASQUIN       =SIMP(statut='f',typ='R'),
10751              BETA_BASQUIN    =SIMP(statut='f',typ='R'),
10752              A0              =SIMP(statut='f',typ='R'),
10753              A1              =SIMP(statut='f',typ='R'),
10754              A2              =SIMP(statut='f',typ='R'),
10755              A3              =SIMP(statut='f',typ='R'),
10756              SL              =SIMP(statut='f',typ='R'),
10757              MANSON_COFFIN   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10758              E_REFE          =SIMP(statut='f',typ='R'),
10759              D0              =SIMP(statut='f',typ='R'),
10760              TAU0            =SIMP(statut='f',typ='R'),
10761              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("SIGM","EPSI",) ),
10762            ),
10763            DOMMA_LEMAITRE  =FACT(statut='f',
10764              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10765              EPSP_SEUIL      =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10766              EXP_S           =SIMP(statut='f',typ='R',val_min=0.0E0,defaut=1.0),
10767              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
10768            ),
10769            CISA_PLAN_CRIT  =FACT(statut='f',
10770              CRITERE       =SIMP(statut='o',typ='TXM',into=("MATAKE","DANG_VAN_MODI_AC","DANG_VAN_MODI_AV","DOMM_MAXI") ),
10771
10772              b_critere_matake =BLOC(condition="CRITERE=='MATAKE'",
10773                                     fr="Cisaillement plan critique  critère de matake",
10774                MATAKE_A         =SIMP(statut='o',typ='R'),
10775                MATAKE_B         =SIMP(statut='o',typ='R'),
10776                COEF_FLEX_TORS   =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
10777              ),
10778
10779              b_critere_dang_van =BLOC(condition="(CRITERE=='DANG_VAN_MODI_AC' or CRITERE=='DANG_VAN_MODI_AV')",
10780                                  fr="Critère de Dang Van modifié pour les cas amplitude constante et amplitude variable",
10781                D_VAN_A            =SIMP(statut='o',typ='R'),
10782                D_VAN_B            =SIMP(statut='o',typ='R'),
10783                COEF_CISA_TRAC     =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
10784              ),
10785
10786              b_crit_domm_maxi  =BLOC(condition="CRITERE=='DOMM_MAXI'",
10787                                       fr="Critère pour chargement non périodique : domm_maxi",
10788                DOMM_A             =SIMP(statut='o',typ='R'),
10789                DOMM_B             =SIMP(statut='o',typ='R'),
10790                COEF_CISA_TRAC     =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
10791              ),
10792            ),
10793 #
10794 # autres comportements ...
10795 #
10796            WEIBULL         =FACT(statut='f',
10797              M               =SIMP(statut='o',typ='R'),
10798              VOLU_REFE       =SIMP(statut='o',typ='R'),
10799              SIGM_REFE       =SIMP(statut='o',typ='R'),
10800              SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
10801            ),
10802            WEIBULL_FO      =FACT(statut='f',
10803              M               =SIMP(statut='o',typ='R'),
10804              VOLU_REFE       =SIMP(statut='o',typ='R'),
10805              SIGM_CNV        =SIMP(statut='o',typ='R'),
10806              SIGM_REFE       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10807              SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
10808              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
10809            ),
10810            NON_LOCAL       =FACT(statut='f',
10811              LONG_CARA       =SIMP(statut='o',typ='R'),
10812              COEF_RIGI_MINI  =SIMP(statut='f',typ='R'),
10813            ),
10814            RUPT_FRAG       =FACT(statut='f',
10815              GC              =SIMP(statut='o',typ='R'),
10816              SIGM_C          =SIMP(statut='f',typ='R'),
10817              SAUT_C          =SIMP(statut='f',typ='R'),
10818            ),
10819            RCCM            =FACT(statut='f',
10820              SY_02           =SIMP(statut='f',typ='R'),
10821              SM              =SIMP(statut='f',typ='R'),
10822              SU              =SIMP(statut='f',typ='R'),
10823              SC              =SIMP(statut='f',typ='R'),
10824              SH              =SIMP(statut='f',typ='R'),
10825              N_KE            =SIMP(statut='f',typ='R'),
10826              M_KE            =SIMP(statut='f',typ='R'),
10827            ),
10828            RCCM_FO         =FACT(statut='f',
10829              SY_02           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10830              SM              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10831              SU              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10832              S               =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10833              N_KE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10834              M_KE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10835              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
10836            ),
10837            LAIGLE          =FACT(statut='f',
10838              GAMMA_ULT       =SIMP(statut='o',typ='R'),
10839              GAMMA_E         =SIMP(statut='o',typ='R'),
10840              M_ULT           =SIMP(statut='o',typ='R'),
10841              M_E             =SIMP(statut='o',typ='R'),
10842              A_E             =SIMP(statut='o',typ='R'),
10843              M_PIC           =SIMP(statut='o',typ='R'),
10844              A_PIC           =SIMP(statut='o',typ='R'),
10845              ETA             =SIMP(statut='o',typ='R'),
10846              SIGMA_C         =SIMP(statut='o',typ='R'),
10847              GAMMA           =SIMP(statut='o',typ='R'),
10848              KSI             =SIMP(statut='o',typ='R'),
10849              GAMMA_CJS       =SIMP(statut='o',typ='R'),
10850              SIGMA_P1        =SIMP(statut='o',typ='R'),
10851              PA              =SIMP(statut='o',typ='R'),
10852            ),
10853            DRUCK_PRAGER  =FACT(statut='f',
10854              ALPHA           =SIMP(statut='o',typ='R'),
10855              SY              =SIMP(statut='o',typ='R'),
10856              P_ULTM          =SIMP(statut='o',typ='R'),
10857              ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")),
10858              b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'",
10859                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire",
10860                     H               =SIMP(statut='o',typ='R'),
10861                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 1.0,),
10862              ),
10863              b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'",
10864                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique",
10865                     SY_ULTM         =SIMP(statut='o',typ='R'),
10866                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 2.0,),
10867              ),
10868            ),
10869 ####  MONOCRISTAL
10870            
10871            ECOU_VISC1      =FACT(statut='f',
10872              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
10873              N               =SIMP(statut='o',typ='R'),
10874              K               =SIMP(statut='o',typ='R'),
10875              C               =SIMP(statut='o',typ='R'),
10876            ),
10877            ECOU_VISC2      =FACT(statut='f',
10878              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
10879              N               =SIMP(statut='o',typ='R'),
10880              K               =SIMP(statut='o',typ='R'),
10881              C               =SIMP(statut='o',typ='R'),
10882              D               =SIMP(statut='o',typ='R'),
10883              A               =SIMP(statut='o',typ='R'),
10884            ),
10885            ECOU_VISC3      =FACT(statut='f',
10886              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
10887              K               =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"),
10888              TAUMU           =SIMP(statut='o',typ='R',fr="Seuil d ecoulement, en unite de contraintes"),
10889              GAMMA0          =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale"),
10890              DELTAV          =SIMP(statut='o',typ='R',fr="Volume d activation"),
10891              DELTAG0         =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"),
10892            ),
10893            ECOU_PLAS1      =FACT(statut='f',
10894              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_PLAS",),),
10895              C               =SIMP(statut='o',typ='R'),
10896            ),
10897            ECRO_ISOT1      =FACT(statut='f',
10898              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),),
10899              R_0             =SIMP(statut='o',typ='R'),
10900              Q               =SIMP(statut='o',typ='R'),
10901              B               =SIMP(statut='o',typ='R'),
10902              H               =SIMP(statut='o',typ='R'),
10903            ),
10904            ECRO_ISOT2      =FACT(statut='f',
10905              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),),
10906              R_0             =SIMP(statut='o',typ='R'),
10907              Q1              =SIMP(statut='o',typ='R'),
10908              B1              =SIMP(statut='o',typ='R'),
10909              H               =SIMP(statut='o',typ='R'),
10910              Q2              =SIMP(statut='o',typ='R'),
10911              B2              =SIMP(statut='o',typ='R'),
10912            ),
10913            ECRO_CINE1      =FACT(statut='f',
10914              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),),
10915              D               =SIMP(statut='o',typ='R'),
10916            ),
10917            ECRO_CINE2      =FACT(statut='f',
10918              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),),
10919              D               =SIMP(statut='o',typ='R'),
10920              GM              =SIMP(statut='o',typ='R'),
10921              PM              =SIMP(statut='o',typ='R'),
10922              C               =SIMP(statut='o',typ='R'),
10923            ),
10924            
10925 ####  MONOCRISTAL
10926            
10927            DRUCK_PRAGER_FO  =FACT(statut='f',
10928              ALPHA           =SIMP(statut='o',typ=(fonction_sdaster,formule)),
10929              SY              =SIMP(statut='o',typ=(fonction_sdaster,formule)),
10930              P_ULTM          =SIMP(statut='o',typ=(fonction_sdaster,formule)),
10931              ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")),
10932              b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'",
10933                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire",
10934                     H               =SIMP(statut='o',typ=(fonction_sdaster,formule)),
10935                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 1.0,),
10936              ),
10937              b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'",
10938                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique",
10939                     SY_ULTM         =SIMP(statut='o',typ=(fonction_sdaster,formule)),
10940                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 2.0,),
10941              ),
10942            ),
10943            
10944            
10945            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
10946 )  ;
10947 #& MODIF COMMANDE  DATE 30/08/2004   AUTEUR NICOLAS O.NICOLAS 
10948 #            CONFIGURATION MANAGEMENT OF EDF VERSION
10949 # ======================================================================
10950 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
10951 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
10952 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
10953 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
10954 # (AT YOUR OPTION) ANY LATER VERSION.                                 
10955 #
10956 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
10957 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
10958 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
10959 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
10960 #
10961 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
10962 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
10963 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
10964 # ======================================================================
10965 DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene,
10966                       reentrant='n',
10967             UIinfo={"groupes":("Matrices/vecteurs",)},
10968          SOUS_STRUC      =FACT(statut='o',max='**',
10969            NOM             =SIMP(statut='o',typ='TXM' ),
10970            MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
10971            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
10972            TRANS           =SIMP(statut='f',typ='R',max=3),
10973          ),
10974          LIAISON         =FACT(statut='o',max='**',
10975            SOUS_STRUC_1    =SIMP(statut='o',typ='TXM' ),
10976            INTERFACE_1     =SIMP(statut='o',typ='TXM' ),
10977            SOUS_STRUC_2    =SIMP(statut='o',typ='TXM' ),
10978            INTERFACE_2     =SIMP(statut='o',typ='TXM' ),
10979            regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),
10980                    EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),),
10981            GROUP_MA_MAIT_1   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
10982            MAILLE_MAIT_1     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
10983            GROUP_MA_MAIT_2   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
10984            MAILLE_MAIT_2     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
10985            OPTION            =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ),
10986          ),
10987          VERIF           =FACT(statut='f',max='**',
10988 #  dans la doc U stop_erreur est obligatoire         
10989            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
10990            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
10991            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
10992          ),
10993          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
10994 )  ;
10995 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
10996 #            CONFIGURATION MANAGEMENT OF EDF VERSION
10997 # ======================================================================
10998 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
10999 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11000 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11001 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11002 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11003 #
11004 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11005 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11006 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11007 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11008 #
11009 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11010 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11011 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11012 # ======================================================================
11013 DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=   4,sd_prod=nappe_sdaster,
11014                 fr="Définition des valeurs d une fonction de deux variables réelles",
11015                 reentrant='n',
11016             UIinfo={"groupes":("Fonction",)},
11017          regles=(UN_PARMI('FONCTION','DEFI_FONCTION'),
11018                  EXCLUS('FONCTION','NOM_PARA_FONC',),
11019                  ENSEMBLE('NOM_PARA_FONC','DEFI_FONCTION'),),
11020          NOM_PARA        =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
11021          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),       
11022          PARA            =SIMP(statut='o',typ='R',max='**'),
11023          FONCTION        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
11024          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',into=("TEMP","INST","X","Y","Z","EPSI","FREQ",
11025                                                           "PULS","AMOR","EPAIS","SAT", "PGAZ","PCAP") ),
11026          DEFI_FONCTION   =FACT(statut='f',max='**',
11027            VALE            =SIMP(statut='o',typ='R',max='**'),
11028            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
11029            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11030            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11031          ),
11032          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
11033          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11034          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11035          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11036          VERIF           =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ),
11037          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11038 )  ;
11039 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11040 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11041 # ======================================================================
11042 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11043 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11044 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11045 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11046 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11047 #
11048 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11049 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11050 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11051 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11052 #
11053 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11054 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11055 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11056 # ======================================================================
11057 DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op=  73,sd_prod=obstacle_sdaster
11058                     ,fr="Définition d un obstacle plan perpendiculaire à une structure filaire",
11059                      reentrant='n',
11060             UIinfo={"groupes":("Modélisation",)},
11061          TYPE            =SIMP(statut='o',typ='TXM',defaut="CERCLE",
11062                              into=("CERCLE","PLAN_Y","PLAN_Z","DISCRET",
11063                              "BI_CERCLE","BI_PLAN_Y","BI_PLAN_Z","BI_CERC_INT",
11064                              "CRAYON_900","CRAYON_1300","GUID_A_CARTE_900",
11065                              "GUID_B_CARTE_900","GUID_C_CARTE_900",
11066                              "GUID_D_CARTE_900","GUID_E_CARTE_900",
11067                              "GUID_F_CARTE_900","GUID_A_CARTE_1300",
11068                              "GUID_B_CARTE_1300","GUID_C_CARTE_1300",
11069                              "GUID_D_CARTE_1300","GUID_E_CARTE_1300",
11070                              "GUID_F_CARTE_1300","GUID_A_CARSP_900",
11071                              "GUID_B_CARSP_900","GUID_C_CARSP_900",
11072                              "GUID_D_CARSP_900","GUID_E_CARSP_900",
11073                              "GUID_F_CARSP_900","GUID_A_CARSP_1300",
11074                              "GUID_B_CARSP_1300","GUID_C_CARSP_1300",
11075                              "GUID_D_CARSP_1300","GUID_E_CARSP_1300",
11076                              "GUID_F_CARSP_1300","GUID_A_GCONT_900",
11077                              "GUID_B_GCONT_900","GUID_C_GCONT_900",
11078                              "GUID_D_GCONT_900","GUID_E_GCONT_900",
11079                              "GUID_F_GCONT_900","GUID_A_GCONT_1300",
11080                              "GUID_B_GCONT_1300","GUID_C_GCONT_1300",
11081                              "GUID_D_GCONT_1300","GUID_E_GCONT_1300",
11082                              "GUID_F_GCONT_1300","GUID_A_GCOMB_900",
11083                              "GUID_B_GCOMB_900","GUID_C_GCOMB_900",
11084                              "GUID_D_GCOMB_900","GUID_E_GCOMB_900",
11085                              "GUID_F_GCOMB_900","GUID_A_GCOMB_1300",
11086                              "GUID_B_GCOMB_1300","GUID_C_GCOMB_1300",
11087                              "GUID_D_GCOMB_1300","GUID_E_GCOMB_1300",
11088                              "GUID_F_GCOMB_1300",) ),
11089          VALE            =SIMP(statut='f',typ='R',max='**'),
11090          VERIF           =SIMP(statut='f',typ='TXM',defaut="FERME"),
11091 )  ;
11092 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11093 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11094 # ======================================================================
11095 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11096 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11097 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11098 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11099 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11100 #
11101 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11102 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11103 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11104 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11105 #
11106 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11107 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11108 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11109 # ======================================================================
11110 # RESPONSABLE GNICOLAS G.NICOLAS
11111 DEFI_PARA_SENSI=OPER(nom="DEFI_PARA_SENSI",op=   2,sd_prod=para_sensi,
11112                     fr="Définition d'un paramètre de sensibilité",
11113                     ang="Definition of a sensitive parameter",
11114                     reentrant='n',
11115             UIinfo={"groupes":("Fonction",)},
11116          NOM_RESU        =SIMP(statut='c',typ='TXM',into=("TOUTRESU",),defaut="TOUTRESU",
11117                                fr="Nom du concept créé",
11118                                ang="Name of the concept"),
11119          VALE            =SIMP(statut='o',typ='R',
11120                                fr="Valeur du parametre",
11121                                ang="Value of the parameter"),
11122          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11123 )  ;
11124 #& MODIF COMMANDE  DATE 15/11/2004   AUTEUR ASSIRE A.ASSIRE 
11125 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11126 # ======================================================================
11127 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
11128 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
11129 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
11130 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
11131 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
11132 #                                                                       
11133 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
11134 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
11135 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
11136 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
11137 #                                                                       
11138 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
11139 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
11140 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
11141 # ======================================================================
11142 # RESPONSABLE BOITEAU O.BOITEAU
11143
11144 from Macro.defi_part_feti_ops import defi_part_feti_ops
11145
11146 DEFI_PART_FETI=MACRO(nom="DEFI_PART_FETI",op=defi_part_feti_ops,sd_prod=sd_feti_sdaster,
11147                      reentrant='n',
11148                      fr="Creation partitionnement en sous-domaines pour FETI",
11149          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
11150          MODELE          =SIMP(statut='f',typ=modele_sdaster),
11151          NB_PART         =SIMP(statut='o',typ='I'),
11152          EXCIT           =FACT(statut='f',max='**',
11153            CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),),
11154          METHODE         =SIMP(statut='o',typ='TXM',into=("PMETIS","KMETIS","AUTRE",), defaut="PMETIS" ),
11155          b_methode       =BLOC(condition="METHODE == 'AUTRE'", fr="Autre logiciel",
11156              LOGICIEL        =SIMP(statut='f',typ='TXM'),
11157              ),
11158          NOM_GROUP_MA    =SIMP(statut='f',typ='TXM',defaut='SD' ),
11159          INFO            =SIMP(statut='f',typ='I',into=(1, 2, 3, 4,5), defaut=1),
11160 );
11161 #& MODIF COMMANDE  DATE 08/11/2004   AUTEUR ASSIRE A.ASSIRE 
11162 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11163 # ======================================================================
11164 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
11165 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
11166 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
11167 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
11168 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
11169 #                                                                       
11170 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
11171 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
11172 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
11173 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
11174 #                                                                       
11175 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
11176 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
11177 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
11178 # ======================================================================
11179 # RESPONSABLE ASSIRE A.ASSIRE
11180
11181 DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_feti_sdaster,
11182                     fr="Creation partitionnement en sous-domaines pour FETI",
11183                     docu="U4.23.05",reentrant='n',
11184                     UIinfo={"groupes":("Résolution",)},
11185          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
11186          NOM             =SIMP(statut='f',typ='TXM',defaut='SD'),
11187          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ),
11188
11189          DEFI          =FACT(statut='f',max='**',
11190            GROUP_MA        =SIMP(statut='o',typ=grma),
11191            GROUP_MA_BORD   =SIMP(statut='f',typ=grma),
11192          ),
11193          EXCIT           =FACT(statut='f',max='**',
11194            CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
11195          ),
11196 );
11197 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
11198 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11199 # ======================================================================
11200 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11201 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11202 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11203 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11204 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11205 #
11206 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11207 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11208 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11209 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11210 #
11211 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11212 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11213 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11214 # ======================================================================
11215 DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster,
11216                     fr="Définition d'un spectre d'excitation turbulente",
11217                     reentrant='n',
11218             UIinfo={"groupes":("Modélisation",)},
11219          regles=(UN_PARMI('SPEC_LONG_COR_1','SPEC_LONG_COR_2','SPEC_LONG_COR_3',
11220                           'SPEC_LONG_COR_4','SPEC_CORR_CONV_1','SPEC_CORR_CONV_2',
11221                           'SPEC_FONC_FORME','SPEC_EXCI_POINT'),),
11222          SPEC_LONG_COR_1 =FACT(statut='f',
11223            LONG_COR        =SIMP(statut='o',typ='R' ),
11224            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11225            VISC_CINE       =SIMP(statut='o',typ='R' ),
11226          ),
11227          SPEC_LONG_COR_2 =FACT(statut='f',
11228            regles=(ENSEMBLE('FREQ_COUP','PHI0','BETA' ),),
11229            LONG_COR        =SIMP(statut='o',typ='R' ),
11230            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11231            FREQ_COUP       =SIMP(statut='f',typ='R',defaut= 0.1 ),
11232            PHI0            =SIMP(statut='f',typ='R',defaut= 1.5E-3 ),
11233            BETA            =SIMP(statut='f',typ='R',defaut= 2.7 ),
11234          ),
11235          SPEC_LONG_COR_3 =FACT(statut='f',
11236            regles=(ENSEMBLE('PHI0_1','BETA_1','PHI0_2','BETA_2','FREQ_COUP'),),
11237            LONG_COR        =SIMP(statut='o',typ='R' ),
11238            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11239            FREQ_COUP       =SIMP(statut='f',typ='R',defaut= 0.2 ),
11240            PHI0_1          =SIMP(statut='f',typ='R',defaut= 5.E-3 ),
11241            BETA_1          =SIMP(statut='f',typ='R',defaut= 0.5 ),
11242            PHI0_2          =SIMP(statut='f',typ='R',defaut= 4.E-5 ),
11243            BETA_2          =SIMP(statut='f',typ='R',defaut= 3.5 ),
11244          ),
11245          SPEC_LONG_COR_4 =FACT(statut='f',
11246            regles=(ENSEMBLE('BETA','GAMMA'),),
11247            LONG_COR        =SIMP(statut='o',typ='R' ),
11248            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11249            TAUX_VIDE       =SIMP(statut='o',typ='R' ),
11250            BETA            =SIMP(statut='f',typ='R',defaut= 2. ),
11251            GAMMA           =SIMP(statut='f',typ='R',defaut= 4. ),
11252          ),
11253          SPEC_CORR_CONV_1=FACT(statut='f',
11254            LONG_COR_1      =SIMP(statut='o',typ='R' ),
11255            LONG_COR_2      =SIMP(statut='f',typ='R' ),
11256            VITE_FLUI       =SIMP(statut='o',typ='R' ),
11257            RHO_FLUI        =SIMP(statut='o',typ='R' ),
11258            FREQ_COUP       =SIMP(statut='f',typ='R' ),
11259            K               =SIMP(statut='f',typ='R',defaut= 5.8E-3 ),
11260            D_FLUI          =SIMP(statut='o',typ='R' ),
11261            COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
11262            COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
11263            METHODE         =SIMP(statut='f',typ='TXM',defaut="GENERALE",
11264                                  into=("AU_YANG","GENERALE","CORCOS") ),
11265          ),
11266          SPEC_CORR_CONV_2=FACT(statut='f',
11267            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11268            VITE_FLUI       =SIMP(statut='o',typ='R' ),
11269            FREQ_COUP       =SIMP(statut='f',typ='R' ),
11270            METHODE         =SIMP(statut='f',typ='TXM',defaut="GENERALE",
11271                                  into=("AU_YANG","GENERALE","CORCOS",) ),
11272            COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
11273            COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
11274          ),
11275          SPEC_FONC_FORME =FACT(statut='f',
11276            regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'),
11277                    ENSEMBLE('INTE_SPEC','FONCTION'),),
11278            INTE_SPEC       =SIMP(statut='f',typ=tabl_intsp ),
11279            FONCTION        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
11280            GRAPPE_1        =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ),
11281            NOEUD           =SIMP(statut='o',typ=no),
11282            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
11283            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
11284          ),
11285          SPEC_EXCI_POINT =FACT(statut='f',
11286            regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),),
11287            INTE_SPEC       =SIMP(statut='f',typ=tabl_intsp ),
11288            GRAPPE_2        =SIMP(statut='f',typ='TXM',
11289                                  into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC",) ),
11290 #  Quels sont les statuts des mots cles à l interieur des deux blocs qui suivent
11291            b_inte_spec =BLOC(condition = "INTE_SPEC != None",
11292              NATURE          =SIMP(statut='o',typ='TXM',max='**',into=("FORCE","MOMENT",) ),
11293              ANGL            =SIMP(statut='o',typ='R',max='**'),
11294              NOEUD           =SIMP(statut='o',typ=no,max='**'),
11295            ),
11296            b_grappe_2      =BLOC(condition = "GRAPPE_2 != None",
11297              RHO_FLUI        =SIMP(statut='o',typ='R' ),
11298              NOEUD           =SIMP(statut='o',typ=no),
11299            ),
11300            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
11301            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
11302          ),
11303          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11304 )  ;
11305 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11306 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11307 # ======================================================================
11308 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11309 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11310 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11311 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11312 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11313 #
11314 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11315 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11316 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11317 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11318 #
11319 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11320 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11321 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11322 # ======================================================================
11323 DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette,
11324                     fr="Définition d un maillage de visualisation",
11325                     reentrant='n',
11326             UIinfo={"groupes":("Maillage",)},
11327          regles=(UN_PARMI('MODE_CYCL','MODELE_GENE','MAILLAGE'),
11328                  PRESENT_PRESENT('MODE_CYCL','SECTEUR'),
11329                  EXCLUS('SOUS_STRUC','SECTEUR'),
11330                  PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'),
11331                  PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),),
11332          MODE_CYCL       =SIMP(statut='f',typ=mode_cycl ),
11333          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
11334          SQUELETTE       =SIMP(statut='f',typ=squelette ),
11335          RECO_GLOBAL     =FACT(statut='f',max='**',
11336            regles=(EXCLUS('TOUT','GROUP_NO_1'),
11337                    PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'),
11338                    PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'),
11339                    PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'),
11340                    PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),),
11341            TOUT            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ),
11342            GROUP_NO_1      =SIMP(statut='f',typ=grno),
11343            SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
11344            GROUP_NO_2      =SIMP(statut='f',typ=grno),
11345            SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
11346            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
11347            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11348            DIST_REFE       =SIMP(statut='f',typ='R' ),
11349          ),
11350          NOM_GROUP_MA    =FACT(statut='f',max='**',
11351            NOM             =SIMP(statut='o',typ='TXM' ),
11352            SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
11353            GROUP_MA        =SIMP(statut='o',typ=grma),
11354          ),
11355          EXCLUSIF        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
11356          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
11357          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11358          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11359          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11360          TRANS           =SIMP(statut='f',typ='R',min=3,max=3),
11361          ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),
11362          SOUS_STRUC      =FACT(statut='f',max='**',
11363            NOM             =SIMP(statut='f',typ='TXM' ),
11364            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11365            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11366            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11367          ),
11368          SECTEUR         =FACT(statut='f',max='**',
11369            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11370            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11371            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11372          ),
11373          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11374 )  ;
11375 #& MODIF COMMANDE  DATE 22/11/2004   AUTEUR JMBHH01 J.M.PROIX 
11376 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11377 # ======================================================================
11378 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11379 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11380 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11381 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11382 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11383 #
11384 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11385 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11386 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11387 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11388 #
11389 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11390 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11391 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11392 # ======================================================================
11393 DEFI_TEXTURE=OPER(nom="DEFI_TEXTURE",op= 181,sd_prod=tabl_texture,
11394                   fr=" ",reentrant='n',
11395             UIinfo={"groupes":("Modélisation",)},
11396          SYST_GLISSEMENT =FACT(statut='o',min=3,max=3,
11397            N               =SIMP(statut='o',typ='R',min=12,max=12 ),  
11398            L               =SIMP(statut='o',typ='R',max='**' ),  
11399          ),
11400          PLAN            =FACT(statut='o',min=1,max=40,
11401            ANGL_NAUT       =SIMP(statut='o',typ='R',max='**' ),  
11402            PROPORTION      =SIMP(statut='o',typ='R' ),  
11403          ),
11404          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
11405 )  ;
11406 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11407 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11408 # ======================================================================
11409 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11410 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11411 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11412 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11413 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11414 #
11415 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11416 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11417 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11418 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11419 #
11420 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11421 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11422 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11423 # ======================================================================
11424 DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction_sdaster,reentrant='n',
11425             UIinfo={"groupes":("Outils métier",)},
11426                     fr="Calculer la fonction d évolution temporelle de température due à l effet JOULE dans un cable",
11427          LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
11428          INST_CC_INIT    =SIMP(statut='f',typ='R',defaut= 0.0E+0 ),
11429          INST_CC_FIN     =SIMP(statut='f',typ='R',defaut= 1.0E+10),
11430          INST_RENC_INIT  =SIMP(statut='f',typ='R',defaut= 1.0E+10),
11431          INST_RENC_FIN   =SIMP(statut='f',typ='R',defaut= 1.0E+10),
11432          TEMP_EXT_POSE   =SIMP(statut='f',typ='R',defaut= 15.0E+0),
11433          TEMP_EXT        =SIMP(statut='f',typ='R',defaut= 15.0E+0),
11434          TEMP_RESI_REF   =SIMP(statut='f',typ='R',defaut= 20.0E+0),
11435          PARA_COND_1D    =FACT(statut='f',max='**',
11436            INTE_CC         =SIMP(statut='f',typ='R',defaut= 0.0E+0),
11437            INTE_RENC       =SIMP(statut='f',typ='R',defaut= 0.0E+0),
11438            A               =SIMP(statut='f',typ='R',defaut= 1.0E+0),
11439            SECTION         =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE",) ),
11440            RESI_R0         =SIMP(statut='f',typ='R',defaut= 0.0E+0),
11441            RESI_R1         =SIMP(statut='f',typ='R',defaut= 0.E+0),
11442            RHO_CP          =SIMP(statut='f',typ='R',defaut= 1.0E+0),
11443            COEF_H          =SIMP(statut='f',typ='R',defaut= 40.0E+0),
11444            TEMP_INIT       =SIMP(statut='f',typ='R',defaut= 15.0E+0),
11445          ),
11446 )  ;
11447
11448 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11449 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11450 # ======================================================================
11451 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11452 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11453 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11454 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11455 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11456 #
11457 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11458 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11459 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11460 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11461 #
11462 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11463 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11464 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11465 # ======================================================================
11466 DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=tabl_trc,reentrant='n',
11467             UIinfo={"groupes":("Modélisation",)},
11468               fr="Définition d un diagramme de transformations en refroidissement continu d un acier",
11469          HIST_EXP        =FACT(statut='o',max='**',
11470            VALE            =SIMP(statut='o',typ='R',max='**'),
11471          ),
11472          TEMP_MS         =FACT(statut='o',max='**',
11473            SEUIL           =SIMP(statut='o',typ='R'),
11474            AKM             =SIMP(statut='o',typ='R'),
11475            BKM             =SIMP(statut='o',typ='R'),
11476            TPLM            =SIMP(statut='o',typ='R'),
11477          ),
11478          GRAIN_AUST      =FACT(statut='f',max='**',
11479            DREF           =SIMP(statut='f',typ='R'),
11480            A              =SIMP(statut='f',typ='R'),
11481          ),
11482 )  ;
11483 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11484 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11485 # ======================================================================
11486 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11487 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11488 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11489 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11490 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11491 #
11492 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11493 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11494 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11495 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11496 #
11497 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11498 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11499 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11500 # ======================================================================
11501 DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=cham_no_depl_r,reentrant='n',
11502             UIinfo={"groupes":("Matrices/vecteurs",)},
11503                   fr="Récupération du champ de déplacement interne à une sous-structure",
11504          DEPL_GLOBAL     =SIMP(statut='o',typ=cham_no_depl_r),
11505          MAILLE          =SIMP(statut='o',typ=ma,),
11506          NOM_CAS         =SIMP(statut='f',typ='TXM',defaut=" "),
11507 )  ;
11508 #& MODIF COMMANDE  DATE 03/11/2004   AUTEUR MCOURTOI M.COURTOIS 
11509 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11510 # ======================================================================
11511 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11512 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11513 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11514 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11515 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11516 #
11517 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11518 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11519 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11520 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11521 #
11522 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11523 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11524 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11525 # ======================================================================
11526 DETRUIRE=PROC(nom="DETRUIRE",op=-7,
11527             UIinfo={"groupes":("Gestion du travail",)},
11528               fr="Destruction d un concept utilisateur dans la base GLOBALE",
11529              op_init=ops.detruire,
11530              regles=(UN_PARMI('CONCEPT','OBJET',),), 
11531             CONCEPT     =FACT(statut='f',max='**',
11532                 NOM         =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),
11533             ),
11534             OBJET  =FACT(statut='f',max='**',
11535                CLASSE      =SIMP(statut='f',typ='TXM',into=('G','V','L'),defaut='G'),  
11536                CHAINE      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
11537                POSITION    =SIMP(statut='f',typ='I'  ,max='**'),
11538             ),
11539             ALARME        =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI',),
11540             INFO          =SIMP(statut='f',typ='I',into=(1,2),defaut=2, ),           
11541 );
11542 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11543 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11544 # ======================================================================
11545 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11546 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11547 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11548 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11549 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11550 #
11551 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11552 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11553 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11554 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11555 #
11556 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11557 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11558 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11559 # ======================================================================
11560 DIST_LIGN_3D=OPER(nom="DIST_LIGN_3D",op= 133,sd_prod=fonction_sdaster,reentrant='n', 
11561             UIinfo={"groupes":("Outils métier",)},
11562                   fr="Calcul sous forme d une fonction du temps de la distance minimale entre deux structures filaires",
11563       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),
11564               UN_PARMI('GROUP_MA_2','POIN_FIXE'),),
11565          MODELE          =SIMP(statut='o',typ=modele_sdaster),
11566          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,evol_noli) ),
11567          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",)),
11568          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
11569          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
11570          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
11571          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
11572          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
11573          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11574          GROUP_MA_1      =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
11575          GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11576          POIN_FIXE       =SIMP(statut='f',typ='R',min=3,max=3),
11577          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
11578 )  ;
11579 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11580 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11581 # ======================================================================
11582 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11583 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11584 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11585 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11586 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11587 #
11588 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11589 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11590 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11591 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11592 #
11593 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11594 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11595 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11596 # ======================================================================
11597 DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=tabl_intsp
11598                     ,fr="Calcule la réponse spectrale d une structure linéaire sous une excitation connue par sa DSP",
11599                      reentrant='n',
11600             UIinfo={"groupes":("Résolution",)},
11601          BASE_MODALE     =FACT(statut='o',
11602            regles=(UN_PARMI('NUME_ORDRE','BANDE'),),
11603            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
11604            BANDE           =SIMP(statut='f',typ='R',validators=NoRepeat(),max=2),
11605            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
11606            b_bande =BLOC(condition = "BANDE != None",
11607              AMOR_UNIF       =SIMP(statut='o',typ='R' ),
11608            ),
11609            b_nume_ordre =BLOC(condition = "NUME_ORDRE != None",
11610              AMOR_REDUIT     =SIMP(statut='o',typ='R',max='**'),
11611            ),
11612          ),
11613          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
11614 # MODE_STAT devrait etre dans EXCIT car est utile et obligatoire que si NOM_CMP=depl_r, on pourrait
11615 # ainsi rajouter un bloc du genre  b_mod_stat= BLOC(condition = "(GRANDEUR == None) or (GRANDEUR == 'DEPL_R')",        
11616          EXCIT           =FACT(statut='o',
11617            INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
11618            NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
11619            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG",) ),
11620            MODAL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
11621            b_modal_non = BLOC(condition = "(MODAL == None) or (MODAL == 'NON')",           
11622              regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I'),),
11623              NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**'),
11624              NOEUD_I         =SIMP(statut='f',typ=no,max='**'),
11625              b_nume_ordre_i  =BLOC(condition = "NUME_ORDRE_I != None",
11626                regles=(EXCLUS('CHAM_NO','NOEUD'),),
11627 # on devrait rajouter EXCLUS('GRANDEUR','CHAM_NO') pour eviter ambiguite car CHAM_NO => GRANDEUR='EFFO'
11628 # cela impliquerait d'enlever la valeur par defaut a GRANDEUR            
11629                NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**'),
11630                CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
11631                NOEUD           =SIMP(statut='f',typ=no,max='**'),
11632                b_noeud         =BLOC(condition = "NOEUD != None",
11633                   NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
11634                 ),  
11635                GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
11636                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
11637 # que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP  
11638                DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
11639              ),           
11640              b_noeud_i       =BLOC(condition = "NOEUD_I != None",
11641                NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
11642                NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**'),
11643                NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**'),
11644                NOEUD           =SIMP(statut='o',typ=no,max='**'),
11645                NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
11646 # ne serait-il pas bien que NOEUD et NOM_CMP soient facultatifs, car l'information peut etre contenue dans
11647 # NOEUD_I, NOM_CMP_I ...  => modif. du Fortran
11648                GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
11649                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
11650 # que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP_I  
11651                DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
11652              ),
11653            ),  
11654            b_modal_oui = BLOC(condition = "(MODAL == 'OUI')",
11655 # dans ce cas, y-a-t-il vraiment la possibilite d'une matrice interspectrale avec plusieurs termes
11656              NUME_ORDRE_I    =SIMP(statut='o',typ='I',max='**'),
11657              NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**'),
11658              GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
11659                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
11660              DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
11661 # dans le cas MODAL=OUI, GRANDEUR peut-il etre different de EFFO et doit il etre impose a EFFO   On devrait
11662 # pouvoir supprimer GRANDEUR et DERIVATION ici   
11663            ),  
11664                     
11665          ),
11666          REPONSE         =FACT(statut='f',
11667            regles=( ENSEMBLE('FREQ_MIN','FREQ_MAX'),),
11668            DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ,) ),
11669            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
11670            FREQ_MIN        =SIMP(statut='f',typ='R' ),
11671            FREQ_MAX        =SIMP(statut='f',typ='R' ),
11672            PAS             =SIMP(statut='f',typ='R' ),
11673            b_defaut_freq   =BLOC(condition = "FREQ_MIN == NONE",
11674               FREQ_EXCIT      =SIMP(statut='f',typ='TXM',defaut="AVEC",into=("AVEC","SANS") ),
11675               NB_POIN_MODE    =SIMP(statut='f',typ='I',defaut= 50 ),
11676            ),
11677          ),
11678          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11679          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11680 )  ;
11681 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
11682 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11683 # ======================================================================
11684 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11685 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11686 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11687 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11688 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11689 #
11690 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11691 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11692 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11693 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11694 #
11695 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11696 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11697 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11698 # ======================================================================
11699 def dyna_line_harm_prod(MATR_MASS,**args):
11700   if AsType(MATR_MASS) == matr_asse_depl_r : return dyna_harmo
11701   if AsType(MATR_MASS) == matr_asse_depl_c : return dyna_harmo
11702   if AsType(MATR_MASS) == matr_asse_pres_c : return acou_harmo
11703   if AsType(MATR_MASS) == matr_asse_gene_r : return harm_gene
11704   raise AsException("type de concept resultat non prevu")
11705
11706 DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
11707                     fr="Réponse dynamique complexe d un système à une excitation harmonique",
11708                     reentrant='n',
11709             UIinfo={"groupes":("Résolution",)},
11710          regles=(PRESENT_ABSENT('AMOR_REDUIT','MATR_AMOR'),
11711                  PRESENT_ABSENT('AMOR_REDUIT','LIST_AMOR'),
11712                  PRESENT_ABSENT('MATR_AMOR','LIST_AMOR'),
11713                  UN_PARMI('FREQ','LIST_FREQ'),),
11714          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
11715          CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
11716          CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
11717          MATR_MASS       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ),
11718          MATR_RIGI       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c
11719                                               ,matr_asse_gene_r,matr_asse_gene_c ) ),
11720          MATR_AMOR       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ),
11721          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
11722          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
11723          MATR_IMPE_PHI   =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
11724          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
11725          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
11726          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",)),
11727          NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ),
11728          EXCIT           =FACT(statut='o',max='**',
11729            regles=(UN_PARMI('VECT_ASSE','CHARGE'),
11730                    UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
11731            VECT_ASSE       =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_pres_c,vect_asse_gene ) ),
11732            CHARGE          =SIMP(statut='f',typ=char_meca ),
11733            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
11734            FONC_MULT_C     =SIMP(statut='f',typ=fonction_c ),
11735            COEF_MULT_C     =SIMP(statut='f',typ='C' ),
11736            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11737            COEF_MULT       =SIMP(statut='f',typ='R' ),
11738            PHAS_DEG        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
11739            PUIS_PULS       =SIMP(statut='f',typ='I',defaut= 0 ),
11740          ),
11741          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11742          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
11743                                fr="Liste des paramètres de sensibilité.",
11744                                ang="List of sensitivity parameters"),
11745 )  ;
11746 # Rajouter test icompatibilite vect_asse et sensibilite
11747 # Peut-on aussi rajouter ici le test d incompatibilite charge complexe - derivation 
11748 #  presents dans le Fortran          
11749 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
11750 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11751 # ======================================================================
11752 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11753 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11754 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11755 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11756 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11757 #
11758 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11759 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11760 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11761 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11762 #
11763 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11764 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11765 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11766 # ======================================================================
11767 DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
11768                     fr="Réponse temporelle d un système à une excitation transitoire",
11769                     reentrant='f',
11770             UIinfo={"groupes":("Résolution",)},
11771 #         regles=(UN_PARMI('WILSON','DIFF_CENTRE','ADAPT'),),
11772          regles=(UN_PARMI('NEWMARK','WILSON','DIFF_CENTRE','ADAPT'),),
11773          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
11774          CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
11775          CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
11776          MATR_MASS       =SIMP(statut='o',typ=matr_asse_depl_r ),
11777          MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
11778          MATR_AMOR       =SIMP(statut='f',typ=matr_asse_depl_r ),
11779          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
11780          NEWMARK         =FACT(statut='f',
11781            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25 ),
11782            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5 ),
11783          ),
11784          WILSON          =FACT(statut='f',
11785            THETA           =SIMP(statut='f',typ='R',defaut= 1.4 ),
11786          ),
11787          DIFF_CENTRE     =FACT(statut='f',
11788          ),
11789          ADAPT           =FACT(statut='f',
11790          ),
11791          ETAT_INIT       =FACT(statut='f',
11792            regles=(AU_MOINS_UN('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT',),
11793                    PRESENT_ABSENT('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT'),),
11794            DYNA_TRANS      =SIMP(statut='f',typ=dyna_trans ),
11795            b_dyna_trans    =BLOC(condition = "DYNA_TRANS != None",
11796              regles=(EXCLUS('NUME_INIT','INST_INIT' ),),
11797              NUME_INIT       =SIMP(statut='f',typ='I' ),
11798              INST_INIT       =SIMP(statut='f',typ='R' ),
11799              b_inst_init     =BLOC(condition = "INST_INIT != None",
11800                PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
11801                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11802              ),
11803            ),
11804            DEPL_INIT       =SIMP(statut='f',typ=(cham_no_depl_r) ),
11805            VITE_INIT       =SIMP(statut='f',typ=(cham_no_depl_r) ),
11806          ),
11807          EXCIT           =FACT(statut='f',max='**',
11808            regles=(UN_PARMI('CHARGE','VECT_ASSE'),
11809                    EXCLUS('CHARGE','COEF_MULT'),
11810                    EXCLUS('FONC_MULT','COEF_MULT'),
11811                    EXCLUS('ACCE','COEF_MULT'),
11812                    PRESENT_ABSENT('ACCE','FONC_MULT'),
11813                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
11814                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
11815                    ),
11816            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
11817            CHARGE          =SIMP(statut='f',typ=char_meca ),
11818            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11819            COEF_MULT       =SIMP(statut='f',typ='R' ),
11820            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
11821            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11822            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11823            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11824            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
11825            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
11826            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
11827            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
11828          ),
11829          AMOR_MODAL      =FACT(statut='f',
11830            MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
11831            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
11832            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
11833            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
11834          ),
11835 #  ce n est pas le mot clesolveur standard
11836          SOLVEUR         =FACT(statut='d',
11837            NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
11838            STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
11839            RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
11840            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
11841          ),
11842          INCREMENT       =FACT(statut='o',max='**',
11843            regles=(UN_PARMI('LIST_INST','FONC_INST','PAS'),),
11844            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ), 
11845            FONC_INST       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),       
11846            PAS             =SIMP(statut='f',typ='R' ),
11847            b_pas           =BLOC(condition = "PAS != None",
11848                INST_INIT       =SIMP(statut='f',typ='R' ),
11849                INST_FIN        =SIMP(statut='f',typ='R' ),    
11850            ),
11851            b_list_fonc     =BLOC(condition = "LIST_INST != None or FONC_INST != None",
11852                regles=(EXCLUS('INST_FIN','NUME_FIN'),),
11853                NUME_FIN        =SIMP(statut='f',typ='I' ), 
11854                INST_FIN        =SIMP(statut='f',typ='R' ),   
11855            ),
11856            VITE_MIN        =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
11857            COEF_MULT_PAS   =SIMP(statut='f',typ='R',defaut= 1.1 ),
11858            COEF_DIVI_PAS   =SIMP(statut='f',typ='R',defaut= 1.33334 ),
11859            PAS_LIMI_RELA   =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
11860            NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
11861            NMAX_ITER_PAS   =SIMP(statut='f',typ='I',defaut= 16 ),
11862            PAS_CALCUL      =SIMP(statut='f',typ='I',defaut= 1 ),
11863          ),
11864          ARCHIVAGE       =FACT(statut='f',
11865            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH', ),),
11866            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster ),
11867            PAS_ARCH        =SIMP(statut='f',typ='I' ),
11868            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ),
11869          ),
11870          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
11871                                fr="Liste des param\350tres de sensibilit\351.",
11872                                ang="List of sensitivity parameters",
11873          ),
11874          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11875          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
11876 )  ;
11877 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR NICOLAS O.NICOLAS 
11878 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11879 # ======================================================================
11880 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11881 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11882 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11883 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11884 # (AT YOUR OPTION) ANY LATER VERSION.
11885 #
11886 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11887 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11888 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11889 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11890 #
11891 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11892 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11893 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11894 # ======================================================================
11895 DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
11896                    fr="Analyse mécanique dynamique non linéaire",
11897             UIinfo={"groupes":("Résolution",)},
11898          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',),
11899                  UN_PARMI('NEWMARK','HHT','TETA_METHODE', ),),
11900          MODELE          =SIMP(statut='o',typ=modele_sdaster),
11901          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
11902          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
11903          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
11904          EXCIT           =FACT(statut='o',max='**',
11905            regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
11906                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
11907                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
11908                    ),
11909            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
11910                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
11911            CHARGE          =SIMP(statut='o',typ=char_meca),
11912            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11913            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11914            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11915            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11916            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
11917            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
11918            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
11919            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
11920          ),
11921          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
11922                 regles=(UN_PARMI('TOUT','MAILLE'),),
11923                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
11924                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11925                 MAILLE      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
11926               ),
11927          AMOR_MODAL      =FACT(statut='f',
11928            MODE_MECA       =SIMP(statut='f',typ=mode_meca),
11929            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**' ),
11930            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
11931            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
11932          ),
11933          VARI_COMM           =FACT(statut='f',
11934            regles=(AU_MOINS_UN('IRRA',),),
11935            IRRA     =SIMP(statut='f',typ=evol_varc),
11936            CORROSION  =SIMP(statut='f',typ=carte_corr_r),
11937          ),
11938          COMP_INCR       =C_COMP_INCR(),
11939          COMP_ELAS       =FACT(statut='f',max='**',
11940            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
11941                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
11942                                        "ELAS_POUTRE_GR","CABLE")),
11943            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
11944            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
11945            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
11946            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
11947            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
11948            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
11949       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
11950            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11951            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11952            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11953          ),
11954 #-------------------------------------------------------------------
11955          b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
11956          ETAT_INIT       =FACT(statut='o',
11957            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',),
11958                    EXCLUS('EVOL_NOLI','DEPL',),
11959                    EXCLUS('EVOL_NOLI','VITE'),
11960                    EXCLUS('EVOL_NOLI','SIGM',),
11961                    EXCLUS('EVOL_NOLI','VARI',),
11962                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
11963                    EXCLUS('NUME_ORDRE','INST'), ),
11964            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
11965            VITE            =SIMP(statut='f',typ=cham_no_depl_r),
11966            SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
11967            VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
11968            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
11969            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
11970            NUME_ORDRE      =SIMP(statut='f',typ='I'),
11971            INST            =SIMP(statut='f',typ='R'),
11972            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
11973            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11974            NUME_DIDI       =SIMP(statut='f',typ='I'),
11975            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
11976          ),),
11977          b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
11978          ETAT_INIT       =FACT(statut='f',
11979            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',),
11980                    EXCLUS('EVOL_NOLI','DEPL',),
11981                    EXCLUS('EVOL_NOLI','VITE'),
11982                    EXCLUS('EVOL_NOLI','SIGM',),
11983                    EXCLUS('EVOL_NOLI','VARI',),
11984                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
11985                    EXCLUS('NUME_ORDRE','INST'), ),
11986            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
11987            VITE            =SIMP(statut='f',typ=cham_no_depl_r),
11988            SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
11989            VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
11990            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
11991            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
11992            NUME_ORDRE      =SIMP(statut='f',typ='I'),
11993            INST            =SIMP(statut='f',typ='R'),
11994            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
11995            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11996            NUME_DIDI       =SIMP(statut='f',typ='I'),
11997            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
11998          ),),
11999 #-------------------------------------------------------------------
12000          INCREMENT       =FACT(statut='o',
12001            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
12002                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
12003            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
12004            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
12005                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
12006            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
12007            INST_INIT       =SIMP(statut='f',typ='R'),
12008            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
12009            INST_FIN        =SIMP(statut='f',typ='R'),
12010            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
12011            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
12012            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
12013            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12014            OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
12015            NOM_CHAM        =SIMP(statut='f',typ='TXM',),
12016            NOM_CMP         =SIMP(statut='f',typ='TXM',),
12017            VALE            =SIMP(statut='f',typ='R'),
12018          ),
12019 #-------------------------------------------------------------------
12020          NEWMARK         =FACT(statut='f',
12021            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25),
12022            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5),
12023          ),
12024          HHT             =FACT(statut='f',
12025            ALPHA           =SIMP(statut='f',typ='R'
12026                                 ,defaut= -0.29999999999999999 ),
12027          ),
12028          TETA_METHODE      =FACT(statut='f',
12029            TETA            =SIMP(statut='f',typ='R'
12030                                 ,defaut= 1.,val_min=0.5,val_max=1. ),
12031          ),
12032          NEWTON          =FACT(statut='d',
12033            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
12034            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
12035            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
12036            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
12037            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
12038            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12039          ),
12040          SOLVEUR         =FACT(statut='d',
12041            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12042            b_mult_front    =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12043              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12044            ),
12045            b_ldlt          =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT",
12046              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12047            ),
12048            b_ldlt_mult     =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'",
12049                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12050              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12051              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
12052            ),
12053            b_gcpc          =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué",
12054              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12055              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
12056              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
12057              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12058              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12059            ),
12060            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12061          ),
12062 #-------------------------------------------------------------------
12063          RECH_LINEAIRE   =FACT(statut='f',
12064            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
12065            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
12066            ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
12067            PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12068            RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
12069            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
12070            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2),
12071          ),
12072          PILOTAGE        =FACT(statut='f',
12073            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12074            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
12075            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12076            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
12077            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
12078            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
12079            ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
12080            PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
12081            SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
12082            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12083            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12084            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
12085            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
12086            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
12087            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),
12088                          ),
12089          CONVERGENCE     =FACT(statut='d',
12090            regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
12091            SIGM_REFE       =SIMP(statut='f',typ='R'),
12092            EPSI_REFE       =SIMP(statut='f',typ='R'),
12093            FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
12094            FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
12095            FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),           
12096            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
12097            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
12098            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
12099            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
12100            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
12101            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
12102            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
12103                                 ,defaut= 1.0E-6),
12104            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
12105            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
12106            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
12107                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
12108          ),
12109 #-------------------------------------------------------------------
12110          ARCHIVAGE       =FACT(statut='f',
12111            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
12112                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
12113            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
12114            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12115            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12116            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
12117            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12118            NUME_INIT       =SIMP(statut='f',typ='I'),
12119            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12120            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
12121            into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")),
12122          ),
12123          OBSERVATION     =FACT(statut='f',max='**',
12124            regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),
12125                    PRESENT_PRESENT('MAILLE','POINT'),),
12126            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
12127
12128 into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU") ),
12129            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
12130            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
12131            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
12132            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12133            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12134            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12135            PAS_OBSE        =SIMP(statut='f',typ='I'),
12136            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12137            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12138            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12139            POINT           =SIMP(statut='f',typ='I' ,max='**'),
12140          ),
12141 #-------------------------------------------------------------------
12142            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
12143                                fr="Liste des paramètres de sensibilité",
12144                                ang="List of sensitivity parameters"),
12145 #-------------------------------------------------------------------
12146            SOLV_NON_LOCAL  =FACT(statut='f',
12147              METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12148              b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12149                RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12150              ),
12151              b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
12152                RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12153              ),
12154              b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
12155                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12156                NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12157                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12158              ),
12159              b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
12160                PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12161                NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
12162                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12163                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12164              ),
12165              EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12166            ),
12167            LAGR_NON_LOCAL  =FACT(statut='f',
12168              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
12169              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
12170              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
12171              R               =SIMP(statut='f',typ='R',defaut= 1000.),
12172              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
12173            ),
12174 #-------------------------------------------------------------------
12175          PARM_THETA      =SIMP(statut='f',typ='R'
12176                               ,defaut= 1. ),
12177 #-------------------------------------------------------------------
12178          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
12179          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12180 )  ;
12181 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12182 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12183 # ======================================================================
12184 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12185 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12186 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12187 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12188 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12189 #
12190 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12191 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12192 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12193 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12194 #
12195 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12196 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12197 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12198 # ======================================================================
12199 DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=tabl_intsp,
12200                      fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire",
12201                      reentrant='n',
12202             UIinfo={"groupes":("Résolution",)},
12203          BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu_sdaster ),
12204          EXCIT           =FACT(statut='o',
12205            INTE_SPEC_GENE  =SIMP(statut='o',typ=tabl_intsp ),
12206          ),
12207          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
12208          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12209 )  ;
12210 #& MODIF COMMANDE  DATE 21/09/2004   AUTEUR PBADEL P.BADEL 
12211 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12212 # ======================================================================
12213 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
12214 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
12215 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
12216 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
12217 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
12218 #                                                                       
12219 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
12220 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
12221 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
12222 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
12223 #                                                                       
12224 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
12225 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
12226 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
12227 # ======================================================================
12228 #& RESPONSABLE
12229 DYNA_TRAN_EXPLI=OPER(nom="DYNA_TRAN_EXPLI",op= 69,sd_prod=evol_noli,reentrant='f',
12230                    fr="Analyse mecanique dynamique explicite",
12231          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',),),
12232          MODELE          =SIMP(statut='o',typ=modele_sdaster),
12233          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
12234          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
12235          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
12236          EXCIT           =FACT(statut='o',max='**',
12237            regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
12238                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12239                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
12240                    ),
12241            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
12242                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
12243            CHARGE          =SIMP(statut='o',typ=char_meca),
12244            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12245            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12246            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12247            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12248            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12249            DIRECTION       =SIMP(statut='f',typ='R',max=3),
12250            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12251            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12252          ),
12253          AMOR_MODAL      =FACT(statut='f',
12254            MODE_MECA       =SIMP(statut='f',typ=mode_meca),
12255            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**' ),
12256            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12257            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12258          ),
12259          PROJ_MODAL      =FACT(statut='f',
12260            MODE_MECA       =SIMP(statut='f',typ=mode_meca),
12261            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12262          ),
12263          COMP_INCR       =C_COMP_INCR(),
12264          COMP_ELAS       =FACT(statut='f',max='**',
12265            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
12266                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
12267                                        "ELAS_POUTRE_GR","CABLE")),
12268            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12269            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12270            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12271            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
12272            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12273            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
12274       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12275            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12276            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12277            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12278          ),
12279 #-------------------------------------------------------------------
12280          ETAT_INIT       =FACT(statut='f',
12281            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',),
12282                    EXCLUS('EVOL_NOLI','DEPL',),
12283                    EXCLUS('EVOL_NOLI','VITE'),
12284                    EXCLUS('EVOL_NOLI','SIGM',),
12285                    EXCLUS('EVOL_NOLI','VARI',),
12286                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
12287                    EXCLUS('NUME_ORDRE','INST'), ),
12288            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
12289            VITE            =SIMP(statut='f',typ=cham_no_depl_r),
12290            SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
12291            VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
12292            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
12293            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
12294            NUME_ORDRE      =SIMP(statut='f',typ='I'),
12295            INST            =SIMP(statut='f',typ='R'),
12296            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12297            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12298            NUME_DIDI       =SIMP(statut='f',typ='I'),
12299            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
12300          ),
12301 #-------------------------------------------------------------------
12302          INCREMENT       =FACT(statut='o',
12303            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
12304                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
12305            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
12306            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
12307                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
12308            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
12309            INST_INIT       =SIMP(statut='f',typ='R'),
12310            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
12311            INST_FIN        =SIMP(statut='f',typ='R'),
12312            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
12313            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
12314            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
12315            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12316            OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
12317            NOM_CHAM        =SIMP(statut='f',typ='TXM',),
12318            NOM_CMP         =SIMP(statut='f',typ='TXM',),
12319            VALE            =SIMP(statut='f',typ='R'),
12320          ),
12321 #-------------------------------------------------------------------
12322          NEWMARK         =FACT(statut='d',
12323            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25),
12324            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5),
12325          ),
12326          NEWTON          =FACT(statut='c',
12327            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
12328            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
12329            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
12330            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
12331            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
12332            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12333          ),
12334          SOLVEUR         =FACT(statut='d',
12335            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12336            b_mult_front    =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12337              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12338            ),
12339            b_ldlt          =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT",
12340              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12341            ),
12342            b_ldlt_mult     =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'",
12343                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12344              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12345              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
12346            ),
12347            b_gcpc          =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué",
12348              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12349              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
12350              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
12351              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12352              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12353            ),
12354            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12355          ),
12356 #-------------------------------------------------------------------
12357          RECH_LINEAIRE   =FACT(statut='c',
12358            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
12359            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
12360            ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
12361            PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12362            RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
12363            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
12364            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2),
12365          ),
12366          PILOTAGE        =FACT(statut='c',
12367            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12368            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
12369            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12370            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
12371            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
12372            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
12373            ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
12374            PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
12375            SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
12376            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12377            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12378            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
12379            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
12380            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
12381            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),
12382                          ),
12383          CONVERGENCE     =FACT(statut='d',
12384            regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
12385            SIGM_REFE       =SIMP(statut='f',typ='R'),
12386            EPSI_REFE       =SIMP(statut='f',typ='R'),
12387            FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
12388            FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
12389            FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),           
12390            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
12391            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
12392            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
12393            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
12394            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
12395            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
12396            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
12397                                 ,defaut= 1.0E-6),
12398            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
12399            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
12400            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
12401                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
12402          ),
12403 #-------------------------------------------------------------------
12404          ARCHIVAGE       =FACT(statut='f',
12405            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
12406                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
12407            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
12408            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12409            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12410            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
12411            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12412            NUME_INIT       =SIMP(statut='f',typ='I'),
12413            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12414            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
12415            into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")),
12416          ),
12417          OBSERVATION     =FACT(statut='f',max='**',
12418            regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),
12419                    PRESENT_PRESENT('MAILLE','POINT'),),
12420            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
12421
12422 into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU") ),
12423            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
12424            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
12425            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
12426            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12427            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12428            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12429            PAS_OBSE        =SIMP(statut='f',typ='I'),
12430            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12431            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12432            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12433            POINT           =SIMP(statut='f',typ='I' ,max='**'),
12434          ),
12435 #-------------------------------------------------------------------
12436            SOLV_NON_LOCAL  =FACT(statut='f',
12437              METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12438              b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12439                RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12440              ),
12441              b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
12442                RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12443              ),
12444              b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
12445                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12446                NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12447                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12448              ),
12449              b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
12450                PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12451                NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
12452                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12453                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12454              ),
12455            ),
12456            LAGR_NON_LOCAL  =FACT(statut='f',
12457              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
12458              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
12459              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
12460              R               =SIMP(statut='f',typ='R',defaut= 1000.),
12461              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
12462            ),
12463 #-------------------------------------------------------------------
12464          PARM_THETA      =SIMP(statut='f',typ='R'
12465                               ,defaut= 1. ),
12466 #-------------------------------------------------------------------
12467          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
12468          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12469 )  ;
12470 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
12471 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12472 # ======================================================================
12473 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12474 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12475 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12476 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12477 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12478 #
12479 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12480 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12481 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12482 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12483 #
12484 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12485 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12486 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12487 # ======================================================================
12488 DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
12489                      fr="Réponse dynamique transitoire en coordonnées généralisées par recombinaison modale",
12490                      reentrant='f',
12491             UIinfo={"groupes":("Résolution",)},
12492       regles=(EXCLUS('AMOR_REDUIT','AMOR_GENE','LIST_AMOR'), 
12493               PRESENT_ABSENT('MODE_STAT','MODE_CORR'),),
12494          METHODE         =SIMP(statut='f',typ='TXM',defaut="EULER",
12495                                into=("EULER","NEWMARK","DEVOGE","ADAPT","ITMI") ),
12496          MASS_GENE       =SIMP(statut='o',typ=matr_asse_gene_r ),
12497          RIGI_GENE       =SIMP(statut='o',typ=matr_asse_gene_r ),
12498          AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r ),
12499          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
12500          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
12501          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc) ),
12502          MODE_CORR       =SIMP(statut='f',typ=(mult_elas,mode_stat_acce) ,),
12503          
12504          ETAT_INIT       =FACT(statut='f',
12505            regles=(EXCLUS('RESU_GENE','DEPL_INIT_GENE'),
12506                    EXCLUS('RESU_GENE','VITE_INIT_GENE'),),
12507            RESU_GENE       =SIMP(statut='f',typ=tran_gene ),
12508            b_resu_gene     =BLOC(condition = "RESU_GENE != None",
12509              INST_INIT       =SIMP(statut='f',typ='R' ),
12510              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12511              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12512            ),
12513            DEPL_INIT_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
12514            VITE_INIT_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
12515          ),
12516          INCREMENT       =FACT(statut='o',max='**',
12517            INST_INIT       =SIMP(statut='f',typ='R' ),
12518            INST_FIN        =SIMP(statut='o',typ='R' ),
12519            PAS             =SIMP(statut='f',typ='R' ),
12520            VERI_PAS        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12521            VITE_MIN        =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
12522            COEF_MULT_PAS   =SIMP(statut='f',typ='R',defaut= 1.1 ),
12523            COEF_DIVI_PAS   =SIMP(statut='f',typ='R',defaut= 1.3333334 ),
12524            PAS_LIMI_RELA   =SIMP(statut='f',typ='R',defaut= 1.0E-6 ),
12525            NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
12526            NMAX_ITER_PAS   =SIMP(statut='f',typ='I',defaut= 16 ),
12527          ),
12528          ARCHIVAGE       =FACT(statut='f',
12529            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH'),),
12530            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster ),
12531            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12532          ),
12533          
12534          NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 20 ),
12535          RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12536          LAMBDA          =SIMP(statut='f',typ='R',defaut= 10. ),
12537          
12538          EXCIT           =FACT(statut='f',max='**',
12539            regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'),
12540                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12541                    PRESENT_PRESENT('D_FONC_DT','D_FONC_DT2'),
12542                    PRESENT_ABSENT('NUME_MODE','VECT_GENE','COEF_MULT'),
12543                    EXCLUS('MULT_APPUI','CORR_STAT'),
12544                    PRESENT_ABSENT('MULT_APPUI','COEF_MULT'),
12545                    PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),),
12546            VECT_GENE       =SIMP(statut='f',typ=vect_asse_gene ),
12547            NUME_MODE       =SIMP(statut='f',typ='I' ),
12548            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12549            COEF_MULT       =SIMP(statut='f',typ='R' ),
12550            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12551            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12552            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12553            MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12554            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
12555            b_loca          =BLOC(condition= "DIRECTION != None",
12556              regles=(EXCLUS('NOEUD','GROUP_NO'),),
12557              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12558              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12559            ),
12560            CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12561            D_FONC_DT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12562            D_FONC_DT2      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12563          ),
12564          CHOC            =FACT(statut='f',max='**',
12565            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1' ),
12566                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
12567                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
12568            INTITULE        =SIMP(statut='f',typ='TXM' ),
12569            NOEUD_1         =SIMP(statut='f',typ=no),
12570            NOEUD_2         =SIMP(statut='f',typ=no),
12571            GROUP_NO_1      =SIMP(statut='f',typ=grno),
12572            GROUP_NO_2      =SIMP(statut='f',typ=grno),
12573            OBSTACLE        =SIMP(statut='o',typ=obstacle_sdaster ),
12574            ORIG_OBST       =SIMP(statut='f',typ='R',min=3,max=3),
12575            NORM_OBST       =SIMP(statut='o',typ='R',min=3,max=3),
12576            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
12577            JEU             =SIMP(statut='f',typ='R',defaut= 1. ),
12578            DIST_1          =SIMP(statut='f',typ='R',val_min=0.E+0 ),
12579            DIST_2          =SIMP(statut='f',typ='R',val_min=0.E+0 ),
12580            SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
12581            SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
12582            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
12583            RIGI_NOR        =SIMP(statut='f',typ='R' ),
12584            AMOR_NOR        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12585            RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12586            AMOR_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12587            COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12588
12589            LAME_FLUIDE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12590            b_lame          =BLOC(condition="LAME_FLUIDE=='OUI'",
12591                ALPHA           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12592                BETA            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12593                CHI             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12594                DELTA           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12595            ),
12596          ),
12597          VERI_CHOC       =FACT(statut='f',max='**',
12598            STOP_CRITERE    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12599            SEUIL           =SIMP(statut='f',typ='R',defaut= 0.5 ),
12600          ),
12601          FLAMBAGE        =FACT(statut='f',max='**',
12602            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
12603                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
12604                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
12605            NOEUD_1         =SIMP(statut='f',typ=no),
12606            NOEUD_2         =SIMP(statut='f',typ=no),
12607            GROUP_NO_1      =SIMP(statut='f',typ=grno),
12608            GROUP_NO_2      =SIMP(statut='f',typ=grno),
12609            OBSTACLE        =SIMP(statut='o',typ=obstacle_sdaster ),
12610            ORIG_OBST       =SIMP(statut='f',typ='R',max='**'),
12611            NORM_OBST       =SIMP(statut='o',typ='R',max='**'),
12612            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
12613            JEU             =SIMP(statut='f',typ='R',defaut= 1. ),
12614            DIST_1          =SIMP(statut='f',typ='R' ),
12615            DIST_2          =SIMP(statut='f',typ='R' ),
12616            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
12617            RIGI_NOR        =SIMP(statut='f',typ='R' ),
12618            FNOR_CRIT       =SIMP(statut='f',typ='R' ),
12619            FNOR_POST_FL    =SIMP(statut='f',typ='R' ),
12620            RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ),
12621          ),
12622          ANTI_SISM       =FACT(statut='f',max='**',
12623            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
12624                    UN_PARMI('NOEUD_2','GROUP_NO_2'),
12625                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
12626                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
12627            NOEUD_1         =SIMP(statut='f',typ=no),
12628            NOEUD_2         =SIMP(statut='f',typ=no),
12629            GROUP_NO_1      =SIMP(statut='f',typ=grno),
12630            GROUP_NO_2      =SIMP(statut='f',typ=grno),
12631            RIGI_K1         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12632            RIGI_K2         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12633            SEUIL_FX        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12634            C               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12635            PUIS_ALPHA      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12636            DX_MAX          =SIMP(statut='f',typ='R',defaut= 1. ),
12637          ),
12638          RELA_EFFO_DEPL  =FACT(statut='f',max='**',
12639            NOEUD           =SIMP(statut='o',typ=no),
12640            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
12641            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
12642            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12643          ),
12644          RELA_TRANSIS    =FACT(statut='f',max='**',
12645            NOEUD           =SIMP(statut='o',typ=no),
12646            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
12647            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
12648            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12649          ),
12650          RELA_EFFO_VITE  =FACT(statut='f',max='**',
12651            NOEUD           =SIMP(statut='o',typ=no),
12652            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
12653            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
12654            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12655          ),
12656          b_itmi          =BLOC(condition = "METHODE=='ITMI'",
12657                 regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),),
12658                 BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
12659                 NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
12660                 ETAT_STAT       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12661                 PREC_DUREE      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
12662                 CHOC_FLUI       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12663                 NB_MODE         =SIMP(statut='f',typ='I' ),
12664                 NB_MODE_FLUI    =SIMP(statut='f',typ='I' ),
12665                 NB_MODE_DIAG    =SIMP(statut='f',typ='I' ),
12666                 TS_REG_ETAB     =SIMP(statut='f',typ='R' ),
12667          ),
12668          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
12669          IMPRESSION      =FACT(statut='f',max='**',
12670            regles=(EXCLUS('TOUT','NIVEAU'),),
12671            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12672            NIVEAU          =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ),
12673            INST_INIT       =SIMP(statut='f',typ='R' ),
12674            INST_FIN        =SIMP(statut='f',typ='R' ),
12675          ),
12676          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12677  )  ;
12678 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
12679 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12680 # ======================================================================
12681 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12682 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12683 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12684 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12685 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12686 #
12687 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12688 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12689 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12690 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12691 #
12692 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12693 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12694 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12695 # ======================================================================
12696 # RESPONSABLE VABHHTS J.PELLET
12697 ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,
12698             UIinfo={"groupes":("Impression",)},
12699       regles=(UN_PARMI('TOUT','CO'),),
12700          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
12701          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12702          CO              =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'),
12703          TYPE_TEST       =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME","RESUME") ),
12704          FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE12.5"),
12705          PREC_R          =SIMP(statut='f',typ='TXM',defaut="1.E-5"),
12706 )  ;
12707 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12708 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12709 # ======================================================================
12710 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12711 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12712 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12713 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12714 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12715 #
12716 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12717 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12718 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12719 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12720 #
12721 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12722 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12723 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12724 # ======================================================================
12725 EXEC_LOGICIEL=PROC(nom="EXEC_LOGICIEL",op= 183,fr="",
12726             UIinfo={"groupes":("Impression",)},
12727          LOGICIEL        =SIMP(statut='f',typ='TXM' ),  
12728          ARGUMENT        =FACT(statut='f',max='**',
12729            NOM_PARA        =SIMP(statut='f',typ='TXM' ),  
12730          ),
12731 )  ;
12732 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12733 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12734 # ======================================================================
12735 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12736 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12737 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12738 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12739 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12740 #
12741 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12742 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12743 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12744 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12745 #
12746 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12747 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12748 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12749 # ======================================================================
12750 def extr_mode_prod(FILTRE_MODE,**args):
12751   vale=FILTRE_MODE[0]['MODE']
12752   if AsType(vale) == mode_meca   : return mode_meca
12753   if AsType(vale) == mode_meca_c : return mode_meca_c
12754   if AsType(vale) == mode_gene   : return mode_gene
12755   raise AsException("type de concept resultat non prevu")
12756
12757 EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod,
12758                reentrant='n',
12759             UIinfo={"groupes":("Résolution",)},
12760          FILTRE_MODE     =FACT(statut='o',max='**',
12761            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','NUME_MODE','NUME_MODE_EXCLU','FREQ_MIN','CRIT_EXTR',),),
12762            MODE            =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_gene ) ),
12763            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
12764            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12765            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12766            NUME_MODE_EXCLU =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12767            FREQ_MIN        =SIMP(statut='f',typ='R' ),
12768            CRIT_EXTR       =SIMP(statut='f',typ='TXM',into=("MASS_EFFE_UN","MASS_GENE") ),
12769            b_freq_min      =BLOC(condition = "FREQ_MIN != None",  
12770              FREQ_MAX        =SIMP(statut='o',typ='R' ),
12771              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12772            ),
12773            b_crit_extr     =BLOC(condition = "CRIT_EXTR != None",
12774              SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12775            ),    
12776          ),
12777          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12778          IMPRESSION      =FACT(statut='f',
12779            CUMUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12780            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ),
12781          ),
12782 )  ;
12783 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12784 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12785 # ======================================================================
12786 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12787 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12788 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12789 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12790 # (AT YOUR OPTION) ANY LATER VERSION.
12791 #
12792 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12793 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12794 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12795 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12796 #
12797 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12798 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12799 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12800 # ======================================================================
12801 def extr_resu_prod(RESULTAT,**args):
12802   if AsType(RESULTAT) == evol_elas    : return evol_elas
12803   if AsType(RESULTAT) == evol_noli    : return evol_noli
12804   if AsType(RESULTAT) == evol_ther    : return evol_ther
12805   if AsType(RESULTAT) == dyna_trans   : return dyna_trans
12806   if AsType(RESULTAT) == dyna_harmo   : return dyna_harmo
12807   if AsType(RESULTAT) == acou_harmo   : return acou_harmo
12808   if AsType(RESULTAT) == mode_meca    : return mode_meca
12809   if AsType(RESULTAT) == mode_acou    : return mode_acou
12810   if AsType(RESULTAT) == mode_stat :    return mode_stat
12811   if AsType(mode_stat) == mode_stat_depl :    return mode_stat_depl
12812   if AsType(mode_stat) == mode_stat_acce :    return mode_stat_acce
12813   if AsType(mode_stat) == mode_stat_forc :    return mode_stat_forc
12814   if AsType(RESULTAT) == mult_elas    : return mult_elas
12815   if AsType(RESULTAT) == fourier_elas : return fourier_elas
12816   raise AsException("type de concept resultat non prevu")
12817
12818 EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f',
12819             UIinfo={"groupes":("Résultats et champs",)},
12820          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,
12821                                                mode_acou,mode_stat_depl,mode_stat_acce,mode_stat_forc,evol_ther,evol_noli,
12822                                                mult_elas,fourier_elas ) ),
12823
12824          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
12825                                    fr="Liste des paramètres de sensibilité.",
12826                                    ang="List of sensitivity parameters"),
12827
12828          ARCHIVAGE       =FACT(statut='f',
12829            regles=(  UN_PARMI('NUME_ORDRE', 'INST', 'FREQ', 'NUME_MODE',
12830                         'NOEUD_CMP', 'LIST_INST', 'LIST_FREQ', 'LIST_ORDRE',
12831                         'NOM_CAS', 'LIST_ARCH', 'PAS_ARCH' ),
12832                      EXCLUS( 'CHAM_EXCLU','NOM_CHAM' ),   ),
12833            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
12834            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()),
12835            PRECISION       =SIMP(statut='f',typ='R',defaut=1.E-3 ),
12836            CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),defaut="RELATIF"),
12837            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
12838            PAS_ARCH        =SIMP(statut='f',typ='I'),
12839            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12840            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
12841            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
12842            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
12843            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
12844            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
12845            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12846            NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
12847            NOM_CAS         =SIMP(statut='f',typ='TXM'),
12848                                ),
12849
12850          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
12851 )  ;
12852 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12853 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12854 # ======================================================================
12855 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
12856 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
12857 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
12858 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
12859 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
12860 #                                                                       
12861 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
12862 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
12863 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
12864 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
12865 #                                                                       
12866 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
12867 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
12868 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
12869 # ======================================================================
12870 def extr_table_prod(TYPE_RESU,**args):
12871   if TYPE_RESU == "MATR_ASSE_GENE_R" : return matr_asse_gene_r
12872   raise AsException("type de concept resultat non prevu")
12873
12874 EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n',
12875             UIinfo={"groupes":("Résultats et champs",)},
12876
12877          TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("MATR_ASSE_GENE_R",) ),
12878
12879          TABLE           =SIMP(statut='o',typ=table_sdaster),
12880
12881          NOM_PARA        =SIMP(statut='o',typ='TXM'),
12882
12883          FILTRE          =FACT(statut='f',min=1,max='**',
12884            NOM_PARA        =SIMP(statut='o',typ='TXM'),
12885            CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
12886                                  into=("EQ","LT","GT","NE","LE","GE","VIDE",
12887                                        "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
12888            b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
12889               regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
12890               VALE            =SIMP(statut='f',typ='R'),
12891               VALE_I          =SIMP(statut='f',typ='I'),
12892               VALE_C          =SIMP(statut='f',typ='C'),
12893               VALE_K          =SIMP(statut='f',typ='TXM'),),
12894
12895            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12896            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12897          ),
12898
12899          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
12900 )  ;
12901 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12902 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12903 # ======================================================================
12904 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12905 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12906 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12907 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12908 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12909 #
12910 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12911 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12912 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12913 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12914 #
12915 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12916 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12917 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12918 # ======================================================================
12919 def fact_grad_prod(MATR_ASSE,**args):
12920   if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
12921   if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
12922   if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
12923   raise AsException("type de concept resultat non prevu")
12924
12925 FACT_GRAD=OPER(nom="FACT_GRAD",op=85,sd_prod=fact_grad_prod,
12926             UIinfo={"groupes":("Résolution",)},
12927                fr="Préconditionnement pour résolution par gradient conjugué",
12928                reentrant='n',
12929          MATR_ASSE       =SIMP(statut='o',
12930                                typ=(matr_asse_depl_r,matr_asse_temp_r,
12931                                     matr_asse_pres_r) ),
12932          PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LDLT_INC",into=("LDLT_INC",) ),
12933          NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),  
12934          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
12935 )  ;
12936 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12937 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12938 # ======================================================================
12939 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12940 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12941 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12942 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12943 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12944 #
12945 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12946 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12947 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12948 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12949 #
12950 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12951 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12952 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12953 # ======================================================================
12954 # RESPONSABLE VABHHTS J.PELLET
12955 def fact_ldlt_prod(MATR_ASSE,**args):
12956   if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
12957   if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c
12958   if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
12959   if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c
12960   if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
12961   if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c
12962   raise AsException("type de concept resultat non prevu")
12963
12964 FACT_LDLT=OPER(nom="FACT_LDLT",op=14,sd_prod=fact_ldlt_prod,fr="Factorisation en place ou hors place",
12965                reentrant='f',
12966             UIinfo={"groupes":("Résolution",)},
12967          regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'),
12968                  EXCLUS('BLOC_FIN','DDL_FIN'),),
12969          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
12970                                                matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
12971          STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12972          NPREC           =SIMP(statut='f',typ='I',defaut=8,val_min=0,),
12973          PRE_COND        =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","DIAG") ),
12974          BLOC_DEBUT      =SIMP(statut='f',typ='I',val_min=1,),
12975          DDL_DEBUT       =SIMP(statut='f',typ='I',val_min=1,),
12976          BLOC_FIN        =SIMP(statut='f',typ='I',val_min=1,),
12977          DDL_FIN         =SIMP(statut='f',typ='I',val_min=1,),
12978 #
12979          EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12980 #
12981          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12982          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
12983 )  ;
12984 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
12985 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12986 # ======================================================================
12987 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12988 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12989 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12990 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12991 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12992 #
12993 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12994 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12995 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12996 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12997 #
12998 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12999 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13000 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13001 # ======================================================================
13002 FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude",
13003             UIinfo={"groupes":("Gestion du travail",)},
13004          FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
13005                                typ='TXM',defaut="NON",into=("OUI","NON",) ), 
13006          RETASSAGE       =SIMP(fr="provoque le retassage de la base GLOBALE",
13007                                statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
13008          PERFORMANCE     =SIMP(fr="provoque l'impression d'un résumé des mesures de temps ",
13009                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
13010          INFO_RESU       =SIMP(fr="provoque l'impression des informations sur les structures de données",
13011                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
13012          UNITE           =SIMP(statut='f',typ='I',defaut=6),  
13013 )  ;
13014 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13015 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13016 # ======================================================================
13017 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13018 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13019 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13020 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13021 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13022 #
13023 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13024 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13025 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13026 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13027 #
13028 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13029 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13030 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13031 # ======================================================================
13032 FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster,
13033                     reentrant='n',
13034             UIinfo={"groupes":("Fonction",)},
13035          TYPE_FLUI_STRU  =SIMP(statut='o',typ=(type_flui_stru) ),
13036 )  ;
13037 #& MODIF COMMANDE  DATE 22/11/2004   AUTEUR DURAND C.DURAND 
13038 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13039 # ======================================================================
13040 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13041 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13042 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13043 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13044 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13045 #
13046 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13047 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13048 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13049 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13050 #
13051 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13052 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13053 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13054 # ======================================================================
13055 def form_pyth_ops(self,d):
13056   import types,string
13057   NOM_PARA=self.etape['NOM_PARA']
13058   VALE    =self.etape['VALE']
13059   if type(NOM_PARA) not in (types.ListType,types.TupleType) : NOM_PARA=[NOM_PARA,]
13060   if self.sd==None : return
13061   texte=string.join(VALE.splitlines())
13062
13063   self.sd.setFormule(NOM_PARA,string.strip(texte))
13064
13065 FORMULE=FORM(nom="FORMULE",op_init=form_pyth_ops,op=-5,
13066              sd_prod=formule,UIinfo={"groupes":("Fonction",)},
13067          VALE     =SIMP(statut='f',typ='TXM'),
13068          NOM_PARA =SIMP(statut='o',typ='TXM',max='**'),
13069 );
13070 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13071 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13072 # ======================================================================
13073 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13074 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13075 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13076 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13077 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13078 #
13079 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13080 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13081 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13082 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13083 #
13084 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13085 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13086 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13087 # ======================================================================
13088 # RESPONSABLE CAMBIER S.CAMBIER
13089 GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_sdaster,
13090                     fr="Génération de la fonction temporelle à partir d une matrice interspectrale",
13091                     reentrant='n',
13092             UIinfo={"groupes":("Fonction",)},
13093          INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
13094          NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
13095          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ),
13096          b_interpol_oui    =BLOC(condition = "INTERPOL == 'OUI' ",fr="Parametres cas interpolation autorisee",
13097            DUREE_TIRAGE    =SIMP(statut='f',typ='R' ),
13098            FREQ_INIT       =SIMP(statut='f',typ='R' ),
13099            FREQ_FIN        =SIMP(statut='f',typ='R' ),
13100              ),
13101          NB_POIN         =SIMP(statut='f',typ='I'),
13102          NB_TIRAGE       =SIMP(statut='f',typ='I',defaut= 1 ),
13103          INIT_ALEA       =SIMP(statut='f',typ='I'),
13104          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
13105          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
13106 )  ;
13107 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13108 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13109 # ======================================================================
13110 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
13111 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13112 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13113 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13114 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13115 #                                                                       
13116 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13117 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13118 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13119 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13120 #                                                                       
13121 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13122 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13123 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13124 # ======================================================================
13125 # RESPONSABLE CAMBIER S.CAMBIER
13126 GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op=  27,sd_prod=matr_asse_gene_r,
13127                fr="Generateur de matrice aleatoire",
13128                reentrant='n',
13129             UIinfo={"groupes":("Fonction",)},
13130    MATR_MOYEN   = SIMP(statut='o', typ=matr_asse_gene_r),
13131    COEF_VAR     = SIMP(statut='f', typ='R', defaut=0.1),
13132    INIT_ALEA    =SIMP(statut='f',typ='I'),
13133 ) ;
13134    
13135 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13136 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13137 # ======================================================================
13138 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
13139 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13140 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13141 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13142 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13143 #                                                                       
13144 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13145 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13146 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13147 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13148 #                                                                       
13149 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13150 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13151 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13152 # ======================================================================
13153 # RESPONSABLE CAMBIER S.CAMBIER
13154 GENE_VARI_ALEA=OPER(nom="GENE_VARI_ALEA",op=  28,sd_prod=table_sdaster,
13155                fr="Generateur de variable aleatoire",
13156                reentrant='n',
13157             UIinfo={"groupes":("Fonction",)},
13158    TYPE       = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"),
13159    b_gamma    =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma",
13160            VALE_MOY   = SIMP(statut='f', typ='R', defaut=1.),
13161            BORNE_INF  = SIMP(statut='f', typ='R', defaut=0.),
13162            COEF_VAR   = SIMP(statut='f', typ='R', defaut=0.1),
13163              ),
13164    b_expo    =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle",
13165            VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
13166            BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
13167              ),
13168    b_expo_tronq    =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee",
13169            VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
13170            BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
13171            BORNE_SUP  = SIMP(statut='f', typ='R', defaut=1.),
13172            COEF_VAR   = SIMP(statut='f', typ='R', defaut=0.1),
13173              ),
13174    INIT_ALEA       =SIMP(statut='f',typ='I'),
13175 ) ;
13176    
13177 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
13178 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13179 # ======================================================================
13180 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13181 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13182 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13183 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13184 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13185 #
13186 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13187 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13188 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13189 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13190 #
13191 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13192 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13193 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13194 # ======================================================================
13195 IMPR_CHARGE=PROC(nom="IMPR_CHARGE",op= 158,
13196                  fr="Impression des charges mécaniques de type ddl imposés et relations linéaires entre les ddl",
13197                  UIinfo={"groupes":("Fonction",)},
13198          UNITE           =SIMP(statut='f',typ='I',defaut=30),  
13199          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",) ),
13200          VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
13201          CHARGE          =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**', ),
13202 )  ;
13203 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13204 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13205 # ======================================================================
13206 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13207 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13208 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13209 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13210 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13211 #
13212 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13213 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13214 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13215 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13216 #
13217 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13218 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13219 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13220 # ======================================================================
13221 IMPR_CLASSI=PROC(nom="IMPR_CLASSI",op= 114,
13222             UIinfo={"groupes":("Fonction",)},
13223          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ',
13224                         'LIST_ORDRE' ),),
13225          UNITE_CLASSI    =SIMP(statut='o',typ='I' ),
13226          MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
13227          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13228          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13229          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
13230          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13231          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13232          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
13233          b_prec_crit     =BLOC(condition = "LIST_FREQ != None or FREQ != None",
13234              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
13235              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
13236                                    into=("RELATIF","ABSOLU") ),
13237          ),
13238          IMPRESSION      =FACT(statut='f',max='**',
13239            regles=(UN_PARMI('NOEUD','GROUP_NO', ),),
13240            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
13241            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
13242            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
13243          ),
13244          AMOR            =SIMP(statut='o',typ='R',max='**'),
13245 )  ;
13246 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
13247 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13248 # ======================================================================
13249 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13250 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13251 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13252 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13253 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13254 #
13255 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13256 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13257 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13258 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13259 #
13260 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13261 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13262 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13263 # ======================================================================
13264 # RESPONSABLE VABHHTS J.PELLET
13265 IMPR_CO=PROC(nom="IMPR_CO",op=17,
13266             UIinfo={"groupes":("Impression",)},
13267              fr="Impression du contenu d un concept utilisateur (pour développeur)",
13268          regles=(UN_PARMI('CO','CHAINE', ),),
13269          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
13270          NIVEAU          =SIMP(statut='f',typ='I',defaut=2,into=(0,1,2) ),
13271          ATTRIBUT        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ),
13272          CONTENU         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ),
13273          BASE            =SIMP(statut='f',typ='TXM',defaut="G",into=("","G","V","L") ),
13274          CO              =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'),
13275          CHAINE          =SIMP(statut='f',typ='TXM'),
13276          POSITION        =SIMP(statut='f',typ='I',defaut=1),
13277 )  ;
13278 #& MODIF COMMANDE  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
13279 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13280 # ======================================================================
13281 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13282 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13283 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13284 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13285 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13286 #
13287 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13288 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13289 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13290 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13291 #
13292 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13293 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13294 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13295 # ======================================================================
13296 # RESPONSABLE GNICOLAS G.NICOLAS
13297 IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b",
13298             UIinfo={"groupes":("Fonction",)},
13299                     fr="Imprime le fichier de configuration de HOMARD.",
13300                     ang="Writes the configuration file for HOMARD.",
13301 #
13302 # 1. Le niveau d'information
13303 #
13304          INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
13305 #
13306 # 2. Langue des messages issus de HOMARD
13307 #
13308          LANGUE =SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
13309                       into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
13310                       fr="Langue des messages issus de HOMARD.",
13311                       ang="Language for HOMARD messages." ),
13312 #
13313 # 3. Le nom local du fichier de configuration HOMARD
13314 #
13315          UNITE_CONF    =SIMP(statut='o',typ='I'),
13316 #
13317 # 4. Le nom local du fichier de données HOMARD
13318 #
13319          UNITE_DONN    =SIMP(statut='f',typ='I'),
13320 #
13321 # 5. Gestion des éléments autres que des simplexes
13322 #       0 : autres elements refuses (defaut)
13323 #       1 : raffinement sur les simplexes, mais autres acceptes
13324 #       2 : tous
13325 #
13326          NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=0,into=(0,1,2),
13327                           fr="Type d'éléments acceptés.",
13328                           ang="Type of authorized elements." ),
13329 #
13330 # 6. Le type de traitement :
13331 #
13332          TRAITEMENT      =FACT(statut='o',
13333 #
13334 # 6.1. TROIS CHOIX EXCLUSIFS :
13335 #
13336 #      A. ADAPTATION PAR UN INDICATEUR D'ERREUR, AVEC TROIS VARIANTES :
13337 #         . RAFFINEMENT ET DERAFFINEMENT
13338 #         . RAFFINEMENT SEUL
13339 #         . DERAFFINEMENT SEUL
13340 #      B. ADAPTATION UNIFORME, AVEC DEUX VARIANTES :
13341 #         . RAFFINEMENT SEUL
13342 #         . DERAFFINEMENT SEUL
13343 #         . RIEN : LE MAILLAGE EST LE MEME A LA SORTIE ET A L'ENTREE
13344 #      C. INFORMATION SUR UN MAILLAGE
13345 #
13346            regles=( UN_PARMI('ADAPTATION','UNIFORME','INFORMATION'),),
13347            ADAPTATION      =SIMP(statut='f',typ='TXM',     
13348                                  fr="Adaptation libre",
13349                                  ang="Free adaptation",
13350                                  into=("RAFFINEMENT","DERAFFINEMENT","RAFF_DERA") ),
13351            UNIFORME        =SIMP(statut='f',typ='TXM',     
13352                                  fr="Adaptation uniforme",
13353                                  ang="Uniforme adaptation",
13354                                  into=("RAFFINEMENT","DERAFFINEMENT","RIEN") ),
13355            INFORMATION     =SIMP(statut='f',typ='TXM',
13356                                  fr="Information sur un maillage",
13357                                  ang="Information on a mesh",
13358                                  into=("OUI",) ),
13359 #
13360 # 6.2. LES CONTRAINTES :
13361 #
13362 # 6.2.1. POUR DE L'ADAPTATION LIBRE, IL FAUT :
13363 #      A. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13364 #      B. LE NOM MED DU MAILLAGE D'ENTREE
13365 #      C. LE NOM MED DE L'INDICATEUR D'ERREUR
13366 #      D. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13367 #      E. LA MISE A JOUR DE SOLUTION
13368 #      F. LE NOM MED DU MAILLAGE DE SORTIE
13369 #      REMARQUE : IL FAUT DES CRITERES, MAIS ON NE SAIT PAS LESQUELS
13370 #
13371 # 6.2.2. POUR DE L'ADAPTATION UNIFORME
13372 #          IL FAUT :
13373 #      A. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13374 #      B. LE NOM MED DU MAILLAGE DE SORTIE
13375 #          IL NE FAUT PAS :
13376 #      A. LE NOM MED DE L'INDICATEUR D'ERREUR
13377 #      B. LE NOM DE LA COMPOSANTE DE L'INDICATEUR D'ERREUR
13378 #      C. LES CRITERES
13379 #      REMARQUE : A L'ITERATION 0, OU AUX ITERATIONS SUIVANTES SI MAJ DE SOLUTION,
13380 #                 IL FAUT LE NOM MED DU MAILLAGE D'ENTREE
13381 #
13382 # 6.2.3. POUR DE L'INFORMATION :
13383 #          IL FAUT :
13384 #      A. LE NOM MED DU MAILLAGE D'ENTREE
13385 #          IL NE FAUT PAS :
13386 #      A. LE NOM MED DE L'INDICATEUR D'ERREUR
13387 #      B. LE NOM DE LA COMPOSANTE DE L'INDICATEUR D'ERREUR
13388 #      C. LES CRITERES
13389 #      D. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13390 #      E. LA MISE A JOUR DE SOLUTION
13391 #
13392            b_maillage_initial =BLOC(condition = "( INFORMATION != None ) or ( ADAPTATION != None ) ",
13393                            fr="Nom MED du maillage en entrée",
13394                            ang="MED name of the in-mesh",
13395                            NOM_MED_MAILLAGE_N   =SIMP(statut='o',typ='TXM',),
13396                            ) ,
13397 #
13398            b_maillage_initial_uniforme =BLOC(condition = "( UNIFORME != None ) ",
13399                            fr="Nom MED du maillage en entrée",
13400                            ang="MED name of the in-mesh",
13401                            NOM_MED_MAILLAGE_N   =SIMP(statut='f',typ='TXM',),
13402                            ) ,
13403 #
13404            b_iteration =BLOC(condition = "( UNIFORME != None ) or ( ADAPTATION != None ) ",
13405                            fr="Nom MED du maillage en sortie, numero d'iteration",
13406                            ang="MED name of the out-mesh, iteration rank",
13407                            NITER                =SIMP(statut='o',typ='I',
13408                            fr="Numéro d'itération.",
13409                            ang="Iteration number." ),
13410                            NOM_MED_MAILLAGE_NP1 =SIMP(statut='o',typ='TXM',
13411                            fr="Nom MED du maillage en sortie",
13412                            ang="MED name of the out-mesh" ),
13413                            ) ,
13414 #
13415            b_indicateur_d_erreur  =BLOC(condition = "ADAPTATION != None",
13416                            fr="Indicateur d'erreur",
13417                            ang="Error indicator",
13418                            regles=(AU_MOINS_UN('NUME_ORDRE','INST','RESULTAT'),
13419                                    EXCLUS('NUME_ORDRE','INST'),
13420                                    EXCLUS('NUME_ORDRE','RESULTAT'),
13421                                    PRESENT_PRESENT('RESULTAT','NOM_CHAM'),),
13422                            NOM_MED  =SIMP(statut='o',typ='TXM',
13423                            fr="Nom MED de l'indicateur d'erreur.",
13424                            ang="MED name of error indicator.",),
13425                            COMPOSANTE  =SIMP(statut='o',typ='TXM',
13426                            fr="Nom de la composante de l'indicateur d'erreur retenue.",
13427                            ang="Name of the selected component of the error indicator.",),
13428                            NUME_ORDRE  =SIMP(statut='f',typ='I',
13429                            fr="Numero d'ordre de l'indicateur.",
13430                            ang="Rank number of the error indicator.",),
13431                            INST        =SIMP(statut='f',typ='R',
13432                            fr="Instant de l'indicateur.",
13433                            ang="Instant of the error indicator.",),
13434                            b_precision     =BLOC(condition="(INST != None)",
13435                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
13436                              fr="Précision sur le choix de l'instant associé",
13437                              ang="Accuracy over instant choice" ),
13438                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
13439                              fr="Critère de précision sur le choix de l'instant associé",
13440                              ang="Accuracy criterium over instant choice" ),),
13441                            RESULTAT  =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther),
13442                            fr="Concept contenant l'indicateur.",
13443                            ang="Conceipt wich contains the error indicator.",),
13444                            NOM_CHAM  =SIMP(statut='f',typ='TXM',
13445                            fr="Nom du champ dans le résultat de l'indicateur.",
13446                            ang="Name of the field of the error indicator.",),
13447                            ) ,
13448 #
13449            b_critere_de_raffinement =BLOC( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' )" ,
13450                            fr="Critère de raffinement.",
13451                            ang="Refinement threshold.",
13452                            regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),),
13453                            CRIT_RAFF_ABS   =SIMP(statut='f',typ='R',
13454                                                  fr="Critère absolu",
13455                                                  ang="Absolute threshold"  ),
13456                            CRIT_RAFF_REL   =SIMP(statut='f',typ='R',
13457                                                  fr="Critère relatif",
13458                                                  ang="Relative threshold" ),
13459                            CRIT_RAFF_PE    =SIMP(statut='f',typ='R',
13460                                                  fr="Pourcentage d'éléments",
13461                                                  ang="Percentage of elements" ),
13462                            ) ,
13463 #
13464            b_critere_de_deraffinement =BLOC ( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' )" ,
13465                            fr="Critère de déraffinement.",
13466                            ang="Unrefinement threshold.",
13467                            regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),),
13468                            CRIT_DERA_ABS   =SIMP(statut='f',typ='R' ,
13469                                                  fr="Critère absolu",
13470                                                  ang="Absolute threshold" ),
13471                            CRIT_DERA_REL   =SIMP(statut='f',typ='R',
13472                                                  fr="Critère relatif",
13473                                                  ang="Relative threshold" ),
13474                            CRIT_DERA_PE    =SIMP(statut='f',typ='R',
13475                                                  fr="Pourcentage d'éléments",
13476                                                  ang="Percentage of elements" ),
13477                            ) ,
13478 #
13479            b_niveau_maximum =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' ) or \
13480                                                   ( UNIFORME == 'RAFFINEMENT' )" ,
13481                            NIVE_MAX        =SIMP(statut='f',typ='I',
13482                                                  fr="Niveau maximum de profondeur de raffinement",
13483                                                  ang="Maximum level for refinement"),
13484                            ) ,
13485 #
13486            b_niveau_minimum =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' ) or \
13487                                                   ( UNIFORME == 'DERAFFINEMENT' )" ,
13488                            NIVE_MIN        =SIMP(statut='f',typ='I',
13489                                                  fr="Niveau minimum de déraffinement",
13490                                                  ang="Minimum level for unrefinement" ),
13491                            ) ,
13492 #
13493 # 6.3. Le suivi de frontiere eventuel :
13494 #
13495          NOM_MED_MAILLAGE_FRONTIERE =SIMP(statut='f',typ='TXM',
13496                            fr="Nom MED du maillage de la frontiere à suivre",
13497                            ang="MED name of the boundary mesh" ),
13498 #
13499          b_frontiere_1 =BLOC ( condition = "NOM_MED_MAILLAGE_FRONTIERE != None" ,
13500                            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
13501                                                  fr="Groupes définissant la frontière",
13502                                                  ang="Groups which define the boundary" ),
13503                                ) ,
13504 #
13505          ),
13506 #
13507 # 7. Mise à jour de champs sur le nouveau maillage
13508 #
13509          MAJ_CHAM        =FACT(statut='f',max='**',
13510                            fr="Mise à jour de champs sur le nouveau maillage.",
13511                            ang="Updating of fields over the new mesh.",
13512                            regles=(AU_MOINS_UN('NUME_ORDRE','INST','RESULTAT'),
13513                                    EXCLUS('NUME_ORDRE','INST'),
13514                                    EXCLUS('NUME_ORDRE','RESULTAT'),
13515                                    PRESENT_PRESENT('RESULTAT','NOM_CHAM'),),
13516                            NOM_MED  =SIMP(statut='o',typ='TXM',
13517                            fr="Nom MED du champ à mettre à jour.",
13518                            ang="MED name of field.",),
13519                            NUME_ORDRE  =SIMP(statut='f',typ='I',
13520                            fr="Numero d'ordre du champ à mettre à jour.",
13521                            ang="Rank number of field.",),
13522                            INST        =SIMP(statut='f',typ='R',
13523                            fr="Instant du champ à mettre à jour.",
13524                            ang="Instant of field.",),
13525                            b_precision     =BLOC(condition="(INST != None)",
13526                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
13527                              fr="Précision sur le choix de l'instant associé",
13528                              ang="Accuracy over instant choice" ),
13529                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
13530                              fr="Critère de précision sur le choix de l'instant associé",
13531                              ang="Accuracy criterium over instant choice" ),),
13532                            RESULTAT  =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther),
13533                            fr="Concept contenant le champ à mettre à jour.",
13534                            ang="Conceipt wich contains the field.",),
13535                            NOM_CHAM  =SIMP(statut='f',typ='TXM',
13536                            fr="Nom du champ dans le résultat du champ à mettre à jour.",
13537                            ang="Name of the field.",),
13538          ),
13539 #
13540 # 8. L'ANALYSE DU MAILLAGE
13541 #
13542          ANALYSE         =FACT(statut='f',
13543                                fr="Analyse du maillage.",
13544                                ang="Mesh analysis.",
13545 #
13546 #    5 CHOIX NON EXCLUSIFS, AVEC DEUX VARIANTES (OUI/NON) :
13547 #    A. NOMBRE DES ELEMENTS
13548 #    B. QUALITE DES ELEMENTS
13549 #    C. INTERPENETRATION DES ELEMENTS
13550 #    D. CONNEXITE DU MAILLAGE
13551 #    E. TAILLE DES DIFFERENTS SOUS-DOMAINES
13552 #
13553            regles=(AU_MOINS_UN('NOMBRE','QUALITE','INTERPENETRATION','CONNEXITE','TAILLE'),),
13554 #
13555          NOMBRE          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
13556                           fr="Nombre de noeuds et éléments du maillage",
13557                           ang="Number of nodes and elements in the mesh" ),
13558 #
13559          QUALITE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13560                           fr="Qualité du maillage",
13561                           ang="Mesh quality" ),
13562 #
13563          INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13564                           fr="Controle de la non interpénétration des éléments.",
13565                           ang="Overlapping checking." ),
13566 #
13567          CONNEXITE       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13568                           fr="Connexité du maillage.",
13569                           ang="Mesh connexity." ),
13570 #
13571          TAILLE          =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13572                           fr="Tailles des sous-domaines du maillage.",
13573                           ang="Sizes of mesh sub-domains." ),
13574 #
13575          ),
13576 #
13577 )  ;
13578 #& MODIF COMMANDE  DATE 15/11/2004   AUTEUR MCOURTOI M.COURTOIS 
13579 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13580 # ======================================================================
13581 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
13582 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13583 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13584 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13585 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13586 #                                                                       
13587 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13588 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13589 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13590 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13591 #                                                                       
13592 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13593 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13594 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13595 # ======================================================================
13596 # RESPONSABLE MCOURTOI M.COURTOIS
13597 from Macro.impr_fonction_ops import impr_fonction_ops
13598
13599 IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",op=impr_fonction_ops,sd_prod=None,
13600                  fr="Impression de fonctions sur fichiers, les valeurs ayant été récupérées par RECU_FONCTION",
13601             UIinfo={"groupes":("Fonction",)},
13602          FORMAT          =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU',
13603                                into=("TABLEAU","AGRAF","XMGRACE",),),
13604          b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'",
13605                         fr="Mots-clés propres à XMGRACE",
13606            PILOTE          =SIMP(statut='f',typ='TXM',defaut='',
13607                                  into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
13608                             fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
13609            UNITE           =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
13610                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
13611          ),
13612          b_agraf = BLOC(condition = "FORMAT == 'AGRAF'",
13613                         fr="Mots-clés propres à AGRAF",
13614            UNITE           =SIMP(statut='o',typ='I',defaut=25,
13615                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
13616            UNITE_DIGR      =SIMP(statut='o',typ='I',defaut=26,
13617                                  fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"),
13618          ),
13619          # unite pour TABLEAU dans le bloc de mise en forme spécifique
13620
13621          COURBE          =FACT(statut='o',max='**',fr="Définition de la fonction à tracer",
13622            regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),),
13623            FONCTION        =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster),
13624                                  fr="Fonction réelle ou complexe", ),
13625            LIST_RESU       =SIMP(statut='f',typ=listr8_sdaster,
13626                                  fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ),
13627            FONC_X          =SIMP(statut='f',typ=(fonction_sdaster,formule),
13628                                  fr="Fonction abscisses d'une fonction paramétrique",),
13629            ABSCISSE        =SIMP(statut='f',typ='R',max='**',
13630                                  fr="Valeurs des abscisses", ),
13631            b_fonction      =BLOC(condition = "FONCTION != None",
13632              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
13633            ),
13634            b_fonction_c  =BLOC(condition = "AsType(FONCTION) == fonction_c",
13635                                  fr="Fonction complexe définie par le mot-clé fonction",
13636              PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
13637            ),
13638            b_list_resu     =BLOC(condition = "LIST_RESU != None",
13639              LIST_PARA       =SIMP(statut='o',typ=listr8_sdaster ),
13640            ),
13641            b_fonc_x        =BLOC(condition = "FONC_X != None",
13642              FONC_Y          =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ),
13643              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
13644            ),
13645            b_vale_resu     =BLOC(condition = "ABSCISSE != None",
13646              ORDONNEE      =SIMP(statut='o',typ='R',max='**',
13647                                  fr="Valeurs des ordonnées"),
13648            ),
13649
13650            # le bloc n'est pas activé (vide) car position n'est pas pris en compte
13651            b_forme         =BLOC(condition = "FORMAT != 'TABLEAU'",
13652                                  fr="Données de mise en forme de la fonction (cf. doc)",
13653            ),
13654               LEGENDE         =SIMP(statut='f',typ='TXM',
13655                                     fr="Légende associée à la fonction" ),
13656               STYLE           =SIMP(statut='f',typ='I',val_min=0,
13657                                     fr="Style de la ligne représentant la fonction",),
13658               COULEUR         =SIMP(statut='f',typ='I',val_min=0,
13659                                     fr="Couleur associée à la fonction",),
13660               MARQUEUR        =SIMP(statut='f',typ='I',val_min=0,
13661                                     fr="Type du marqueur associé à la fonction",),
13662               FREQ_MARQUEUR   =SIMP(statut='f',typ='I',defaut=0,
13663                                     fr="Fréquence d impression du marqueur associé à la fonction", ),
13664            # fin bloc b_forme
13665            TRI             =SIMP(statut='f',typ='TXM',defaut="N",
13666                                  fr="Choix du tri effectué sur les abscisses ou sur les ordonnées",
13667                                  into=("N","X","Y","XY","YX") ),
13668          ),
13669          # Mise en page du tableau ou du graphique
13670          b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'",
13671                           fr="Mots-clés propres au format Tableau",
13672            UNITE           =SIMP(statut='o',typ='I',defaut=8,
13673                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
13674            TITRE           =SIMP(statut='f',typ='TXM',
13675                                  fr="Titre associé au graphique" ),
13676            SOUS_TITRE      =SIMP(statut='f',typ='TXM',
13677                                  fr="Sous-titre du graphique" ),
13678            SEPARATEUR      =SIMP(statut='f',typ='TXM',defaut=' ',
13679                                  fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"),
13680            COMMENTAIRE     =SIMP(statut='f',typ='TXM',defaut='#',
13681                                  fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"),
13682            DEBUT_LIGNE     =SIMP(statut='f',typ='TXM',defaut='',
13683                                  fr="Caractère de debut de ligne"),
13684            FIN_LIGNE       =SIMP(statut='f',typ='TXM',defaut='\n',
13685                                  fr="Caractère de fin de ligne"),
13686          ),
13687          b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'",
13688                         fr="Mise en page du graphique",
13689            TITRE           =SIMP(statut='f',typ='TXM',
13690                                  fr="Titre associé au graphique" ),
13691            SOUS_TITRE      =SIMP(statut='f',typ='TXM',
13692                                  fr="Sous-titre du graphique" ),
13693            BORNE_X         =SIMP(statut='f',typ='R',min=2,max=2,
13694                                  fr="Intervalles de variation des abscisses"),
13695            BORNE_Y         =SIMP(statut='f',typ='R',min=2,max=2,
13696                                  fr="Intervalles de variation des ordonnées"),
13697            ECHELLE_X       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
13698                                  fr="Type d'échelle pour les abscisses" ),
13699            ECHELLE_Y       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
13700                                  fr="Type d'échelle pour les ordonnées" ),
13701            GRILLE_X        =SIMP(statut='f',typ='R',max=1,val_min=0.,
13702                                  fr="Pas du quadrillage vertical" ),
13703            GRILLE_Y        =SIMP(statut='f',typ='R',max=1,val_min=0.,
13704                                  fr="Pas du quadrillage horizontal" ),
13705            LEGENDE_X       =SIMP(statut='f',typ='TXM',
13706                                  fr="Légende associée à l'axe des abscisses" ),
13707            LEGENDE_Y       =SIMP(statut='f',typ='TXM',
13708                                  fr="Légende associée à l'axe des ordonnées" ),
13709          ),
13710          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
13711 )  ;
13712 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
13713 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13714 # ======================================================================
13715 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13716 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13717 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13718 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13719 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13720 #
13721 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13722 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13723 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13724 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13725 #
13726 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13727 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13728 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13729 # ======================================================================
13730 IMPR_GENE=PROC(nom="IMPR_GENE",op= 157,
13731                fr="Calcul du dommage subi par une structure soumise à une sollicitation de type aléatoire",
13732             UIinfo={"groupes":("Impression",)},
13733          GENE            =FACT(statut='o',max='**',
13734            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
13735                           'LIST_INST','LIST_FREQ','TOUT_MODE','TOUT_INST','LIST_ORDRE'),
13736                    EXCLUS('TOUT_MODE','NUME_ORDRE','INST','FREQ','NUME_MODE',
13737                           'LIST_INST','LIST_FREQ','TOUT_ORDRE','TOUT_INST','LIST_ORDRE'),
13738                    EXCLUS('TOUT_INST','NUME_ORDRE','INST','FREQ','NUME_MODE',
13739                           'LIST_INST','LIST_FREQ','TOUT_ORDRE','LIST_ORDRE'),
13740                    EXCLUS('TOUT_CMP_GENE','NUME_CMP_GENE'),
13741                    EXCLUS('TOUT_CHAM','NOM_CHAM'),
13742                    EXCLUS('TOUT_PARA','NOM_PARA'),),
13743 #  faut-il faire des blocs selon le type de RESU_GENE                   
13744            RESU_GENE       =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)),
13745            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ),
13746            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
13747            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13748            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13749            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
13750            TOUT_MODE       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13751            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13752            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13753            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
13754            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13755            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13756            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
13757            b_prec_crit     =BLOC(condition = "LIST_FREQ != None or FREQ != None",
13758              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
13759              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
13760                                    into=("RELATIF","ABSOLU") ),
13761            ),
13762            TOUT_CMP_GENE   =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13763            NUME_CMP_GENE   =SIMP(statut='f',typ='I',max='**'),
13764            TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13765            NOM_CHAM        =SIMP(statut='f',typ='TXM',max='**'),
13766            TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13767            NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
13768            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
13769            INFO_CMP_GENE   =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13770            INFO_GENE       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13771          ),
13772 )  ;
13773 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13774 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13775 # ======================================================================
13776 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13777 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13778 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13779 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13780 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13781 #
13782 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13783 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13784 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13785 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13786 #
13787 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13788 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13789 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13790 # ======================================================================
13791 IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,
13792             UIinfo={"groupes":("Impression",)},
13793                  fr="Impression de caractéristiques d'objets JEVEUX (pour développeur)",
13794          ENTITE          =SIMP(fr="choix de l'observation",statut='o',typ='TXM',
13795                                into=("DISQUE","MEMOIRE","REPERTOIRE",    
13796                                      "OBJET","ATTRIBUT","SYSTEME") ),
13797          b_objet      =BLOC(condition = "(ENTITE=='OBJET')",
13798             NOMOBJ          =SIMP(fr="nom d'objet",statut='f',typ='TXM' ),  
13799             NUMOC           =SIMP(fr="numéro d objet de collection",statut='f',typ='I' ),  
13800             NOMOC           =SIMP(fr="nom d'objet de collection",statut='f',typ='TXM' ),  
13801          ),
13802          b_attribut   =BLOC(condition = "(ENTITE=='ATTRIBUT')",
13803             NOMOBJ          =SIMP(fr="nom de collection",statut='f',typ='TXM' ),  
13804             NOMATR          =SIMP(fr="nom d attribut de collection",statut='f',typ='TXM',
13805                                   into=('$$DESO','$$IADD','$$IADM','$$NOM','$$LONG',
13806                                       '$$LONO','$$LUTI','$$NUM') ),
13807          ),
13808          b_systeme    =BLOC(condition = "(ENTITE=='SYSTEME')",
13809             CLASSE          =SIMP(statut='o',typ='TXM',into=('G','V','L') ),  
13810             NOMATR          =SIMP(fr="nom d attribut systeme",statut='f',typ='TXM',   
13811                                   into=('$$CARA','$$IADD','$$GENR','$$TYPE','$$MARQ',
13812                                       '$$DOCU','$$ORIG','$$RNOM','$$LTYP','$$LONG',
13813                                       '$$LONO','$$DATE','$$LUTI','$$HCOD','$$INDX',
13814                                       '$$TLEC','$$TECR','$$IADM','$$ACCE','$$USADI') ),
13815          ),
13816          b_repertoire =BLOC(condition = "(ENTITE=='REPERTOIRE')",
13817             CLASSE          =SIMP(statut='f',typ='TXM',into=('G','V','L',' '),defaut=' '),  
13818          ),
13819          b_disque     =BLOC(condition = "(ENTITE=='DISQUE')",
13820             CLASSE          =SIMP(statut='f',typ='TXM' ,into=('G','V','L',' '),defaut=' '),  
13821          ),
13822          IMPRESSION      =FACT(statut='f',
13823            NOM             =SIMP(statut='f',typ='TXM' ),  
13824            UNITE           =SIMP(statut='f',typ='I'),  
13825          ),
13826          COMMENTAIRE     =SIMP(statut='f',typ='TXM' ),  
13827 )  ;
13828 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
13829 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13830 # ======================================================================
13831 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13832 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13833 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13834 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13835 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13836 #
13837 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13838 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13839 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13840 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13841 #
13842 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13843 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13844 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13845 # ======================================================================
13846 IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160,
13847                     UIinfo={"groupes":("Impression",)},
13848          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
13849          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
13850                                into=("MISS_3D","IDEAS","CADYRO","PLEXUS") ),
13851
13852          b_plexus         =BLOC(condition = "FORMAT == 'IDEAS'",
13853            UNITE           =SIMP(statut='f',typ='I',defaut=30),
13854            VERSION          =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
13855          ),             
13856
13857          b_ideas         =BLOC(condition = "FORMAT == 'PLEXUS'",
13858            UNITE           =SIMP(statut='f',typ='I',defaut=30),
13859            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
13860          ),                      
13861
13862          b_miss_3d       =BLOC(condition = "FORMAT == 'MISS_3D'",
13863            regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
13864            UNITE           =SIMP(statut='f',typ='I',defaut= 26 ),
13865            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
13866            AMOR_REDUIT     =SIMP(statut='f',typ='R'  ,max='**'),
13867            LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
13868            GROUP_MA_INTERF =SIMP(statut='o',typ=grma ,max='**'),
13869            GROUP_MA_FLU_STR=SIMP(statut='f',typ=grma,max='**'),
13870            GROUP_MA_FLU_SOL=SIMP(statut='f',typ=grma,max='**'),
13871            GROUP_MA_SOL_SOL=SIMP(statut='f',typ=grma,max='**'),
13872            IMPR_MODE_MECA  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
13873            IMPR_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
13874          ),
13875
13876          b_cadyro        =BLOC(condition = "FORMAT == 'CADYRO'",
13877            SQUELETTE       =SIMP(statut='f',typ=squelette ),
13878            UNITE_MODE_MECA =SIMP(statut='f',typ='I',defaut= 26 ),
13879            UNITE_MODE_STAT =SIMP(statut='f',typ='I',defaut= 27 ),
13880            UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 28 ),
13881            IMPR_MODE_MECA  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
13882            IMPR_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
13883          ),
13884
13885 )  ;
13886 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
13887 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13888 # ======================================================================
13889 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13890 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13891 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13892 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13893 # (AT YOUR OPTION) ANY LATER VERSION.
13894 #
13895 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13896 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13897 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13898 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13899 #
13900 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13901 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13902 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13903 # ======================================================================
13904 IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159,
13905                   fr="Impression des matrices élémentaires et des matrices assemblées",
13906             UIinfo={"groupes":("Impression",)},
13907          regles=(AU_MOINS_UN('MATR_ELEM','MATR_ASSE'),),
13908
13909          MATR_ELEM       =FACT(statut='f',max='**',
13910            UNITE           =SIMP(statut='f',typ='I' ),  
13911            FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
13912                                  into=("IDEAS","RESULTAT") ),
13913          b_format_resultat  =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
13914            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
13915          ),
13916          b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
13917            UNITE           =SIMP(statut='f',typ='I',defaut=30),  
13918            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
13919          ),
13920
13921 #  créer les types matr_elem  et vect_elem
13922            MATRICE         =SIMP(statut='o',typ=(matr_elem, vect_elem)),
13923 #  Quelle regle pour TOUT, NOEUD, GROUP_NO, MAILLE, GROUP_MA
13924            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13925            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
13926            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
13927            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
13928            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
13929            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
13930            GRAIN           =SIMP(statut='f',typ='TXM',defaut="VALEUR",
13931                                  into=("VALEUR","NOEUD","MAILLE") ),
13932            NB_CHIFFRE      =SIMP(statut='f',typ='I',defaut= 4 ),
13933          ),
13934          MATR_ASSE       =FACT(statut='f',max='**',
13935            UNITE           =SIMP(statut='f',typ='I' ),  
13936            FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
13937                                  into=("IDEAS","RESULTAT") ),
13938            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
13939 #  créer le type matr_elem
13940            MATRICE         =SIMP(statut='o',typ=matr_asse_gd),
13941 #  Quelle regle pour TOUT, NOEUD, GROUP_NO, MAILLE, GROUP_MA
13942            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13943            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
13944            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
13945            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
13946            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
13947            OPTION          =SIMP(statut='f',typ='TXM',defaut="SOUS_MATRICE",
13948                                  into=("SOUS_MATRICE","LIGNE","COLONNE") ),
13949            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
13950            GRAIN           =SIMP(statut='f',typ='TXM',defaut="VALEUR",
13951                                  into=("VALEUR","NOEUD") ),
13952            NB_CHIFFRE      =SIMP(statut='f',typ='I',defaut= 4 ),
13953            VALE_ZERO       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13954          ),
13955 )  ;
13956 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
13957 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13958 # ======================================================================
13959 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13960 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13961 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13962 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13963 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13964 #
13965 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13966 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13967 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13968 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13969 #
13970 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13971 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13972 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13973 # ======================================================================
13974 IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162,
13975             UIinfo={"groupes":("Impression",)},
13976          regles=(UN_PARMI('INST_INIT','FREQ_INIT'),
13977                  PRESENT_PRESENT('INST_INIT','INST_FIN'),
13978                  PRESENT_PRESENT('FREQ_INIT','FREQ_FIN'),),
13979          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
13980          EXCIT           =FACT(statut='f',max='**',
13981            regles=(UN_PARMI('FONC_MULT','COEF_MULT' ),),
13982            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
13983            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
13984            COEF_MULT       =SIMP(statut='f',typ='R' ),
13985          ),
13986          EXCIT_SOL       =FACT(statut='f',max='**',
13987            DIRECTION       =SIMP(statut='o',typ='R',min=3,max=3),
13988            FONC_SIGNAL     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
13989            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",
13990                                  into=("DEPL","VITE","ACCE","FORC",) ),
13991          ),
13992          INST_INIT       =SIMP(statut='f',typ='R' ),
13993          INST_FIN        =SIMP(statut='f',typ='R' ),
13994          FREQ_INIT       =SIMP(statut='f',typ='R' ),
13995          FREQ_FIN        =SIMP(statut='f',typ='R' ),
13996          PAS             =SIMP(statut='o',typ='R' ),
13997          UNITE           =SIMP(statut='f',typ='I',defaut= 26 ),
13998          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
13999          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14000 )  ;
14001 #& MODIF COMMANDE  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
14002 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14003 # ======================================================================
14004 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
14005 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
14006 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
14007 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
14008 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
14009 #                                                                       
14010 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
14011 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
14012 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14013 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
14014 #                                                                       
14015 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
14016 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
14017 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
14018 # ======================================================================
14019 # RESPONSABLE D6BHHAM A.M.DONORE
14020 #
14021 IMPR_OAR =PROC(nom="IMPR_OAR",op= 40,
14022                fr="Impression au format OAR",
14023                UIinfo={"groupes":("Impression",)},
14024          CARA_ELEM       =SIMP(statut='f',typ=cara_elem                          ),
14025          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster                        ),
14026          MODELE          =SIMP(statut='o',typ=modele_sdaster                          ),
14027          MAILLE          =SIMP(statut='o',typ=ma  ,validators=NoRepeat(),max=2   ),
14028          NOEUD           =SIMP(statut='o',typ=no  ,validators=NoRepeat()         ),
14029
14030          CHARGE           =FACT(statut='o',max='**',
14031
14032               NUM_CHAR        =SIMP(statut='o',typ='I'),
14033               TEMP_NOEUD      =SIMP(statut='f',typ='R',defaut=20.),
14034               TYPE            =SIMP(statut='f',typ='TXM',defaut="DILA",
14035                                  into=("POIDS","DILA","SEISME","DEPL","EFFO","STRATIF","CONDITIONNEL","COMBINAISON") ),
14036               NATURE          =SIMP(statut='f',typ='TXM',defaut="PRIMAIRE",
14037                                  into=("PRIMAIRE","SECONDAIRE","TOTAL") ),
14038               SIGNE           =SIMP(statut='f',typ='TXM',defaut="S",
14039                                  into=("S","NS") ),
14040               RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),# CO() sd a creer !!!
14041            ),
14042
14043
14044            UNITE           =SIMP(statut='f',typ='I',defaut=38),  
14045            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14046 ) ;
14047 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
14048 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14049 # ======================================================================
14050 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14051 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14052 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14053 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14054 # (AT YOUR OPTION) ANY LATER VERSION.
14055 #
14056 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14057 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14058 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14059 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14060 #
14061 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14062 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14063 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14064 # ======================================================================
14065 IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
14066             UIinfo={"groupes":("Impression",)},
14067                fr="Impression du résultat d un calcul (différents formats)",
14068          MODELE          =SIMP(statut='f',typ=modele_sdaster),
14069
14070          FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
14071                                  into=("RESULTAT","IDEAS","ASTER","CASTEM","ENSIGHT","MED","GMSH") ),
14072
14073          b_format_resultat  =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
14074            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
14075          ),
14076
14077          b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
14078            UNITE           =SIMP(statut='f',typ='I',defaut=30),  
14079            VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
14080          ),
14081
14082          b_format_aster  =BLOC(condition="FORMAT=='ASTER'",fr="unité logique d'impression au format ASTER",
14083            UNITE           =SIMP(statut='f',typ='I',defaut=26),  
14084          ),
14085
14086          b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="unité logique d'impression et version CASTEM",
14087            UNITE           =SIMP(statut='f',typ='I',defaut=37),  
14088            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
14089          ),
14090
14091          b_format_ensight  =BLOC(condition="FORMAT=='ENSIGHT'",fr="unité logique d'impression au format ENSIGHT",
14092            UNITE           =SIMP(statut='f',typ='I',defaut=31),  
14093          ),
14094
14095          b_format_med  =BLOC(condition="FORMAT=='MED'",fr="unité logique d'impression au format MED",
14096            UNITE           =SIMP(statut='f',typ='I',defaut=80),  
14097          ),
14098
14099          b_format_gmsh  =BLOC(condition="FORMAT=='GMSH'",fr="unité logique d'impression et version GMSH",
14100            UNITE           =SIMP(statut='f',typ='I',defaut=19),  
14101            VERSION         =SIMP(statut='f',typ='R',defaut=1.2,into=(1.0,1.2)),
14102          ),
14103
14104          RESU            =FACT(statut='o',max='**',
14105
14106            regles=(AU_MOINS_UN('CHAM_GD','RESULTAT','MAILLAGE'),
14107                    EXCLUS('CHAM_GD','RESULTAT'),),
14108            MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster,squelette)),
14109            INFO_MAILLAGE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14110            CHAM_GD         =SIMP(statut='f',typ=cham_gd_sdaster),
14111            RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),# CO() sd a creer !!!
14112
14113            b_sensibilite   =BLOC(condition="RESULTAT != None",
14114                                  fr="Définition des paramètres de sensibilité",
14115                                  ang="Definition of sensitivity parameters",
14116              SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
14117                                    fr="Liste des paramètres de sensibilité.",
14118                                    ang="List of sensitivity parameters"),),
14119
14120            b_extrac        =BLOC(condition="RESULTAT != None",
14121                                  fr="extraction d un champ de grandeur",
14122              regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'),
14123                      EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP',
14124                             'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS','ANGL'),),
14125              TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
14126              NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()),
14127
14128              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14129              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
14130              NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
14131              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
14132              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14133              NOM_CAS         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14134              ANGL            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14135              FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14136              LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
14137              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14138              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
14139
14140              b_acce_reel     =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
14141                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
14142                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
14143              ),
14144            ),
14145 ###
14146 ###           b_parametres    =BLOC(condition="""(RESULTAT != None)and(FORMAT == 'RESULTAT')""",
14147 ###             regles=(EXCLUS('TOUT_PARA','NOM_PARA'),),
14148              INFO_RESU       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14149              TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
14150              NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
14151              FORM_TABL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON","EXCEL") ),
14152 ###           ),
14153 ###
14154 ###           b_cmp=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\
14155 ###           ((FORMAT == 'CASTEM')or(FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'ENSIGHT')or(FORMAT == 'MED'))""",
14156 ###                                 fr="sélection des composantes",
14157 ###             regles=(EXCLUS('TOUT_CMP','NOM_CMP'),),
14158              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14159              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14160 ###           ),
14161 ###
14162 ###           b_gmsh=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and((FORMAT == 'GMSH'))""",
14163 ###                                 fr="sélection des composantes et des entités toplogiques",
14164 ###             NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14165 ###             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14166 ###             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14167 ###           ),
14168 ###
14169 ###           b_topologie=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\
14170 ###                                   ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""",
14171 ###                                   fr="sélection des entités toplogiques",
14172              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14173              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
14174              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
14175              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14176              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14177 ###           ),
14178 ###
14179 ###           b_valeurs         =BLOC(condition="(FORMAT == 'RESULTAT')",
14180 ###                                   fr="sélection sur les valeurs",
14181              VALE_MAX        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14182              VALE_MIN        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14183              BORNE_SUP       =SIMP(statut='f',typ='R'),
14184              BORNE_INF       =SIMP(statut='f',typ='R'),
14185              IMPR_COOR       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14186              FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE12.5"),
14187 ###           ),
14188
14189            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
14190          ),
14191          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14192 ) ;
14193 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
14194 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14195 # ======================================================================
14196 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14197 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14198 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14199 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14200 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14201 #
14202 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14203 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14204 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14205 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14206 #
14207 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14208 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14209 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14210 # ======================================================================
14211 IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de valeurs propres dans un intervalle donné",
14212             UIinfo={"groupes":("Résolution",)},
14213          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
14214          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
14215          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",into=("MODE_FLAMB","DYNAMIQUE"),
14216                                fr="Type d analyse" ),
14217          b_dynamique  =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
14218                             fr="Recheche du nombre de fréquences propres",
14219              FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ,fr="Borne inférieure de l intervalle" ),
14220              FREQ_MAX        =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ),
14221          ),
14222          b_mode_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
14223                             fr="Recherche du nombre de charges critiques",
14224              CHAR_CRIT_MIN   =SIMP(statut='o',typ='R',fr="Borne inférieure de l intervalle" ),
14225              CHAR_CRIT_MAX   =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ),
14226          ),
14227          NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),
14228          NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),
14229          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
14230          PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
14231          SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
14232 )  ;
14233 #& MODIF COMMANDE  DATE 15/11/2004   AUTEUR MCOURTOI M.COURTOIS 
14234 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14235 # ======================================================================
14236 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14237 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14238 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14239 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14240 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14241 #
14242 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14243 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14244 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14245 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14246 #
14247 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14248 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14249 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14250 # ======================================================================
14251 # RESPONSABLE MCOURTOI M.COURTOIS
14252 from Macro.impr_table_ops import impr_table_ops
14253
14254 IMPR_TABLE=MACRO(nom="IMPR_TABLE",op=impr_table_ops,sd_prod=None,
14255             UIinfo={"groupes":("Impression",)},
14256                 fr="Impression d un concept de type table_sdaster",
14257    TABLE          =SIMP(statut='o',typ=table_sdaster),
14258    SENSIBILITE    =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
14259                          fr="Liste des paramètres de sensibilité.",
14260                          ang="List of sensitivity parameters"),
14261    FORMAT         =SIMP(statut='f',typ='TXM',defaut="TABLEAU",
14262                          into=("TABLEAU","ASTER","TABLEAU_CROISE","AGRAF","XMGRACE",),),
14263    b_pilote       =BLOC(condition = "FORMAT == 'XMGRACE'",
14264                         fr="Mots-clés propres à XMGRACE",
14265       PILOTE         =SIMP(statut='f',typ='TXM',defaut='',
14266                            into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
14267                       fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
14268       UNITE          =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
14269                            fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
14270    ),
14271    b_unite        =BLOC(condition = "FORMAT != 'XMGRACE'",
14272       UNITE          =SIMP(statut='f',typ='I',defaut=8,
14273                            fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
14274    ),
14275    FILTRE         =FACT(statut='f',max='**',
14276       NOM_PARA       =SIMP(statut='o',typ='TXM'),
14277       CRIT_COMP      =SIMP(statut='f',typ='TXM',defaut="EQ",
14278                            into=("EQ","LT","GT","NE","LE","GE","VIDE",
14279                                  "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI"),),
14280       b_vale         =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
14281          regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
14282          VALE           =SIMP(statut='f',typ='R'),
14283          VALE_I         =SIMP(statut='f',typ='I'),
14284          VALE_C         =SIMP(statut='f',typ='C'),
14285          VALE_K         =SIMP(statut='f',typ='TXM'),
14286       ),
14287       b_crit         =BLOC(condition = "CRIT_COMP in ('EQ','NE')",
14288          CRITERE        =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
14289          PRECISION      =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
14290       ),
14291    ),
14292    TRI            =FACT(statut='f',
14293       NOM_PARA       =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
14294       ORDRE          =SIMP(statut='f',typ='TXM',defaut="CROISSANT", # max='**',
14295                            into=("CROISSANT","DECROISSANT") ),
14296    ),
14297    PAGINATION     =SIMP(statut='f',typ='TXM',max='**'),
14298    FORMAT_R       =SIMP(statut='f',typ='TXM',defaut="E12.5"),
14299    FORMAT_C       =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",
14300                               into=("MODULE_PHASE","REEL_IMAG") ),
14301    NOM_PARA       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14302    IMPR_FONCTION  =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14303
14304    # mise en forme pour les formats qui passent par Graph
14305    b_forme         =BLOC(condition = "FORMAT == 'XMGRACE'",
14306                          fr="Données de mise en forme du graphique",
14307       # pour la courbe
14308       LEGENDE         =SIMP(statut='f',typ='TXM',
14309                             fr="Légende associée à la fonction" ),
14310       STYLE           =SIMP(statut='f',typ='I',val_min=0,
14311                             fr="Style de la ligne représentant la fonction",),
14312       COULEUR         =SIMP(statut='f',typ='I',val_min=0,
14313                             fr="Couleur associée à la fonction",),
14314       MARQUEUR        =SIMP(statut='f',typ='I',val_min=0,
14315                             fr="Type du marqueur associé à la fonction",),
14316       FREQ_MARQUEUR   =SIMP(statut='f',typ='I',defaut=0,
14317                             fr="Fréquence d impression du marqueur associé à la fonction", ),
14318       # format du graphique
14319       BORNE_X         =SIMP(statut='f',typ='R',min=2,max=2,
14320                             fr="Intervalles de variation des abscisses"),
14321       BORNE_Y         =SIMP(statut='f',typ='R',min=2,max=2,
14322                             fr="Intervalles de variation des ordonnées"),
14323       ECHELLE_X       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
14324                             fr="Type d'échelle pour les abscisses" ),
14325       ECHELLE_Y       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
14326                             fr="Type d'échelle pour les ordonnées" ),
14327       GRILLE_X        =SIMP(statut='f',typ='R',max=1,val_min=0.,
14328                             fr="Pas du quadrillage vertical" ),
14329       GRILLE_Y        =SIMP(statut='f',typ='R',max=1,val_min=0.,
14330                             fr="Pas du quadrillage horizontal" ),
14331       LEGENDE_X       =SIMP(statut='f',typ='TXM',
14332                             fr="Légende associée à l'axe des abscisses" ),
14333       LEGENDE_Y       =SIMP(statut='f',typ='TXM',
14334                             fr="Légende associée à l'axe des ordonnées" ),
14335    ),
14336
14337    TITRE          =SIMP(statut='f',typ='TXM',max='**'),
14338    INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14339 )  
14340 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14341 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14342 # ======================================================================
14343 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14344 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14345 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14346 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14347 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14348 #
14349 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14350 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14351 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14352 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14353 #
14354 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14355 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14356 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14357 # ======================================================================
14358 INCLUDE=MACRO(nom="INCLUDE",op=ops.build_include,
14359             UIinfo={"groupes":("Gestion du travail",)},
14360              fr="Débranchement vers un fichier de commandes secondaires",
14361              sd_prod=ops.INCLUDE,op_init=ops.INCLUDE_context,fichier_ini=1,
14362          UNITE = SIMP(statut='o',typ='I'),
14363          INFO  = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
14364 );
14365 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14366 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14367 # ======================================================================
14368 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14369 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14370 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14371 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14372 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14373 #
14374 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14375 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14376 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14377 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14378 #
14379 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14380 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14381 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14382 # ======================================================================
14383 INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,
14384             UIinfo={"groupes":("Modélisation",)},
14385                        fr=" ",
14386          sd_prod=ops.INCLUDE_MATERIAU,op_init=ops.INCLUDE_context,fichier_ini=0,
14387          NOM_AFNOR       =SIMP(statut='o',typ='TXM' ),  
14388          TYPE_MODELE     =SIMP(statut='o',typ='TXM',into=("REF","PAR") ),
14389          VARIANTE        =SIMP(statut='o',typ='TXM',     
14390                                into=("A","B","C","D","E","F","G","H","I","J",    
14391                                      "K","L","M","N","O","P","Q","R","S","T","U","V",   
14392                                      "W","X","Y","Z",) ),
14393          TYPE_VALE       =SIMP(statut='o',typ='TXM',into=("NOMI","MINI","MAXI") ),
14394          NOM_MATER       =SIMP(statut='o',typ='TXM' ),  
14395          UNITE           =SIMP(statut='f',typ='I',defaut= 32 ),  
14396          EXTRACTION      =FACT(statut='f',max=99,
14397            COMPOR          =SIMP(statut='o',typ='TXM' ),  
14398            TEMP_EVAL       =SIMP(statut='o',typ='R' ),  
14399          ),
14400          UNITE_LONGUEUR  =SIMP(statut='f',typ='TXM',into=("M","MM"),defaut="M" ),  
14401          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14402 )  ;
14403 #& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
14404 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14405 # ======================================================================
14406 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
14407 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
14408 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
14409 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
14410 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
14411 #                                                                       
14412 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
14413 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
14414 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14415 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
14416 #                                                                       
14417 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
14418 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
14419 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
14420 # ======================================================================
14421 # RESPONSABLE D6BHHJP J.P.LEFEBVRE
14422 INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster,
14423                     fr="Récupère différentes informations propres à l'exécution en cours",
14424                     reentrant='n',
14425                     UIinfo={"groupes":("Gestion du travail",)},
14426
14427          regles=(),
14428          LISTE_INFO     =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3,
14429                               into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),),
14430          b_etat_unite   =BLOC(condition = "'ETAT_UNITE' in LISTE_INFO", 
14431             regles=(UN_PARMI('UNITE','FICHIER'),),
14432             UNITE          =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1,
14433                                  fr="Unité logique dont on veut obtenir l'état",),
14434             FICHIER        =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),
14435                                  fr="Nom du fichier dont on veut obtenir l'état",),
14436          ),
14437          TITRE          =SIMP(statut='f',typ='TXM',max='**'),
14438          INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14439 )  ;
14440 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14441 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14442 # ======================================================================
14443 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14444 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14445 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14446 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14447 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14448 #
14449 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14450 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14451 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14452 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14453 #
14454 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14455 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14456 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14457 # ======================================================================
14458 # RESPONSABLE G8BHHXD X.DESROCHES
14459 INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster,
14460             UIinfo={"groupes":("Post traitements",)},
14461                   fr="Définition d une courbe sur un maillage 2D",reentrant='n',
14462
14463          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
14464
14465          regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
14466                  AU_MOINS_UN('DEFI_SEGMENT','DEFI_ARC','DEFI_CHEMIN'),
14467                  PRESENT_ABSENT('DEFI_CHEMIN','DEFI_SEGMENT','DEFI_ARC'),
14468                  PRESENT_ABSENT('DEFI_SEGMENT','NOEUD_ORIG','GROUP_NO_ORIG'),
14469                  PRESENT_ABSENT('DEFI_ARC','NOEUD_ORIG','GROUP_NO_ORIG'),
14470                  EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
14471                  EXCLUS('DEFI_CHEMIN','DEFI_SEGMENT'),
14472                  EXCLUS('DEFI_CHEMIN','DEFI_ARC'),),
14473
14474          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14475          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14476          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14477
14478          DEFI_SEGMENT    =FACT(statut='f',max='**',
14479            regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
14480                    UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
14481            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=2),  
14482            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14483            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14484            EXTREMITE       =SIMP(statut='f',typ='R',min=2,max=2),  
14485            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
14486            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
14487          ),
14488
14489          DEFI_ARC        =FACT(statut='f',max='**',
14490            regles=(UN_PARMI('CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),
14491                    UN_PARMI('RAYON','ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
14492                    UN_PARMI('RAYON','EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),               
14493                    PRESENT_PRESENT('RAYON','SECTEUR'),),
14494            CENTRE          =SIMP(statut='f',typ='R',min=2,max=2),  
14495            NOEUD_CENTRE    =SIMP(statut='f',typ=no,),
14496            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,),
14497            RAYON           =SIMP(statut='f',typ='R',val_min=0.E+0),  
14498            SECTEUR         =SIMP(statut='f',typ='R',min=2,max=2,
14499                                  val_min=-180.E+0,val_max=180E+0),  
14500            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=2),  
14501            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14502            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14503            EXTREMITE       =SIMP(statut='f',typ='R',min=2,max=2),  
14504            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
14505            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
14506            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
14507            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",    
14508                                  into=("RELATIF","ABSOLU",) ),
14509          ),
14510
14511          DEFI_CHEMIN     =FACT(statut='f',max='**',
14512            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
14513            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14514            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14515          ),
14516
14517          NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14518          GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14519          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),  
14520          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
14521 )  ;
14522 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14523 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14524 # ======================================================================
14525 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14526 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14527 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14528 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14529 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14530 #
14531 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14532 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14533 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14534 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14535 #
14536 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14537 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14538 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14539 # ======================================================================
14540 # RESPONSABLE G8BHHXD X.DESROCHES
14541 INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster,
14542             UIinfo={"groupes":("Post traitements",)},
14543                   fr="Définition d un chemin sur un maillage 3D",reentrant='n',
14544          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
14545          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14546          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14547          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14548          DEFI_SEGMENT    =FACT(statut='o',max='**',
14549            regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
14550                    UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
14551            ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
14552            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14553            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14554            EXTREMITE       =SIMP(statut='f',typ='R',min=3,max=3),  
14555            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
14556            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
14557          ),
14558          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
14559          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
14560 )  ;
14561 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14562 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14563 # ======================================================================
14564 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14565 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14566 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14567 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14568 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14569 #
14570 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14571 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14572 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14573 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14574 #
14575 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14576 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14577 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14578 # ======================================================================
14579 def lire_champ_prod(TYPE_CHAM=None,**args):
14580 # Remarque : si cette liste évolue, il faut penser à mettre à jour son
14581 #            homologue dans macr_adap_mail
14582   import string
14583 #  
14584   if TYPE_CHAM[0:5] == "NOEU_" : return eval("cham_no_"+string.lower(TYPE_CHAM[5:]))
14585   if TYPE_CHAM == "ELEM_G_DEPL_R" : return cham_elem_g_depl
14586   if TYPE_CHAM[0:5] == "ELEM_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:]))
14587   if TYPE_CHAM == "ELNO_G_DEPL_R" : return cham_elem_g_depl
14588   if TYPE_CHAM[0:5] == "ELNO_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:]))
14589   if TYPE_CHAM == "ELGA_G_DEPL_R" : return cham_elem_g_depl
14590   if TYPE_CHAM[0:5] == "ELGA_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:]))
14591   raise AsException("type de concept resultat non prevu")
14592
14593 LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod,
14594                 fr="Lire un champ dans un fichier et le stocker dans un concept.",
14595                 reentrant='n',
14596          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster,),
14597          FORMAT          =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",),),
14598          UNITE           =SIMP(statut='f',typ='I',defaut= 81,),  
14599          b_format =BLOC(condition = "FORMAT == 'MED'",
14600          regles=( UN_PARMI('NOM_CMP_IDEM','NOM_CMP'),
14601                   PRESENT_PRESENT('NOM_CMP','NOM_CMP_MED' ),
14602                   EXCLUS('NUME_ORDRE','INST'),
14603                   EXCLUS('NUME_PT','INST'),),
14604             NOM_MED      =SIMP(statut='o',typ='TXM', ),
14605             NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), ),
14606             NOM_CMP      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
14607             NOM_CMP_MED  =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
14608             NUME_PT      =SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**',),
14609             NUME_ORDRE   =SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**',
14610                            fr="Numero d ordre du champ à lire",ang="Rank of the field to be read" ),
14611             INST         =SIMP(statut='f',typ='R',fr="Instant associé",ang="Instant" ),
14612 #
14613             b_precision     =BLOC(condition="(INST != None)",
14614               PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
14615               fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),
14616               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
14617               fr="Critère de précision sur le choix de l'instant associé",
14618               ang="Accuracy criterium over instant choice" ),),
14619 #
14620             NOM_MAIL_MED =SIMP(statut='f',typ='TXM',),
14621                   ),
14622 #        Remarque : si cette liste évolue, il faut penser à mettre à jour son
14623 #                   homologue dans macr_adap_mail
14624          TYPE_CHAM       =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()),
14625          b_modele =BLOC(condition = "TYPE_CHAM!=None and TYPE_CHAM[0:2] == 'EL'",
14626             MODELE      =SIMP(statut='o',typ=modele_sdaster, ),
14627                   ),
14628          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14629 )  ;
14630 #& MODIF COMMANDE  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
14631 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14632 # ======================================================================
14633 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14634 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14635 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14636 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14637 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14638 #
14639 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14640 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14641 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14642 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14643 #
14644 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14645 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14646 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14647 # ======================================================================
14648
14649 from Macro.lire_fonction_ops import lire_fonction_ops
14650
14651 def lire_fonction_prod(self,TYPE,**args):
14652   if   (TYPE == 'FONCTION')  : return fonction_sdaster
14653   elif (TYPE == 'FONCTION_C'): return fonction_c
14654   elif (TYPE == 'NAPPE'   )  : return nappe_sdaster
14655   raise AsException("type de concept resultat non prevu")
14656
14657 LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_fonction_prod,
14658                    fr="Lecture d une fonction ou d une nappe dans un fichier ",
14659                    reentrant='n',
14660             UIinfo={"groupes":("Fonction",)},
14661          FORMAT          =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE"  ),
14662          TYPE            =SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C","NAPPE"),defaut="FONCTION"  ),
14663          SEPAR           =SIMP(statut='f',typ='TXM',into=("None",",",";","/"),defaut="None" ),
14664          INDIC_PARA      =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,1]),
14665          b_fonction      =BLOC(condition = "TYPE=='FONCTION' ",
14666            INDIC_RESU      =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,2]), ),
14667          b_fonction_c    =BLOC(condition = "TYPE=='FONCTION_C' ",
14668            FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="REEL_IMAG",into=("REEL_IMAG","MODULE_PHASE") ),
14669            b_reel_imag     =BLOC(condition = "FORMAT_C=='REEL_IMAG' ",
14670              INDIC_REEL      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
14671              INDIC_IMAG      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ) ,
14672            b_modu_phas     =BLOC(condition = "FORMAT_C=='MODULE_PHASE' ",
14673              INDIC_MODU      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
14674              INDIC_PHAS      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ), ),
14675          b_nappe         =BLOC(condition = "TYPE=='NAPPE' ",
14676            NOM_PARA_FONC   =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
14677            INDIC_ABSCISSE  =SIMP(statut='o',typ='I',min=2,max=2,),
14678            INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
14679            PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14680            PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14681            DEFI_FONCTION   =FACT(statut='f',max='**',
14682              INDIC_RESU      =SIMP(statut='o',typ='I',min=2,max=2,),),  ),
14683          UNITE           =SIMP(statut='o',typ='I' ),
14684          NOM_PARA        =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
14685          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
14686          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
14687          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14688          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14689          VERIF           =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ),
14690          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
14691          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14692 )  ;
14693 #& MODIF COMMANDE  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
14694 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14695 # ======================================================================
14696 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14697 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14698 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14699 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14700 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14701 #
14702 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14703 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14704 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14705 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14706 #
14707 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14708 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14709 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14710 # ======================================================================
14711
14712 from Macro.lire_inte_spec_ops import lire_inte_spec_ops
14713
14714 LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=tabl_intsp,
14715                     fr="Lecture sur un fichier externe de  fonctions complexes pour créer une matrice interspectrale",
14716                     reentrant='n',
14717             UIinfo={"groupes":("Fonction",)},
14718          UNITE           =SIMP(statut='o',typ='I' ),
14719          FORMAT          =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ),
14720          NOM_PARA        =SIMP(statut='f',typ='TXM',defaut="FREQ",
14721                                into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
14722                                      "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ),
14723          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="DSP" ),
14724          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
14725          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
14726          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
14727          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14728          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
14729 )  ;
14730 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14731 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14732 # ======================================================================
14733 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14734 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14735 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14736 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14737 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14738 #
14739 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14740 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14741 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14742 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14743 #
14744 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14745 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14746 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14747 # ======================================================================
14748 # RESPONSABLE VABHHTS J.PELLET
14749 LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op=   1,sd_prod=maillage_sdaster,
14750                    fr="Lecture d'un fichier de maillage",
14751                    ang="Readings of a mesh file",
14752                    reentrant='n',
14753             UIinfo={"groupes":("Maillage",)},
14754 #
14755          UNITE           =SIMP(statut='f',typ='I',defaut= 20 ),
14756 #
14757          FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"),
14758                             fr="Format du fichier : ASTER ou MED.",
14759                             ang="Format of the file : ASTER or MED.",),
14760 #
14761          ABSC_CURV       =FACT(statut='f',min=0,
14762                TOUT          =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14763          ),
14764 #
14765          VERI_MAIL       =FACT(statut='d',
14766                VERIF         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),  
14767                APLAT         =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
14768          ),
14769 #
14770          b_format_med =BLOC( condition = " ( FORMAT == 'MED' ) " ,
14771                            fr="Informations complémentaires pour la lecture MED.",
14772                            ang="Further information for MED readings.",
14773 #
14774 # Pour une lecture dans un fichier MED, on peut préciser le nom sous lequel
14775 # le maillage y a été enregistré. Par défaut, on va le chercher sous le nom du concept à créer.
14776 #
14777               NOM_MED    = SIMP(statut='f',typ='TXM',
14778                             fr="Nom du maillage dans le fichier MED.",
14779                             ang="Name of the mesh into the MED file.",),
14780 #
14781               INFO_MED   = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14782 #
14783                            ) ,
14784 #
14785          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14786 #
14787 )  ;
14788 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14789 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14790 # ======================================================================
14791 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14792 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14793 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14794 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14795 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14796 #
14797 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14798 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14799 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14800 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14801 #
14802 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14803 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14804 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14805 # ======================================================================
14806 def lire_miss_3d_prod(TYPE_RESU,**args):
14807   if TYPE_RESU == "TRANS" : return dyna_trans
14808   if TYPE_RESU == "HARMO" : return dyna_harmo
14809   raise AsException("type de concept resultat non prevu")
14810
14811 LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod,
14812                   fr="Restitution au format MISS3D d une évolution harmonique ou transitoire",
14813                   reentrant='n',
14814             UIinfo={"groupes":("Maillage",)},
14815          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
14816          UNITE           =SIMP(statut='f',typ='I',defaut= 27 ),
14817          NOM             =SIMP(statut='f',typ='TXM' ),
14818          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="TRANS",into=("TRANS","HARMO") ),
14819          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14820 )  ;
14821 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14822 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14823 # ======================================================================
14824 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14825 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14826 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14827 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14828 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14829 #
14830 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14831 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14832 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14833 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14834 #
14835 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14836 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14837 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14838 # ======================================================================
14839 LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char,
14840                  fr=" ",
14841                  reentrant='n',
14842             UIinfo={"groupes":("Maillage",)},
14843          regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
14844          UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
14845          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",)),
14846          MAIL_PLEXUS     =SIMP(statut='o',typ=maillage_sdaster ),
14847          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
14848          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
14849          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14850          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
14851          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
14852          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14853          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
14854          b_prec_crit     =BLOC(condition = "LIST_INST != None or INST != None",
14855              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
14856              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
14857                                    into=("RELATIF","ABSOLU") ),
14858          ),
14859          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14860 )  ;
14861 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR VABHHTS J.PELLET 
14862 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14863 # ======================================================================
14864 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14865 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14866 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14867 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14868 # (AT YOUR OPTION) ANY LATER VERSION.
14869 #
14870 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14871 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14872 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14873 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14874 #
14875 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14876 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14877 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14878 # ======================================================================
14879 # RESPONSABLE VABHHTS J.PELLET
14880
14881 def lire_resu_prod(TYPE_RESU,**args):
14882   if TYPE_RESU == "EVOL_CHAR" :  return evol_char
14883   if TYPE_RESU == "EVOL_THER" :  return evol_ther
14884   if TYPE_RESU == "EVOL_ELAS" :  return evol_elas
14885   if TYPE_RESU == "EVOL_NOLI" :  return evol_noli
14886   if TYPE_RESU == "DYNA_TRANS" : return dyna_trans
14887   if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo
14888   if TYPE_RESU == "HARM_GENE" :  return harm_gene
14889   if TYPE_RESU == "MODE_MECA" :  return mode_meca
14890   if TYPE_RESU == "MODE_MECA_C" : return mode_meca_c
14891   raise AsException("type de concept resultat non prevu")
14892
14893 # pour éviter d'écrire 3 fois cette liste :
14894 def l_nom_cham_pas_elga(): return (
14895      "ACCE", "ACCE_ABSOLU", "CRIT_ELNO_RUPT", "DCHA_ELNO_SIGM",
14896      "DCHA_NOEU_SIGM", "DEDE_ELNO_DLDE", "DEDE_NOEU_DLDE", "DEGE_ELNO_DEPL", "DEGE_NOEU_DEPL",
14897      "DEPL", "DEPL_ABSOLU", "DESI_ELNO_DLSI", "DESI_NOEU_DLSI", "DETE_ELNO_DLTE", "DETE_NOEU_DLTE",
14898      "DURT_ELNO_META", "DURT_NOEU_META", "ECIN_ELEM_DEPL", "EFGE_ELNO_CART", "EFGE_ELNO_DEPL",
14899      "EFGE_NOEU_CART", "EFGE_NOEU_DEPL", "ENDO_ELNO_SIGA", "ENDO_ELNO_SINO", "ENDO_NOEU_SINO",
14900      "ENEL_ELNO_ELGA", "ENEL_NOEU_ELGA", "EPEQ_ELNO_TUYO", "EPGR_ELNO", "EPME_ELNO_DEPL",
14901      "EPMG_ELNO_DEPL", "EPMG_NOEU_DEPL", "EPOT_ELEM_DEPL", "EPSA_ELNO", "EPSA_NOEU",
14902      "EPSG_ELNO_DEPL", "EPSG_NOEU_DEPL", "EPSI_ELNO_DEPL", "EPSI_ELNO_TUYO", "EPSI_NOEU_DEPL",
14903      "EPSP_ELNO", "EPSP_ELNO_ZAC", "EPSP_NOEU", "EPSP_NOEU_ZAC", "EQUI_ELNO_EPME", "EQUI_ELNO_EPSI",
14904      "EQUI_ELNO_SIGM", "EQUI_NOEU_EPME", "EQUI_NOEU_EPSI", "EQUI_NOEU_SIGM", "ERRE_ELEM_NOZ1",
14905      "ERRE_ELEM_NOZ2", "ERRE_ELNO_ELGA", "ERRE_NOEU_ELGA", "ERTH_ELEM_TEMP", "ERTH_ELNO_ELEM",
14906      "ETOT_ELEM", "ETOT_ELNO_ELGA", "FLUX_ELNO_TEMP", "FLUX_NOEU_TEMP", "FORC_NODA", "FSUR_2D",
14907      "FSUR_3D", "FVOL_2D", "FVOL_3D", "GRAD_NOEU_THETA", "HYDR_ELNO_ELGA", "HYDR_NOEU_ELGA",
14908      "INTE_ELNO_ACTI", "INTE_ELNO_REAC", "INTE_NOEU_ACTI", "INTE_NOEU_REAC", "IRRA",
14909      "META_ELNO_TEMP", "META_NOEU_TEMP", "PMPB_ELNO_SIEF", "PMPB_NOEU_SIEF",
14910      "PRES", "PRES_DBEL_DEPL", "PRES_ELNO_DBEL", "PRES_ELNO_IMAG", "PRES_ELNO_REEL",
14911      "PRES_NOEU_DBEL", "PRES_NOEU_IMAG", "PRES_NOEU_REEL",
14912      "RADI_ELNO_SIGM", "RADI_NOEU_SIGM", "REAC_NODA",
14913      "SIEF_ELNO", "SIEF_ELNO_ELGA", "SIEF_NOEU", "SIEF_NOEU_ELGA", "SIEQ_ELNO_TUYO",
14914      "SIGM_ELNO_CART", "SIGM_ELNO_COQU", "SIGM_ELNO_DEPL", "SIGM_ELNO_SIEF",
14915      "SIGM_ELNO_TUYO", "SIGM_ELNO_ZAC", "SIGM_NOEU_CART", "SIGM_NOEU_COQU",
14916      "SIGM_NOEU_DEPL", "SIGM_NOEU_SIEF", "SIGM_NOEU_ZAC", "SIGM_NOZ1_ELGA",
14917      "SIGM_NOZ2_ELGA", "SIPO_ELNO_DEPL", "SIPO_ELNO_SIEF", "SIPO_NOEU_DEPL",
14918      "SIPO_NOEU_SIEF", "SIRE_ELNO_DEPL", "SIRE_NOEU_DEPL", "TEMP", "THETA",
14919      "VALE_CONT", "VALE_NCOU_MAXI", "VARI_ELNO", "VARI_ELNO_COQU",
14920      "VARI_ELNO_ELGA", "VARI_ELNO_TUYO", "VARI_NOEU", "VARI_NOEU_ELGA", "VARI_NON_LOCAL",
14921      "VITE", "VITE_ABSOLU", "VITE_VENT",
14922                            )
14923
14924 LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n',
14925             UIinfo={"groupes":("Maillage",)},
14926                fr="Lecture de champs aux noeuds ou par éléments aux noeuds sur un fichier IDEAS ou EnSight",
14927
14928
14929 # 0) mots clés généraux :
14930 #----------------------
14931          TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_THER","EVOL_ELAS","EVOL_NOLI","MODE_MECA",
14932                                                           "MODE_MECA_C","DYNA_TRANS","DYNA_HARMO","HARM_GENE",
14933                                                           "EVOL_CHAR") ),
14934
14935          FORMAT          =SIMP(statut='o',typ='TXM',into=("IDEAS","IDEAS_DS58","ENSIGHT","MED") ),
14936
14937          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
14938          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14939
14940          regles=(UN_PARMI('MAILLAGE','MODELE'),),
14941          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster),
14942          MODELE          =SIMP(statut='f',typ=modele_sdaster),
14943
14944          NB_VARI         =SIMP(statut='f',typ='I' ),
14945
14946
14947 # 1) blocs selon le format choisi :
14948 #---------------------------------
14949
14950 # 1-1 ideas dataset-58 :
14951 # ----------------------
14952          b_dataset_58 = BLOC(condition="FORMAT=='IDEAS_DS58'",
14953            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
14954          ),
14955          b_dataset_58_b = BLOC(condition="(FORMAT=='IDEAS_DS58') and ((TYPE_RESU=='DYNA_TRANS') or\
14956                                         (TYPE_RESU=='DYNA_HARMO') or (TYPE_RESU=='HARM_GENE'))",
14957            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
14958            NOM_CHAM=SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE","EPSI_NOEU_DEPL","SIEF_NOEU",) ),
14959            REDEFI_ORIENT=FACT(statut='f',max='**',
14960                               regles=(PRESENT_PRESENT('CODE_DIR','DIRECTION','NOEUD',),),
14961                               CODE_DIR =SIMP(statut='f',typ='I',into=(1,2,3,) ),
14962                               DIRECTION=SIMP(statut='f',typ='R',min=3,max=3,),
14963                               NOEUD    =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),),
14964          ),
14965
14966 # 1-2 ideas  :
14967 # ---------
14968          b_ideas         =BLOC(condition="FORMAT=='IDEAS'",
14969            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
14970 #           TEST            =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
14971            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()),
14972            FORMAT_IDEAS    =FACT(statut='f',max='**',
14973              regles=(UN_PARMI('POSI_INST','POSI_FREQ'),),
14974              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=l_nom_cham_pas_elga()),
14975              NUME_DATASET    =SIMP(statut='f',typ='I',into=(55,57,2414) ),
14976              RECORD_3        =SIMP(statut='f',typ='I',max=10),
14977              RECORD_6        =SIMP(statut='f',typ='I',max=10),
14978              RECORD_9        =SIMP(statut='f',typ='I',max=10),
14979              POSI_ORDRE      =SIMP(statut='o',typ='I',min=2,max=2),
14980              POSI_NUME_MODE  =SIMP(statut='f',typ='I',min=2,max=2),
14981              POSI_MASS_GENE  =SIMP(statut='f',typ='I',min=2,max=2),
14982              POSI_INST       =SIMP(statut='f',typ='I',min=2,max=2),
14983              POSI_FREQ       =SIMP(statut='f',typ='I',min=2,max=2),
14984              NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),),
14985          ),
14986 # 1-3 ensight :
14987 # -------------
14988          b_ensight       =BLOC(condition="FORMAT=='ENSIGHT'",
14989            NOM_FICHIER     =SIMP(statut='f',typ='TXM'),
14990            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()),
14991          ),
14992
14993 # 1-4 med :
14994 # ---------
14995          b_med           =BLOC(condition = "FORMAT == 'MED'",fr="Nom du champ dans le fichier MED",
14996            UNITE           =SIMP(statut='f',typ='I',defaut= 81, fr="Le fichier est : fort.n.",),
14997            FORMAT_MED      =FACT(statut='f',max='**',
14998              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=l_nom_cham_pas_elga()),
14999              NOM_CHAM_MED    =SIMP(statut='o',typ='TXM',               fr="Nom du champ dans le fichier MED.",  ),
15000              NOM_CMP_IDEM    =SIMP(statut='f',typ='TXM',into=("OUI",), fr="Les composantes ont le meme nom dans MED et ASTER.", ),
15001              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**',      fr="Nom des composantes dans ASTER.", ),
15002              NOM_CMP_MED     =SIMP(statut='f',typ='TXM',max='**',      fr="Nom des composantes dans MED.", ),
15003            ),
15004                   ),
15005
15006 # 2) blocs selon le type du résultat :
15007 #---------------------------------
15008          b_mode_meca     =BLOC(condition="(TYPE_RESU=='MODE_MECA')or(TYPE_RESU=='MODE_MECA_C')",
15009            MATR_A         =SIMP(statut='f',typ=matr_asse_depl_r,),
15010            MATR_B         =SIMP(statut='f',typ=matr_asse_depl_r,),
15011          ),
15012
15013
15014 # 3) autres blocs :
15015 #---------------------------------
15016          b_extrac        =BLOC(condition="1",fr="accès à un champ dans la structure de données résultat",
15017            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST','FREQ','LIST_FREQ'),),
15018            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15019            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
15020            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15021            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
15022            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
15023            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15024            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
15025
15026            b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
15027              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
15028              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
15029            ),
15030          ),
15031 )  ;
15032 #& MODIF COMMANDE  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
15033 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15034 # ======================================================================
15035 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
15036 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
15037 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
15038 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
15039 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
15040 #                                                                       
15041 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
15042 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
15043 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
15044 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
15045 #                                                                       
15046 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
15047 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
15048 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
15049 # ======================================================================
15050
15051 from Macro.lire_table_ops import lire_table_ops
15052
15053 def lire_table_prod(self,TYPE_TABLE,**args):
15054   if TYPE_TABLE == "TABLE"          : return table_sdaster
15055   if TYPE_TABLE == "TABL_CARA_GEOM" : return tabl_cara_geom
15056   if TYPE_TABLE == "TABL_POST_RELE" : return tabl_post_rele
15057   if TYPE_TABLE == "TABL_POST_USUR" : return tabl_post_usur
15058   if TYPE_TABLE == "TABL_POST_ALEA" : return tabl_post_alea
15059   raise AsException("type de concept resultat non prevu")
15060
15061 LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=lire_table_prod,
15062                  fr="Lecture d un concept de type table",
15063             UIinfo={"groupes":("Maillage",)},
15064          UNITE           =SIMP(statut='o',typ='I' ),
15065          FORMAT          =SIMP(statut='f',typ='TXM',into=("ASTER",),defaut="ASTER"),
15066          NUME_TABLE      =SIMP(statut='f',typ='I',defaut=1),
15067          TYPE_TABLE      =SIMP(statut='f',typ='TXM',defaut="TABLE",
15068                               into=("TABLE",
15069                                     "TABL_CARA_GEOM",
15070                                     "TABL_POST_RELE",
15071                                     "TABL_POST_USUR",
15072                                     "TABL_POST_ALEA" ) ),
15073          SEPARATEUR      =SIMP(statut='o',typ='TXM'),
15074          PARA            =SIMP(statut='f',typ='TXM',max='**'),
15075          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15076          )  ;
15077
15078 #& MODIF COMMANDE  DATE 03/11/2004   AUTEUR MCOURTOI M.COURTOIS 
15079 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15080 # ======================================================================
15081 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15082 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15083 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15084 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15085 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15086 #
15087 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15088 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15089 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15090 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15091 #
15092 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15093 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15094 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15095 # ======================================================================
15096 # RESPONSABLE GNICOLAS G.NICOLAS
15097
15098 from Macro.macr_adap_mail_ops import macr_adap_mail_ops
15099
15100 def macr_adap_mail_prod(self,MAJ_CHAM,ADAPTATION,**args):
15101   maillage_np1=ADAPTATION['MAILLAGE_NP1']
15102   self.type_sdprod(maillage_np1,maillage_sdaster)
15103   if MAJ_CHAM == None:return None
15104 # Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP
15105   for ch in MAJ_CHAM:
15106     t=ch['TYPE_CHAM']
15107     if t[0:5] == "NOEU_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_no_"+string.lower(t[5:])))
15108     if t == "ELEM_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl)
15109     if t[0:5] == "ELEM_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:])))
15110     if t == "ELNO_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl)
15111     if t[0:5] == "ELNO_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:])))
15112     if t == "ELGA_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl)
15113     if t[0:5] == "ELGA_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:])))
15114   return None
15115
15116 MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_adap_mail_prod,
15117                      fr="Adapter un maillage avec le logiciel HOMARD.",
15118                      ang="Mesh adaptation with HOMARD software.",
15119                      docu="U7.03.01-b",
15120 #
15121 # 1. Le niveau d'information
15122 #
15123          INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
15124 #
15125 # 2. Version de HOMARD
15126 #
15127          VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V7_1",
15128                                into=("V7_1", "V7_N", "V7_N_PERSO"),
15129                            fr="Version de HOMARD",
15130                            ang="HOMARD release"),
15131 #
15132 # 3. Langue des messages issus de HOMARD
15133 #
15134          LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
15135                                into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
15136                            fr="Langue des messages issus de HOMARD.",
15137                            ang="Language for HOMARD messages." ),
15138 #
15139 # 4. Gestion des éléments autres que des simplexes
15140 #       0 : autres elements refuses
15141 #       1 : raffinement sur les simplexes, mais autres acceptes
15142 #       2 : tous (defaut)
15143 #
15144          NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2),
15145                           fr="Type d'éléments acceptés.",
15146                           ang="Type of authorized elements." ),
15147 #
15148 # 5. Le type de traitement :
15149 #
15150          ADAPTATION      =FACT(statut='o',
15151                            fr="Type d'adaptation",
15152                            ang="Type of adaptation",
15153 #
15154 # 5.1. Deux choix d'adaptation exclusifs :
15155 #
15156 # 5.1.
15157 #      A. Selon un indicateur d'erreur, avec trois variantes :
15158 #         . Raffinement et deraffinement
15159 #         . Raffinement seul
15160 #         . Deraffinement seul
15161 #      B. Uniforme, avec trois variantes :
15162 #         . Raffinement seul
15163 #         . Deraffinement seul
15164 #         . Rien : le maillage est le meme a la sortie et a l'entree
15165 #
15166            regles=(
15167                    UN_PARMI('LIBRE','UNIFORME'),
15168                   ),
15169            LIBRE          = SIMP(statut='f',typ='TXM',
15170                                  into=("RAFF_DERA","RAFFINEMENT","DERAFFINEMENT"),    
15171                            fr="Adaptation selon un indicateur d'erreur.",
15172                            ang="Adaptation among an error indicator" ),
15173            UNIFORME       = SIMP(statut='f',typ='TXM',
15174                                  into=("RAFFINEMENT","DERAFFINEMENT","RIEN"),    
15175                            fr="Adaptation uniforme.",
15176                            ang="Uniform adaptation" ),
15177 #
15178 # 5.2. Quel que soit le type de traitement, il faut donner  :
15179 #      A. Le concept du maillage initial
15180 #      B. Le concept du maillage final
15181 #
15182            MAILLAGE_N     = SIMP(statut='o',typ=maillage_sdaster,
15183                            fr="Maillage avant adaptation",
15184                            ang="Mesh before adaptation" ),
15185            MAILLAGE_NP1   = SIMP(statut='o',typ=(CO,maillage_sdaster),
15186                            fr="Maillage apres adaptation",
15187                            ang="Mesh after adaptation" ),
15188 #
15189 # 5.3. Pour de l'adaptation libre, il faut l'indicateur d'erreur
15190 #
15191 #
15192            b_indicateur_d_erreur   =BLOC( condition = " LIBRE != None " ,
15193                            fr="Choix de l'indicateur d'erreur",
15194                            ang="Selection of error indicator",
15195 #
15196 # 5.3.1. Le nom du concept resultat_sdaster
15197 #
15198                            RESULTAT_N     = SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ,
15199                            fr="Concept resultat Code_Aster contenant l'indicateur d'erreur",
15200                            ang="Result with error indicator" ),
15201 #
15202 # 5.3.2. Le champ d'indicateur d'erreur
15203 #
15204                            INDICATEUR     = SIMP(statut='o',typ='TXM',     
15205                            fr="Champ de l'indicateur d'erreur",
15206                            ang="Error indicator field" ),
15207 #
15208 # 5.3.3. La composante retenue
15209 #
15210                            NOM_CMP_INDICA = SIMP(statut='o',typ='TXM',
15211                            fr="Composante retenue",
15212                            ang="Selected component" ),
15213 #
15214 # 5.3.4. Le paramètre temporel pour l'indicateur
15215 #
15216                            regles=(EXCLUS('NUME_ORDRE','INST'),),
15217 #
15218 # 5.3.4.1. Soit le numero d'ordre
15219 #
15220                            NUME_ORDRE     = SIMP(statut='f',typ='I',
15221                            fr="Numero d ordre",
15222                            ang="Rank" ),  
15223 #
15224 # 5.3.4.2. Soit l'instant
15225 # 5.3.4.2.1. Sa valeur
15226 #
15227                            INST           = SIMP(statut='f',typ='R',
15228                            fr="Instant associé",
15229                            ang="Instant" ),
15230 #
15231 # 5.3.4.2.2. La précision du choix de l'instant
15232 #
15233                            b_precision     =BLOC(condition="(INST != None)",
15234                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
15235                              fr="Précision sur le choix de l'instant associé",
15236                              ang="Accuracy over instant choice" ),
15237                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
15238                              fr="Critère de précision sur le choix de l'instant associé",
15239                              ang="Accuracy criterium over instant choice" ),),
15240 #
15241                            ) ,
15242 #
15243 # 5.4. Les criteres pour de l'adaptation libre :
15244 #        absolu, relatif, en proportion d'entite
15245 # 5.4.1. Pour le raffinement :
15246 #
15247            b_critere_de_raffinement =BLOC( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) " ,
15248                            fr="Critère de raffinement.",
15249                            ang="Refinement threshold.",
15250                            regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),),
15251                            CRIT_RAFF_ABS  = SIMP(statut='f',typ='R',
15252                                                    fr="Critère absolu",
15253                                                    ang="Absolute threshold" ),  
15254                            CRIT_RAFF_REL  = SIMP(statut='f',typ='R',
15255                                                    fr="Critère relatif : fraction entre 0 et 1",
15256                                                    ang="Relative threshold : ratio between 0 and 1" ),  
15257                            CRIT_RAFF_PE   = SIMP(statut='f',typ='R',
15258                                                    fr="Pourcentage d'éléments : fraction entre 0 et 1",
15259                                                    ang="Percentage of elements : ratio between 0 and 1" ),  
15260                            ) ,
15261 #
15262 # 5.4.2. Pour le deraffinement :
15263 #
15264            b_critere_de_deraffinement =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) " ,
15265                            fr="Critère de déraffinement.",
15266                            ang="Unrefinement threshold.",
15267                            regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),),
15268                            CRIT_DERA_ABS  = SIMP(statut='f',typ='R' ,
15269                                                  fr="Critère absolu",
15270                                                  ang="Absolute threshold" ),  
15271                            CRIT_DERA_REL  = SIMP(statut='f',typ='R',
15272                                                  fr="Critère relatif : fraction entre 0 et 1",
15273                                                  ang="Relative threshold : ratio between 0 and 1" ),  
15274                            CRIT_DERA_PE   = SIMP(statut='f',typ='R',
15275                                                  fr="Pourcentage d'éléments : fraction entre 0 et 1",
15276                                                  ang="Percentage of elements : ratio between 0 and 1" ),  
15277                            ) ,
15278 #
15279 # 5.5. Les niveaux extremes pour le maillage adapte
15280 # 5.5.1. Pour le raffinement :
15281 #
15282            b_niveau_maximum =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) or \
15283                                                   ( UNIFORME == 'RAFFINEMENT' ) " ,
15284                            fr="Niveau maximum de profondeur de raffinement",
15285                            ang="Maximum level for refinement",
15286                            NIVE_MAX       = SIMP(statut='f',typ='I' ),
15287                            ) ,
15288 #
15289 # 5.5.2. Pour le deraffinement :
15290 #
15291            b_niveau_minimum =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) or \
15292                                                   ( UNIFORME == 'DERAFFINEMENT' ) " ,
15293                            fr="Niveau minimum de profondeur de déraffinement",
15294                            ang="Minimum level for unrefinement",
15295                            NIVE_MIN       = SIMP(statut='f',typ='I' ),
15296                            ) ,
15297 #
15298          ),
15299 #
15300 # 6. Suivi d'une frontiere
15301 #
15302          MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
15303                            fr="Maillage de la frontiere à suivre",
15304                            ang="Boundary mesh" ),
15305 #
15306          b_frontiere   =BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
15307                            fr="Groupes définissant la frontière",
15308                            ang="Groups which define the boundary",
15309                            GROUP_MA       = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ),
15310                            ) ,
15311 #
15312 # 7. Mise à jour de champs sur le nouveau maillage
15313 #
15314          MAJ_CHAM        =FACT(statut='f',max='**',
15315                            fr="Mise à jour de champs sur le nouveau maillage.",
15316                            ang="Updating of fields over the new mesh.",
15317 #
15318 # 7.1. Le nom du champ qui contiendra le resultat de la mise a jour
15319 #
15320            CHAM_MAJ       = SIMP(statut='o',typ=(CO,cham_gd_sdaster),
15321                            fr="Nom du champ qui contiendra le champ mis à jour",
15322                            ang="Name of the field for the updated field"),
15323 #
15324 # 7.2. Le type du champ qui contiendra le resultat de la mise a jour
15325 #
15326            TYPE_CHAM      = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO(),
15327                            fr="Type du champ qui contiendra le champ mis à jour",
15328                            ang="Type of the field for the updated field" ),
15329 #
15330 # 7.3. Le nom du resultat du champ a interpoler
15331 #
15332            RESULTAT       = SIMP(statut='o',
15333                                  typ=(evol_elas,evol_noli,evol_ther),
15334                            fr="Resultat contenant le champ à mettre à jour",
15335                            ang="Result with field to be updated" ),
15336 #
15337 # 7.4. Le nom du champ a interpoler
15338 #
15339            NOM_CHAM       = SIMP(statut='o',typ='TXM',
15340                            fr="Nom du champ à mettre à jour",
15341                            ang="Name of the field to be updated" ),
15342 #
15343 # 7.5. Le paramètre temporel pour le champ a interpoler
15344 #
15345                            regles=(EXCLUS('NUME_ORDRE','INST'),),
15346 #
15347 # 7.5.1. Soit le numero d'ordre
15348 #
15349            NUME_ORDRE     = SIMP(statut='f',typ='I',
15350                            fr="Numero d ordre du champ à mettre à jour",
15351                            ang="Rank of the field to be updated" ),
15352 #
15353 # 7.5.2. Soit l'instant
15354 # 7.5.2.1. Sa valeur
15355 #
15356            INST           = SIMP(statut='f',typ='R',
15357                            fr="Instant associé",
15358                            ang="Instant" ),
15359 #
15360 # 7.5.2.2. La précision du choix de l'instant
15361 #
15362                            b_precision     =BLOC(condition="(INST != None)",
15363                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
15364                              fr="Précision sur le choix de l'instant associé",
15365                              ang="Accuracy over instant choice" ),
15366                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
15367                              fr="Critère de précision sur le choix de l'instant associé",
15368                              ang="Accuracy criterium over instant choice" ),),
15369          ),
15370 #
15371 # 8. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres
15372 # 8.1. Nombre de noeuds et éléments
15373 #
15374          NOMBRE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
15375                           fr="Nombre de noeuds et éléments du maillage",
15376                           ang="Number of nodes and éléments in the mesh" ),
15377 #
15378 # 8.2. Determination de la qualité des éléments du maillage
15379 #
15380          QUALITE        = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15381                           fr="Qualité du maillage",
15382                           ang="Mesh quality" ),
15383 #
15384 # 8.3. Connexite du maillage
15385 #
15386          CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15387                           fr="Connexité du maillage.",
15388                           ang="Mesh connexity." ),
15389 #
15390 # 8.4. Taille des sous-domaines du maillage
15391 #
15392          TAILLE         = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15393                           fr="Tailles des sous-domaines du maillage.",
15394                           ang="Sizes of mesh sub-domains." ),
15395 #
15396 # 8.5. Controle de la non-interpenetration des éléments
15397 #
15398          INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15399                           fr="Controle de la non interpénétration des éléments.",
15400                           ang="Overlapping checking." ),
15401 #
15402 )  ;
15403 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
15404 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15405 # ======================================================================
15406 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15407 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15408 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15409 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15410 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15411 #
15412 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15413 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15414 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15415 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15416 #
15417 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15418 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15419 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15420 # ======================================================================
15421 # RESPONSABLE F1BHHAJ J.ANGLES
15422 from Macro.macr_ascouf_calc_ops import macr_ascouf_calc_ops
15423 def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,CHARGE,RESU_THER,**args):
15424   self.type_sdprod(MODELE,modele_sdaster)
15425   if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater)
15426   if CARA_ELEM  != None:self.type_sdprod(CARA_ELEM,cara_elem)
15427   if FOND_FISS  != None:self.type_sdprod(FOND_FISS,fond_fiss)
15428   if CHARGE     != None:self.type_sdprod(CHARGE,char_meca)
15429   if RESU_THER  != None:self.type_sdprod(RESU_THER,evol_ther)
15430   return evol_noli
15431
15432 MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=macr_ascouf_calc_prod,
15433                       fr=" ",
15434                       reentrant='n',
15435             UIinfo={"groupes":("Outils métier",)},
15436          regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),),
15437
15438          TYPE_MAILLAGE   =SIMP(statut='o',typ='TXM',
15439                                into=("SAIN",
15440                                      "FISS_COUDE",
15441                                      "FISS_AXIS_DEB",
15442                                      "SOUS_EPAIS_COUDE"
15443                                      ) ),
15444
15445          CL_BOL_P2_GV    =FACT(statut='f',
15446            ANGLE           =SIMP(statut='o',typ='R' ),
15447            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),
15448          ),
15449
15450          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
15451          MODELE          =SIMP(statut='o',typ=(CO,modele_sdaster)),
15452          CHAM_MATER      =SIMP(statut='f',typ=(CO,cham_mater)),
15453          CARA_ELEM       =SIMP(statut='f',typ=(CO,cara_elem)),
15454          FOND_FISS       =SIMP(statut='f',typ=(CO,fond_fiss)),
15455          CHARGE          =SIMP(statut='f',typ=(CO,char_meca)),
15456          RESU_THER       =SIMP(statut='f',typ=(CO,evol_ther)),
15457
15458          AFFE_MATERIAU   =FACT(statut='o',max=3,
15459            regles=(UN_PARMI('TOUT','GROUP_MA'),),
15460            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15461            GROUP_MA        =SIMP(statut='f',typ='TXM',into=("COUDE","BOL") ),
15462            MATER           =SIMP(statut='o',typ=mater_sdaster ),
15463            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
15464          ),
15465
15466          PRES_REP        =FACT(statut='f',
15467            PRES            =SIMP(statut='o',typ='R' ),
15468            EFFE_FOND_P1    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15469            PRES_LEVRE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
15470            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15471          ),
15472
15473          ECHANGE         =FACT(statut='f',
15474            COEF_H          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15475            TEMP_EXT        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15476          ),
15477
15478          TORS_P1         =FACT(statut='f',max=6,
15479            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
15480            FX              =SIMP(statut='f',typ='R' ),
15481            FY              =SIMP(statut='f',typ='R' ),
15482            FZ              =SIMP(statut='f',typ='R' ),
15483            MX              =SIMP(statut='f',typ='R' ),
15484            MY              =SIMP(statut='f',typ='R' ),
15485            MZ              =SIMP(statut='f',typ='R' ),
15486            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15487          ),
15488
15489          COMP_INCR       =FACT(statut='f',
15490            RELATION        =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ),
15491            VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ),
15492          ),
15493
15494          COMP_ELAS       =FACT(statut='f',
15495            RELATION        =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ),
15496            ELAS            =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
15497            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
15498          ),
15499
15500          SOLVEUR         =FACT(statut='d',
15501            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
15502            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
15503              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
15504            ),
15505            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
15506              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
15507            ),
15508            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
15509                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
15510              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
15511              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15512            ),
15513            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
15514              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
15515              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
15516              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
15517              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
15518              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
15519            ),
15520            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
15521          ),
15522
15523          CONVERGENCE     =FACT(statut='d',
15524            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
15525            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
15526            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
15527            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
15528            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
15529                                 ,defaut= 1.0E-6),
15530            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
15531            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
15532            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
15533          ),
15534
15535          NEWTON          =FACT(statut='d',
15536            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
15537            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
15538            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
15539            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
15540            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
15541          ),
15542
15543          RECH_LINEAIRE   =FACT(statut='d',
15544            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
15545            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
15546          ),
15547
15548          INCREMENT       =FACT(statut='o',
15549            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
15550                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
15551            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
15552            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
15553                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
15554            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
15555            INST_INIT       =SIMP(statut='f',typ='R'),
15556            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
15557            INST_FIN        =SIMP(statut='f',typ='R'),
15558            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
15559            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
15560            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
15561            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
15562          ),
15563
15564          THETA_3D        =FACT(statut='f',max='**',
15565            R_INF           =SIMP(statut='o',typ='R' ),
15566            R_SUP           =SIMP(statut='o',typ='R' ),
15567          ),
15568
15569          IMPR_TABLE      =FACT(statut='f',
15570            regles=(UN_PARMI('TOUT_PARA','NOM_PARA', ),
15571             PRESENT_PRESENT('TOUT_PARA','ANGLE',    ),
15572             PRESENT_PRESENT('TOUT_PARA','R_CINTR',  ),
15573                    UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL',),),
15574            NOM_PARA        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=4,
15575                                  into=("TRESCA_MEMBRANE",
15576                                        "TRESCA_MFLE",
15577                                        "TRESCA",
15578                                        "SI_LONG"
15579                                        "SI_RADI"
15580                                        "SI_CIRC"
15581                                        ) ),
15582            TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15583            ANGLE           =SIMP(statut='f',typ='R',max='**' ),
15584            R_CINTR         =SIMP(statut='f',typ='R',max='**' ),
15585            POSI_CURV_LONGI =SIMP(statut='f',typ='R',max='**' ),
15586            POSI_ANGUL      =SIMP(statut='f',typ='R',max='**' ),
15587            TRANSFORMEE     =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ),
15588          ),
15589
15590          IMPRESSION      =FACT(statut='f',
15591            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
15592                                  into=("RESULTAT","ASTER","IDEAS","CASTEM") ),
15593                                  
15594            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
15595              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
15596            ),  
15597
15598            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
15599              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
15600            ),
15601
15602          ),
15603
15604          TITRE           =SIMP(statut='f',typ='TXM' ),
15605
15606          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
15607 )  ;
15608 #& MODIF COMMANDE  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
15609 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15610 # ======================================================================
15611 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15612 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15613 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15614 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15615 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15616 #
15617 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15618 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15619 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15620 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15621 #
15622 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15623 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15624 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15625 # ======================================================================
15626 # RESPONSABLE F1BHHAJ J.ANGLES
15627 from Macro.macr_ascouf_mail_ops import macr_ascouf_mail_ops
15628 MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=maillage_sdaster,
15629                       fr=" ",reentrant='n',
15630             UIinfo={"groupes":("Outils métier",)},
15631
15632          regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),),
15633
15634          EXEC_MAILLAGE   =FACT(statut='o',
15635            LOGICIEL        =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000") ),
15636            UNITE_DATG      =SIMP(statut='f',typ='I',defaut=70),  
15637            UNITE_MGIB      =SIMP(statut='f',typ='I',defaut=19),  
15638            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
15639          ),
15640
15641          TYPE_ELEM       =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8") ),
15642
15643          COUDE           =FACT(statut='o',
15644            ANGLE           =SIMP(statut='o',typ='R' ),  
15645            R_CINTR         =SIMP(statut='o',typ='R' ),  
15646            L_TUBE_P1       =SIMP(statut='o',typ='R' ),  
15647            L_TUBE_P2       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
15648            NB_ELEM_EPAIS   =SIMP(statut='f',typ='I',defaut= 3 ),  
15649            SYME            =SIMP(statut='f',typ='TXM',defaut="ENTIER",into=("ENTIER","QUART","DEMI") ),
15650            TRANSFORMEE     =SIMP(statut='o',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ),
15651            b_transf_coude  =BLOC(condition = "TRANSFORMEE == 'COUDE' ",
15652               DEXT            =SIMP(statut='o',typ='R' ),  
15653               EPAIS           =SIMP(statut='o',typ='R' ),  
15654               SUR_EPAIS       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
15655               BOL_P2          =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ),
15656            ),
15657            b_transf_tube   =BLOC(condition = "TRANSFORMEE == 'TUBE' ",
15658               TRAN_EPAIS      =SIMP(statut='o',typ='TXM',defaut="NON",into=("OUI","NON") ),
15659               b_trans_epais_oui    =BLOC(condition = "TRAN_EPAIS == 'OUI' ",
15660                       regles=(ENSEMBLE('ANGL_TETA2','EPAIS_TI'),
15661                               UN_PARMI('ABSC_CURV_TRAN','POSI_ANGU_TRAN'),),
15662                       DEXT_T1         =SIMP(statut='o',typ='R' ),  
15663                       EPAIS_T1        =SIMP(statut='o',typ='R' ),  
15664                       EPAIS_T2        =SIMP(statut='o',typ='R' ),  
15665                       EPAIS_TI        =SIMP(statut='f',typ='R' ),  
15666                       ANGL_TETA1      =SIMP(statut='o',typ='R' ),  
15667                       ANGL_TETA2      =SIMP(statut='f',typ='R' ),  
15668                       ABSC_CURV_TRAN  =SIMP(statut='f',typ='R' ),  
15669                       POSI_ANGU_TRAN  =SIMP(statut='f',typ='R' ),  
15670               ),
15671               b_trans_epais_non    =BLOC(condition = "TRAN_EPAIS == 'NON' ",
15672                       DEXT            =SIMP(statut='o',typ='R' ),  
15673                       EPAIS           =SIMP(statut='o',typ='R' ),  
15674                       SUR_EPAIS       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
15675                       BOL_P2          =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ),
15676               ),
15677            ),
15678          ),
15679
15680          SOUS_EPAIS_COUDE=FACT(statut='f',
15681            regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
15682                    UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
15683            TYPE            =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
15684            AXE_CIRC        =SIMP(statut='f',typ='R' ),  
15685            AXE_LONGI       =SIMP(statut='o',typ='R' ),  
15686            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
15687            POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),  
15688            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
15689            POSI_CURV_CIRC  =SIMP(statut='f',typ='R' ),  
15690            AZIMUT          =SIMP(statut='f',typ='R' ),  
15691            SOUS_EPAIS      =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
15692            NB_ELEM_LONGI   =SIMP(statut='o',typ='I' ),  
15693            NB_ELEM_CIRC    =SIMP(statut='o',typ='I' ),  
15694            NB_ELEM_RADI    =SIMP(statut='f',typ='I',defaut= 3 ),  
15695            EMPREINTE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15696          ),
15697
15698          SOUS_EPAIS_MULTI=FACT(statut='f',max='**',
15699            regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
15700                    UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
15701            TYPE            =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
15702            AXE_CIRC        =SIMP(statut='f',typ='R' ),  
15703            AXE_LONGI       =SIMP(statut='o',typ='R' ),  
15704            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
15705            POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),  
15706            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
15707            POSI_CURV_CIRC  =SIMP(statut='f',typ='R' ),  
15708            AZIMUT          =SIMP(statut='f',typ='R' ),  
15709            SOUS_EPAIS      =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
15710            NB_ELEM_LONGI   =SIMP(statut='o',typ='I' ),  
15711            NB_ELEM_CIRC    =SIMP(statut='o',typ='I' ),  
15712            EMPREINTE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15713          ),
15714
15715          FISS_COUDE      =FACT(statut='f',
15716            regles=(UN_PARMI('ABSC_CURV','POSI_ANGUL'),),
15717            AXIS            =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),  
15718            b_axis_non    =BLOC(condition = "AXIS == 'NON' ",
15719                    LONGUEUR        =SIMP(statut='o',typ='R' ),  
15720            ),
15721            b_axis_oui    =BLOC(condition = "AXIS == 'OUI' ",
15722                    LONGUEUR        =SIMP(statut='f',typ='R' ),  
15723            ),
15724            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
15725            ABSC_CURV       =SIMP(statut='f',typ='R' ),  
15726            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
15727            FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT") ),
15728            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),  
15729            ORIEN           =SIMP(statut='o',typ='R',
15730                                  into=(45.,-45.,90.,0.E+0) ),
15731            NB_TRANCHE      =SIMP(statut='o',typ='I' ),  
15732            NB_SECTEUR      =SIMP(statut='o',typ='I' ),  
15733            NB_COURONNE     =SIMP(statut='o',typ='I' ),  
15734            RAYON_TORE      =SIMP(statut='f',typ='R' ),  
15735            COEF_MULT_RC2   =SIMP(statut='f',typ='R',defaut= 1. ),  
15736            COEF_MULT_RC3   =SIMP(statut='f',typ='R' ),  
15737            ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.5 ),  
15738          ),
15739
15740          IMPRESSION      =FACT(statut='f',max='**',
15741            regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
15742            FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",   
15743                                  into=("ASTER","IDEAS","CASTEM") ),
15744            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
15745              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
15746            ),  
15747            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
15748              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
15749            ),
15750            FICHIER         =SIMP(statut='f',typ='TXM' ),  
15751            UNITE           =SIMP(statut='f',typ='I' ),  
15752          ),
15753
15754          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
15755 )  ;
15756 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
15757 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15758 # ======================================================================
15759 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15760 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15761 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15762 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15763 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15764 #
15765 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15766 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15767 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15768 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15769 #
15770 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15771 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15772 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15773 # ======================================================================
15774 # RESPONSABLE F1BHHAJ J.ANGLES
15775 from Macro.macr_aspic_calc_ops import macr_aspic_calc_ops
15776
15777 def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,CHARGE,RESU_THER,**args):
15778   if MODELE      != None:self.type_sdprod(MODELE,modele_sdaster)
15779   if CHAM_MATER  != None:self.type_sdprod(CHAM_MATER,cham_mater)
15780   if CARA_ELEM   != None:self.type_sdprod(CARA_ELEM,cara_elem)
15781   if FOND_FISS_1 != None:self.type_sdprod(FOND_FISS_1,fond_fiss)
15782   if FOND_FISS_2 != None:self.type_sdprod(FOND_FISS_2,fond_fiss)
15783   if CHARGE      != None:self.type_sdprod(CHARGE,char_meca)
15784   if RESU_THER   != None:self.type_sdprod(RESU_THER,evol_ther)
15785   return evol_noli
15786
15787 MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_aspic_calc_prod,
15788                     fr=" ",reentrant='n',
15789             UIinfo={"groupes":("Outils métier",)},
15790          regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),),
15791
15792          TYPE_MAILLAGE   =SIMP(statut='o',typ='TXM',
15793                                into=("SAIN_FIN","SAIN_GROS","FISS_COUR_DEB","FISS_COUR_NONDEB","FISS_LONG_DEB",
15794                                      "FISS_LONG_NONDEB","FISS_AXIS_DEB","FISS_AXIS_NONDEB") ),
15795
15796          TUBULURE        =FACT(statut='o',
15797            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2") ),
15798          ),
15799          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
15800          MODELE          =SIMP(statut='f',typ=(CO,modele_sdaster)),
15801          CHAM_MATER      =SIMP(statut='f',typ=(CO,cham_mater)),
15802          CARA_ELEM       =SIMP(statut='f',typ=(CO,cara_elem)),
15803          FOND_FISS_1     =SIMP(statut='f',typ=(CO,fond_fiss)),
15804          FOND_FISS_2     =SIMP(statut='f',typ=(CO,fond_fiss)),
15805          CHARGE          =SIMP(statut='f',typ=(CO,char_meca)),
15806          RESU_THER       =SIMP(statut='f',typ=(CO,evol_ther)),
15807
15808          AFFE_MATERIAU   =FACT(statut='o',max=3,
15809            regles=(UN_PARMI('TOUT','GROUP_MA'),),
15810            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
15811            GROUP_MA        =SIMP(statut='f',typ='TXM',into=("TUBU","CORP","SOUD","SOUDCORP","SOUDTUBU") ),
15812            MATER           =SIMP(statut='o',typ=mater_sdaster),
15813            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
15814            RCCM            =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
15815          ),
15816
15817          EQUILIBRE       =FACT(statut='o',
15818            NOEUD           =SIMP(statut='o',typ=no),
15819          ),
15820
15821          PRES_REP        =FACT(statut='o',
15822            PRES            =SIMP(statut='o',typ='R'),
15823            NOEUD           =SIMP(statut='f',typ=no),
15824            EFFE_FOND       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
15825            PRES_LEVRE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
15826            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
15827          ),
15828
15829          ECHANGE         =FACT(statut='f',
15830            COEF_H_TUBU     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
15831            COEF_H_CORP     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
15832            TEMP_EXT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
15833          ),
15834
15835          TORS_CORP       =FACT(statut='f',max=6,
15836            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
15837            NOEUD           =SIMP(statut='o',typ=no),
15838            FX              =SIMP(statut='f',typ='R'),
15839            FY              =SIMP(statut='f',typ='R'),
15840            FZ              =SIMP(statut='f',typ='R'),
15841            MX              =SIMP(statut='f',typ='R'),
15842            MY              =SIMP(statut='f',typ='R'),
15843            MZ              =SIMP(statut='f',typ='R'),
15844            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
15845          ),
15846
15847          TORS_TUBU       =FACT(statut='f',max=6,
15848            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
15849            FX              =SIMP(statut='f',typ='R'),
15850            FY              =SIMP(statut='f',typ='R'),
15851            FZ              =SIMP(statut='f',typ='R'),
15852            MX              =SIMP(statut='f',typ='R'),
15853            MY              =SIMP(statut='f',typ='R'),
15854            MZ              =SIMP(statut='f',typ='R'),
15855            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
15856          ),
15857
15858          COMP_INCR       =FACT(statut='f',
15859            RELATION        =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ),
15860            VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ),
15861          ),
15862
15863          COMP_ELAS       =FACT(statut='f',
15864            RELATION        =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ),
15865            ELAS            =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
15866            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
15867          ),
15868
15869          THETA_3D        =FACT(statut='f',max='**',
15870            R_INF           =SIMP(statut='o',typ='R'),
15871            R_SUP           =SIMP(statut='o',typ='R'),
15872          ),
15873
15874          OPTION          =SIMP(statut='f',typ='TXM',into=("CALC_G_MAX","CALC_G_MAX_LOCAL") ),
15875          BORNES          =FACT(statut='f',max='**',
15876            NUME_ORDRE      =SIMP(statut='o',typ='I'),
15877            VALE_MIN        =SIMP(statut='o',typ='R'),
15878            VALE_MAX        =SIMP(statut='o',typ='R'),
15879          ),
15880
15881          SOLVEUR         =FACT(statut='d',
15882            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
15883            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
15884              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
15885            ),
15886            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
15887              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
15888            ),
15889            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
15890                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
15891              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
15892              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15893            ),
15894            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
15895              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
15896              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
15897              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
15898              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
15899              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
15900            ),
15901            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
15902          ),
15903
15904          CONVERGENCE     =FACT(statut='d',
15905            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
15906            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
15907            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
15908            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
15909            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut=1.0E-6),
15910            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut=10),
15911            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut=0),
15912            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
15913          ),
15914
15915          NEWTON          =FACT(statut='d',
15916            REAC_INCR       =SIMP(statut='f',typ='I',defaut=1),
15917            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL","DEPL_CALCULE")),
15918            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE")),
15919            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
15920          ),
15921
15922          RECH_LINEAIRE   =FACT(statut='d',
15923            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut=1.0E-3),
15924            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut=3),
15925          ),
15926
15927          INCREMENT       =FACT(statut='o',
15928            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
15929                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
15930            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
15931            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
15932                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
15933            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
15934            INST_INIT       =SIMP(statut='f',typ='R'),
15935            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
15936            INST_FIN        =SIMP(statut='f',typ='R'),
15937            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
15938            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
15939            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
15940            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
15941          ),
15942
15943          PAS_AZIMUT      =SIMP(statut='f',typ='I',defaut=1),
15944
15945          IMPRESSION      =FACT(statut='f',
15946            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
15947                                  into=("RESULTAT","ASTER","CASTEM","IDEAS")),
15948                                  
15949            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
15950              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
15951            ),  
15952
15953            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
15954              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
15955            ),
15956
15957            b_extrac        =BLOC(condition="((FORMAT=='IDEAS')or(FORMAT=='CASTEM'))",
15958                                  fr="extraction d un champ de grandeur",
15959              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST'),),
15960              NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,
15961                                    into=("DEPL","EQUI_ELNO_SIGM","TEMP")),
15962              
15963              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15964              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
15965              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15966            ),      
15967          ),
15968
15969          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
15970
15971          TITRE           =SIMP(statut='f',typ='TXM'),
15972 )
15973 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
15974 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15975 # ======================================================================
15976 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15977 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15978 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15979 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15980 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15981 #
15982 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15983 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15984 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15985 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15986 #
15987 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15988 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15989 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15990 # ======================================================================
15991 # RESPONSABLE F1BHHAJ J.ANGLES
15992
15993 from Macro.macr_aspic_mail_ops import macr_aspic_mail_ops
15994
15995 MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= macr_aspic_mail_ops,sd_prod=maillage_sdaster,reentrant='n',
15996                     fr=" ",
15997             UIinfo={"groupes":("Outils métier",)},
15998
15999          EXEC_MAILLAGE   =FACT(statut='o',
16000            LOGICIEL        =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000")),
16001            UNITE_DATG      =SIMP(statut='f',typ='I',defaut=70),  
16002            UNITE_MGIB      =SIMP(statut='f',typ='I',defaut=19),  
16003            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
16004          ),
16005
16006          TYPE_ELEM       =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8")),
16007
16008          RAFF_MAIL       =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")),
16009
16010          TUBULURE        =FACT(statut='o',
16011            E_BASE          =SIMP(statut='o',typ='R'),  
16012            DEXT_BASE       =SIMP(statut='o',typ='R'),  
16013            L_BASE          =SIMP(statut='o',typ='R'),  
16014            L_CHANF         =SIMP(statut='o',typ='R'),  
16015            E_TUBU          =SIMP(statut='o',typ='R'),  
16016            DEXT_TUBU       =SIMP(statut='o',typ='R'),  
16017            Z_MAX           =SIMP(statut='o',typ='R'),  
16018            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
16019            L_PENETR        =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
16020          ),
16021
16022          SOUDURE         =FACT(statut='o',
16023            H_SOUD          =SIMP(statut='o',typ='R'),  
16024            ANGL_SOUD       =SIMP(statut='o',typ='R'),  
16025            JEU_SOUD        =SIMP(statut='o',typ='R'),  
16026          ),
16027
16028          CORPS           =FACT(statut='o',
16029            E_CORP          =SIMP(statut='o',typ='R'),  
16030            DEXT_CORP       =SIMP(statut='o',typ='R'),  
16031            X_MAX           =SIMP(statut='o',typ='R'),  
16032          ),
16033
16034          FISS_SOUDURE    =FACT(statut='f',
16035            TYPE            =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")),
16036            AXIS            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
16037            PROFONDEUR      =SIMP(statut='o',typ='R'),  
16038            LONGUEUR        =SIMP(statut='f',typ='R'),  
16039            AZIMUT          =SIMP(statut='o',typ='R'),  
16040            RAYON_TORE      =SIMP(statut='f',typ='R'),  
16041            POSITION        =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")),
16042            FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")),
16043            LIGA_INT        =SIMP(statut='f',typ='R'),  
16044            ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
16045            COEF_MULT_RC1   =SIMP(statut='f',typ='R'),  
16046            COEF_MULT_RC2   =SIMP(statut='f',typ='R'),  
16047            COEF_MULT_RC3   =SIMP(statut='f',typ='R'),  
16048            NB_TRANCHE      =SIMP(statut='f',typ='I'),  
16049            NB_SECTEUR      =SIMP(statut='f',typ='I'),  
16050            NB_COURONNE     =SIMP(statut='f',typ='I'),  
16051          ),
16052
16053          IMPRESSION      =FACT(statut='f',max='**',
16054            regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
16055            FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")),
16056
16057            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
16058              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
16059            ),  
16060
16061            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
16062              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
16063            ),
16064            FICHIER         =SIMP(statut='f',typ='TXM'),  
16065            UNITE           =SIMP(statut='f',typ='I'),  
16066          ),
16067
16068          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
16069 )  ;
16070 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
16071 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16072 # ======================================================================
16073 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
16074 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16075 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16076 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16077 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16078 #                                                                       
16079 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16080 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16081 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16082 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16083 #                                                                       
16084 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16085 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16086 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16087 # ======================================================================
16088
16089 from Macro.macr_cabri_calc_ops import macr_cabri_calc_ops
16090    
16091 def macr_cabri_calc_prod(self,MODELE_THER,MODELE_MECA,CHAM_MATER,
16092                          CHAR_THER,CHAR_MECA,RESU_THER,**args):
16093   if MODELE_THER != None:
16094    self.type_sdprod(MODELE_THER,modele_sdaster)   
16095   if MODELE_MECA != None:
16096    self.type_sdprod(MODELE_MECA,modele_sdaster)  
16097   if RESU_THER != None:
16098    self.type_sdprod(RESU_THER,evol_ther)     
16099   if CHAM_MATER != None:
16100    self.type_sdprod(CHAM_MATER,cham_mater)     
16101   if CHAR_THER != None: 
16102     for m in CHAR_THER:
16103       self.type_sdprod(m['CHARGE'],char_ther)
16104   if CHAR_MECA != None: 
16105     for m in CHAR_MECA:
16106       self.type_sdprod(m['CHARGE'],char_meca)
16107   return evol_noli
16108
16109
16110 MACR_CABRI_CALC=MACRO(nom="MACR_CABRI_CALC",
16111                       op=macr_cabri_calc_ops,
16112                       sd_prod=macr_cabri_calc_prod,
16113                       fr="Calcul d'une jonction boulonnée de tuyauterie",
16114                       reentrant='n',
16115                       UIinfo={"groupes":("Outils métier",)},
16116                       MAILLAGE   = SIMP(statut='o',typ=maillage_sdaster,),
16117                       AFFE_MATERIAU = FACT(statut='o',max='**',
16118                         regles=(UN_PARMI('TOUT','GROUP_MA',),),
16119                         TOUT     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
16120                         GROUP_MA = SIMP(statut='f',typ='TXM',into=(
16121                                                                   "BRIDE",
16122                                                                   "GOUJON",
16123                                                                   "ROND",
16124                                                                   "ECROU",
16125                                                                   "JOINT",) ),
16126                         MATER    = SIMP(statut='o',typ=mater_sdaster),
16127                         TEMP_REF = SIMP(statut='d',typ='R',defaut= 25. ),
16128                       ),                      
16129                       CHAM_MATER = SIMP(statut = 'f',typ=(cham_mater,CO),),
16130                       MODELE_THER= SIMP(statut = 'f',typ=(modele_sdaster,CO),),
16131                       
16132                       DEFI_CHAR_THER = FACT(statut ='d',
16133                         TEMP_INIT     = SIMP(statut='d',typ='R',defaut= 25.,),
16134                         COEF_H_FLUI   = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16135                         TEMP_EXT_FLUI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16136                         COEF_H_AIR    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16137                         TEMP_EXT_AIR  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16138                         LIST_INST     = SIMP(statut='f',typ=listr8_sdaster),
16139                       ),                      
16140                       
16141                       CHAR_THER  = FACT(statut = 'f',max=4,
16142                         CHARGE    = SIMP(statut='o',typ=(char_ther,CO)),
16143                         TYPE      = SIMP(statut='o',typ='TXM',
16144                                  into=("BRIDE_FLUIDE","BRIDE_AIR","ECROU_GOUJON",
16145                                        "BRIDE_JOINT"),)
16146                                        ),
16147
16148                       RESU_THER  = SIMP(statut = 'f',typ=(evol_ther,CO),),                                       
16149
16150                                        
16151                       MODELE_MECA= SIMP(statut = 'f',typ=(modele_sdaster,CO),),
16152
16153                       DEFI_CHAR_MECA   = FACT(statut='o',
16154                         PRETENS    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16155                         PRES_REP   = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16156                         EFFE_FOND  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16157                       ),                                                             
16158
16159                       CHAR_MECA  = FACT(statut = 'f',max=11,
16160                         CHARGE    = SIMP(statut='o',typ=(char_meca,CO)),
16161                         TYPE      = SIMP(statut='o',typ='TXM',
16162                                  into=("BLOC_BAS_GOUJ","BLOC_BAS_JOINT",
16163                                        "BLOC_LAT_ALES","BLOC_LAT_NALES",
16164                                        "PLAN_TUBE",
16165                                        "PRES_FLU","EFFET_FOND",
16166                                        "CONT_JOINT",
16167                                        "DEFO_THER",
16168                                        "SERR_ECROU_1","SERR_ECROU_2",),)
16169                                        ),
16170                      
16171                       RELATION = SIMP(statut='f',typ='TXM',
16172                                        into=('VMIS_ISOT_TRAC','ELAS','ELAS_VMIS_TRAC',),),
16173                         
16174                       SOLVEUR   = FACT(statut='d',
16175                         METHODE  = SIMP(statut='d',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT",) ),
16176                         b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ",
16177                            fr="Paramètres de la méthode multi frontale",
16178                            RENUM           = SIMP(statut='d',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
16179                            NPREC           = SIMP(statut='d',typ='I',defaut=8),
16180                            STOP_SINGULIER  = SIMP(statut='d',typ='TXM',defaut="OUI",into=("OUI","NON") ),
16181                            ),                 
16182                       ),                                             
16183                       INCREMENT = FACT(statut='f',
16184                         regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
16185                                 EXCLUS('NUME_INST_FIN','INST_FIN'),),
16186                         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
16187                         EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
16188                                  into=("CHRONOLOGIQUE",) ),                                 
16189                         NUME_INST_INIT  =SIMP(statut='f',typ='I'),
16190                         INST_INIT       =SIMP(statut='f',typ='R'),
16191                         NUME_INST_FIN   =SIMP(statut='f',typ='I'),
16192                         INST_FIN        =SIMP(statut='f',typ='R'),
16193                         PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
16194                         SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
16195                         SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
16196                         COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
16197                         OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
16198                         NOM_CHAM        =SIMP(statut='f',typ='TXM',),
16199                         NOM_CMP         =SIMP(statut='f',typ='TXM',),
16200                         VALE            =SIMP(statut='f',typ='R'),
16201                       ),
16202                       NEWTON          =FACT(statut='d',
16203                         REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
16204                         PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL") ),
16205                         MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
16206                         PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
16207                         REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
16208                         EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
16209                       ),
16210                       CONVERGENCE     =FACT(statut='d',
16211                         regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
16212                         SIGM_REFE       =SIMP(statut='f',typ='R'),
16213                         EPSI_REFE       =SIMP(statut='f',typ='R'),
16214                         FLUX_THER_REFE  =SIMP(statut='f',typ='R'),        
16215                         RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
16216                         RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
16217                         RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
16218                         ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
16219                         ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
16220                         RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
16221                                  into=("IMPLICITE",)),
16222                       ),
16223                      );
16224
16225 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16226 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16227 # ======================================================================
16228 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
16229 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16230 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16231 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16232 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16233 #                                                                       
16234 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16235 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16236 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16237 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16238 #                                                                       
16239 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16240 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16241 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16242 # ======================================================================
16243
16244 from Macro.macr_cabri_mail_ops import macr_cabri_mail_ops
16245
16246 MACR_CABRI_MAIL=MACRO(nom="MACR_CABRI_MAIL",
16247                       op=macr_cabri_mail_ops,
16248                       sd_prod=maillage_sdaster,
16249                       fr="maillage d'une jonction boulonnée de tuyauterie",
16250                       reentrant='n',
16251                       UIinfo={"groupes":("Outils métier",)},
16252                       EXEC_MAILLAGE = FACT(statut='o',
16253                         LOGICIEL      = SIMP(statut = 'o',typ='TXM',into=("GIBI2000",),),
16254                         UNITE_DATG    = SIMP(statut = 'f',typ='I',defaut=70,),
16255                         UNITE_MGIB    = SIMP(statut = 'f',typ='I',defaut=19,),
16256                         NIVE_GIBI     = SIMP(statut = 'f',typ='I',defaut=10,
16257                                           into = (3,4,5,6,7,8,9,10,11),
16258                                             ),
16259                                           ),
16260                       RAFF_MAILLAGE   = FACT(statut = 'd',
16261                         NB_RADIAL    = SIMP(statut = 'f',typ='I',defaut=2,),
16262                         NB_CIRCONF   = SIMP(statut = 'f',typ='I',defaut=3,),
16263                         NB_VERTICAL  = SIMP(statut = 'f',typ='I',defaut=6,),
16264                         NB_ALESAGE   = SIMP(statut = 'f',typ='I',defaut=5,),
16265                                           ),
16266                       VERI_MAIL     = FACT(statut='d',
16267                         VERIF         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),  
16268                         APLAT         = SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
16269                                           ),                                          
16270                       GEOM_BRID     = FACT(statut = 'o',
16271                         NORME         = SIMP(statut = 'o',typ='TXM',into=("OUI","NON"),),
16272                         b_bride_iso   = BLOC(condition = "NORME == 'OUI'",
16273                           TYPE           = SIMP(statut='o',typ='TXM',
16274                                                 into=('A','AA','B','B1','C','D','D1','E','F',
16275                                                       'FF','G','GG','H','H1','I','J','J1',
16276                                                       'K','L','L1','M','N','O','P','S','T','W'), 
16277                                                ),
16278                                             ),
16279                         b_bride_niso  = BLOC(condition = "NORME == 'NON'",
16280                           TUBU_D_EXT     = SIMP(statut='o',typ='R',),
16281                           TUBU_H         = SIMP(statut='o',typ='R',),
16282                           BRID_D_EXT     = SIMP(statut='o',typ='R',),
16283                           BRID_D_INT     = SIMP(statut='o',typ='R',),
16284                           BRID_H         = SIMP(statut='o',typ='R',),
16285                           BRID_D_CONGE   = SIMP(statut='o',typ='R',),
16286                           BRID_R_CONGE   = SIMP(statut='o',typ='R',),
16287                           BRID_D_EPAUL   = SIMP(statut='o',typ='R',),
16288                           BRID_H_EPAUL   = SIMP(statut='o',typ='R',),
16289                           BRID_D_ALESAG  = SIMP(statut='o',typ='R',),
16290                           BRID_P_ALESAG  = SIMP(statut='o',typ='R',),
16291                           BRID_H_ALESAG  = SIMP(statut='o',typ='R',),
16292                           GOUJ_N_GOUJON  = SIMP(statut='o',typ='I',),
16293                           GOUJ_D_GOUJON  = SIMP(statut='o',typ='R',),
16294                           GOUJ_E_FILET   = SIMP(statut='o',typ='R',),
16295                           GOUJ_D_RONDEL  = SIMP(statut='o',typ='R',),
16296                           GOUJ_E_RONDEL  = SIMP(statut='o',typ='R',),
16297                           GOUJ_D_ECROU   = SIMP(statut='o',typ='R',),
16298                           GOUJ_E_ECROU   = SIMP(statut='o',typ='R',),
16299                           ETAN_E_JOINT   = SIMP(statut='o',typ='R',),
16300                                             ),
16301                                          ),
16302                       IMPRESSION    = FACT(statut='d',
16303                         FICHIER        = SIMP(statut='f',typ='TX'),
16304                         UNITE          = SIMP(statut='f',typ='I'),
16305                         FORMAT         = SIMP(statut='f',typ='TXM',defaut="ASTER",    
16306                                               into=("ASTER","CASTEM","IDEAS"),
16307                                              ),
16308                         b_impr_castem = BLOC(condition = "FORMAT == 'CASTEM'",
16309                           NIVE_GIBI      = SIMP(statut='f',typ='I',defaut=10,into=(3,10),),
16310                                             ),
16311                         b_impr_ideas  = BLOC(condition = "FORMAT == 'IDEAS'",
16312                           VERSION        = SIMP(statut='f',typ='I',defaut=5,into=(4,5),),
16313                                             ),
16314                                           ),
16315                      );
16316
16317 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16318 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16319 # ======================================================================
16320 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
16321 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16322 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16323 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16324 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16325 #                                                                       
16326 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16327 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16328 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16329 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16330 #                                                                       
16331 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16332 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16333 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16334 # ======================================================================
16335 # RESPONSABLE JMBHH01 J.M.PROIX
16336
16337 from Macro.macr_cara_poutre_ops import macr_cara_poutre_ops
16338
16339 MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE",op=macr_cara_poutre_ops,sd_prod=tabl_cara_geom,
16340                        reentrant='n',
16341           UIinfo={"groupes":("Modélisation",)},
16342           fr="caractéristiques d'une section transversale de poutre à partir d'un maillage 2D",
16343           regles=(EXCLUS('SYME_X','GROUP_MA_BORD'),
16344                   EXCLUS('SYME_Y','GROUP_MA_BORD'),),
16345                  
16346           UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 20 ),  
16347           ORIG_INER       =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0),
16348                                 fr="Point par rapport auquel sont calculées les inerties"),  
16349           INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
16350          
16351           SYME_X          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a x=0"),
16352           SYME_Y          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a y=0"),
16353          
16354           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
16355           fr="Calcul des caractéristiques équivalentes a plusieurs sections disjointes"),
16356           
16357           GROUP_MA_BORD   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
16358                                fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"),
16359          
16360                b_gma_bord = BLOC( condition = "GROUP_MA_BORD != None",
16361                             fr=" calcul des carac. mecaniques",
16362
16363                     NOEUD           =SIMP(statut='f',typ=no,max='**',
16364                     fr="Simplement pour empecher des pivots nuls le cas echeant. Fournir un noeud quelconque"),
16365                     GROUP_MA_INTE   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
16366                     fr="groupes de mailles linéiques bordant des trous dans la section"),
16367                     ),
16368                     
16369                b_reseau = BLOC( condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""",
16370                            fr=" calcul des coef de cisaillement équivalents a un reseau de poutres",
16371                             regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,),
16372                             LONGUEUR        =SIMP(statut='f',typ='R',fr="Longueur du réseau de poutres"),  
16373                             MATERIAU        =SIMP(statut='f',typ=mater_sdaster,fr="Materiau elastique lineaire du reseau"),
16374                             LIAISON         =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"),
16375                             fr="type de conditions aux limites sur le plancher supérieur" ),
16376                               ), 
16377                     )
16378 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR VABHHTS J.PELLET 
16379 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16380 # ======================================================================
16381 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
16382 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16383 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16384 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16385 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16386 #                                                                       
16387 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16388 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16389 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16390 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16391 #                                                                       
16392 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16393 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16394 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16395 # ======================================================================
16396
16397
16398 from Macro.macr_ecla_pg_ops import macr_ecla_pg_ops
16399
16400 def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args):
16401   self.type_sdprod(RESULTAT,AsType(RESU_INIT))   
16402   self.type_sdprod(MAILLAGE,maillage_sdaster)
16403   return None
16404
16405
16406 MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",op=macr_ecla_pg_ops,sd_prod=macr_ecla_pg_prod, reentrant='n',
16407              UIinfo={"groupes":("Post traitements",)},
16408              fr="permettre la visualisation des champs aux points de Gauss d'une SD_RESULTAT.",
16409                     
16410
16411              # SD résultat ,modèle et champs à "éclater" :
16412              RESU_INIT       =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",),
16413              MODELE_INIT     =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"),
16414              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
16415                                    into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ),
16416                                    
16417              # paramètres numériques de la commande :
16418              SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
16419              TAILLE_MIN      =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
16420              
16421              # concepts produits par la commande :
16422              RESULTAT        =SIMP(statut='o',typ=(resultat_sdaster,CO),fr="SD_RESULTAT résultat de la commande"),
16423              MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster,CO),fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"),
16424                      
16425              # Sélection éventuelle d'un sous-ensemble des éléments à visualiser :           
16426              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
16427              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
16428              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
16429              
16430              # Sélection des numéros d'ordre :
16431              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
16432              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
16433              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
16434              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
16435              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
16436              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
16437              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
16438              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
16439             )
16440 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16441 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16442 # ======================================================================
16443 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16444 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16445 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16446 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16447 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16448 #
16449 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16450 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16451 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16452 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16453 #
16454 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16455 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16456 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16457 # ======================================================================
16458 MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op=  81,sd_prod=macr_elem_dyna,
16459                     fr="Définition d un macro élément pour analyse modale ou harmonique par sous structuration dynamique",
16460                     reentrant='n',
16461             UIinfo={"groupes":("Matrices/vecteurs",)},
16462          regles=(EXCLUS('MATR_AMOR','AMOR_REDUIT' ),),
16463          BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
16464          MATR_RIGI       =SIMP(statut='f',typ=matr_asse_depl_r ),
16465          MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
16466          MATR_AMOR       =SIMP(statut='f',typ=matr_asse_depl_r ),
16467          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),         
16468          OPTION          =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","RITZ",
16469                           "DIAG_MASS") ),
16470 )  ;
16471 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16472 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16473 # ======================================================================
16474 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16475 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16476 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16477 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16478 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16479 #
16480 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16481 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16482 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16483 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16484 #
16485 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16486 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16487 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16488 # ======================================================================
16489 MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f',
16490             UIinfo={"groupes":("Matrices/vecteurs",)},
16491                     fr="Définition d un macro-élément pour l analyse statique par sous structuration",
16492         regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'),
16493                 ENSEMBLE('DEFINITION','EXTERIEUR'),),
16494          DEFINITION      =FACT(statut='f',
16495            MODELE          =SIMP(statut='o',typ=modele_sdaster),
16496            CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
16497            CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
16498            CHAR_MACR_ELEM  =SIMP(statut='f',typ=char_meca),
16499            INST            =SIMP(statut='f',typ='R',defaut=0.0E+0 ),
16500            NMAX_CAS        =SIMP(statut='f',typ='I',defaut=10),
16501            NMAX_CHAR       =SIMP(statut='f',typ='I',defaut=10),
16502          ),
16503          EXTERIEUR       =FACT(statut='f',
16504            regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),),
16505            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
16506            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
16507          ),
16508          RIGI_MECA       =FACT(statut='f',
16509          ),
16510          MASS_MECA       =FACT(statut='f',
16511          ),
16512          CAS_CHARGE      =FACT(statut='f',max='**',
16513            NOM_CAS         =SIMP(statut='o',typ='TXM'),
16514            SUIV            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
16515            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
16516            INST            =SIMP(statut='f',typ='R',defaut=0.E+0),
16517          ),
16518 )  ;
16519 #& MODIF COMMANDE  DATE 07/10/2004   AUTEUR GNICOLAS G.NICOLAS 
16520 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16521 # ======================================================================
16522 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
16523 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16524 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16525 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16526 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16527 #                                                                       
16528 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16529 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16530 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16531 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16532 #                                                                       
16533 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16534 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16535 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16536 # ======================================================================
16537 # RESPONSABLE GNICOLAS G.NICOLAS
16538
16539 from Macro.macr_fiab_impr_ops import macr_fiab_impr_ops
16540
16541 MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops,
16542                      docu="U7.04.41",
16543                      fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.",
16544                      ang="Print values for the fiability software",
16545 #
16546 # 1. Le niveau d'information
16547 #
16548    INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
16549 #
16550 # 2. Impression de la valeur de la cible
16551 #
16552 # 2.1. ==> La table contenant la valeur à imprimer
16553 #
16554    TABLE_CIBLE = SIMP(statut='o',typ=table_sdaster,
16555                  fr="Table contenant la valeur cible.",
16556                  ang="Table which includes the target value."),
16557 #
16558 # 2.2. ==> Le nom du paramètre associé à la valeur cible dans cette table
16559 #
16560    NOM_PARA_CIBLE = SIMP(statut='o',typ='TXM',
16561                     fr="Nom du paramètre associé à la valeur cible.",
16562                     ang="Name of the parameter connected to the target value."),
16563 #
16564 # 3. Impressions des valeurs des éventuels gradients
16565 #
16566    GRADIENTS = FACT(statut='f',min=1,max='**',
16567 #
16568 # 3.1. ==> La table contenant la valeur à imprimer
16569 #
16570        TABLE = SIMP(statut='o',typ=table_sdaster,
16571                     fr="Table contenant le gradient.",
16572                     ang="Table which includes the gradient."),
16573 #
16574 # 3.2. ==> Le paramètre sensible
16575 #
16576        PARA_SENSI = SIMP(statut='o',typ=(para_sensi,theta_geom),
16577                        fr="Paramètre sensible associé au gradient.",
16578                        ang="Sensitivity parameter connected to the gradient."),
16579 #
16580 # 3.3. ==> Le nom du paramètre associé au gradient dans cette table
16581 #
16582        NOM_PARA = SIMP(statut='o',typ='TXM',
16583                        fr="Nom du paramètre associé au gradient.",
16584                        ang="Name of the parameter connected to the gradient."),
16585 #
16586          ),
16587 #
16588 );
16589 #& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
16590 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16591 # ======================================================================
16592 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
16593 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16594 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16595 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16596 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16597 #                                                                       
16598 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16599 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16600 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16601 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16602 #                                                                       
16603 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16604 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16605 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16606 # ======================================================================
16607 # RESPONSABLE GNICOLAS G.NICOLAS
16608
16609 from Macro.macr_fiabilite_ops import macr_fiabilite_ops
16610
16611 #
16612 #====
16613 # 1. Le retour : une liste de rééls.
16614 #====
16615 #
16616 def macr_fiabilite_prod ( self , **args ):
16617   return listr8_sdaster
16618 #
16619 #====
16620 # 2. L'entete
16621 #====
16622 #
16623 MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops,
16624                          docu="U7.03.31",
16625                          sd_prod=macr_fiabilite_prod,
16626                          fr="Faire de la mécanique fiabiliste.",
16627                          ang="Fiability mechanics.",
16628 #
16629 #====
16630 # 3. Le niveau d'information
16631 #====
16632 #
16633    INFO           = SIMP(statut="f",typ="I",defaut=1,into=(1,2)),
16634 #
16635 #====
16636 # 4. Nom et Version du logiciel de fiabilité
16637 #====
16638 #
16639    LOGICIEL = SIMP(statut="f",typ="TXM",defaut="MEFISTO",
16640                    into=("MEFISTO",),
16641                    fr="Nom du logiciel de fiabilité.",
16642                    ang="Fiability software name."),
16643 #
16644    VERSION = SIMP(statut="f",typ="TXM",defaut="V3_2",
16645                   into=("V3_2", "V3_N"),
16646                   fr="Version du logiciel de fiabilité.",
16647                   ang="Fiability software release."),
16648 #
16649 #====
16650 # 5. Les entrees-sorties du calcul ASTER déterministe
16651 #====
16652 #
16653 # 5.1. ==> Le jeu de commandes déterministe
16654 #
16655    UNITE_ESCL = SIMP(statut="o",typ="I",
16656                      fr="Unité logique associée aux commandes du calcul ASTER déterministe.",
16657                      ang="Logical unit for the commands of the ASTER deterministic calculation."),
16658 #
16659 # 5.2. ==> Le destin des messages produits par ASTER
16660 #
16661    MESS_ASTER = SIMP(statut="f",typ="TXM",defaut="DERNIER",
16662                         into=("AUCUN", "DERNIER", "TOUS"),
16663                         fr="Quels messages ASTER récupérer.",
16664                         ang="Which ASTER messages must be kept."),
16665 #
16666 #====
16667 # 6. Options
16668 #====
16669 # 6.1. ==> Générales
16670 #
16671 # 6.1.1. ==> La valeur du seuil
16672 #
16673    SEUIL = SIMP(statut="o",typ="R",max=1,
16674                 fr="Le seuil de défaillance.",
16675                 ang="Failure threshold."),
16676 #
16677 # 6.1.2. ==> Le type du seuil : on a deux cas de figure selon que
16678 #            la défaillance a lieu au dessus d'un seuil maximum ou
16679 #            en dessous d'un seuil minimum
16680 #
16681    SEUIL_TYPE = SIMP(statut="o",typ="TXM",max=1,
16682                      into=("MINIMUM","MAXIMUM"),
16683                      fr="Que faut-il ne pas dépasser : un maximum ou un minimum.",
16684                      ang="What is the failure threshold : maximum or minimum."),
16685 #
16686 # 6.2. ==> Pour MEFISTO
16687 #
16688 ### en attente de résolution de AL 2004-006 (1/2)   b_mefisto=BLOC( condition = "LOGICIEL=='MEFISTO'",
16689 #
16690 # 6.2.1. ==> Pilotage de la recherche du point de conception
16691 #
16692      RECH_PT_CONCEPT = SIMP(statut="f",typ="TXM",defaut="OUI",
16693                             into=("OUI","NON"),
16694                             fr="Pour trouver le point de conception.",
16695                             ang="To find the design point."),
16696 #
16697      b_rech_pt_concept=BLOC( condition = "RECH_PT_CONCEPT=='OUI'",
16698 #
16699        EPSILON_U = SIMP(statut="f",typ="R",defaut=1.0E-2,
16700                         fr="Précision du test d'arret sur les points itératifs dans l'espace standard.",
16701                         ang="Precision of stop test for iterative points in standard space."),
16702 #
16703        EPSILON_G = SIMP(statut="f",typ="R",defaut=1.0E-2,
16704                         fr="Précision du test d'arret sur la proximité de la surface d'état limite.",
16705                         ang="Precision of stop test for limit state surface."),
16706 #
16707        TAU       = SIMP(statut="f",typ="R",defaut=5.0E-1,
16708                         fr="Paramètre de la méthode de minimisation.",
16709                         ang="Parameter for the minimization method."),
16710 #
16711        OMEGA     = SIMP(statut="f",typ="R",defaut=1.0E-4,
16712                         fr="Paramètre de la méthode de minimisation.",
16713                         ang="Parameter for the minimization method."),
16714 #
16715        ITER_MAX  = SIMP(statut="f",typ="I",defaut=50,
16716                         fr="Nombre maximum d'itérations.",
16717                         ang="Maximum number of iterations."),
16718      ),
16719 #
16720 # 6.2.2. ==> Méthode(s) employée(s) pour la probabilité de défaillance
16721 #
16722      METHODE_FORM = SIMP(statut="f",typ="TXM",defaut="OUI",
16723                          into=("OUI","NON"),
16724                          fr="Recherche de la probabilité de défaillance avec la méthode FORM.",
16725                          ang="Research of failure probability with FORM method."),
16726 #
16727      METHODE_SORM = SIMP(statut="f",typ="TXM",defaut="NON",
16728                          into=("OUI","NON"),
16729                          fr="Recherche de la probabilité de défaillance avec la méthode SORM.",
16730                          ang="Research of failure probability with SORM method."),
16731 #
16732      TIRAGE_IMPORTANCE = SIMP(statut="f",typ="TXM",defaut="NON",
16733                               into=("OUI","NON"),
16734                               fr="Recherche de la probabilité de défaillance avec le tirage d'importance.",
16735                               ang="Research of failure probability with ."),
16736 #
16737      b_tirage_importance=BLOC( condition = "TIRAGE_IMPORTANCE=='OUI'",
16738 #
16739        NB_SIMULATION = SIMP(statut="f",typ="I",defaut=3,
16740                             fr="Nombre de simulations pour le tirage d'importance.",
16741                             ang="Number of simulation for."),
16742 #
16743      ),
16744 #
16745 # 6.2.3. ==> Création d'une surface de réponse polynomiale
16746 #
16747      POLYNOME_TAYLOR   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),),
16748      HGRAD             = SIMP(statut="f",typ="R",defaut=1.0E-2,
16749                               fr="Pas incrémental pour le calcul des gradients.",
16750                               ang="Step for calculation of gradients."),
16751      HHESS             = SIMP(statut="f",typ="R",defaut=1.0E-2,
16752                               fr="Pas incrémental pour le calcul des dérivées secondes.",
16753                               ang="Step for calculation of second derivatives."),
16754 #
16755 # 6.2.4. ==> Recherche d'un plan d'expérience
16756 #
16757      PLAN_EXPERIENCE   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16758                               fr="Construction d'un plan d'expérience.",
16759                               ang="Construction of an experiment plan."),
16760 #
16761      b_plan_experience=BLOC( condition = "PLAN_EXPERIENCE=='OUI'",
16762 #
16763        ALPHA         = SIMP(statut="f",typ="R",defaut=2.0E-1,
16764                             fr="Plan d'expérience : maille du plan de type composite centré.",
16765                             ang="Experiment plane : mesh centered composite."),
16766 #
16767        BETA          = SIMP(statut="f",typ="R",defaut=4.0E-1,
16768                             fr="Plan d'expérience : maille du plan de type factoriel.",
16769                             ang="Experiment plane : mesh factor."),
16770 #
16771      ),
16772 #
16773 # 6.2.5. ==> Les tests
16774 # 6.2.5.1. ==> Test de la sphere
16775 #
16776      T_SPHERE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16777                      fr="Test de la sphère.",
16778                      ang="Sphere test."),
16779 #
16780      b_test_de_la_sphere=BLOC( condition = "T_SPHERE=='OUI'",
16781 #
16782        METHODE_TEST = SIMP(statut="f",typ="TXM",defaut="GAUSSIENNE",
16783                            into=("GAUSSIENNE","PARAMETRIQUE","REJECTION"),
16784                            fr="Type de méthode.",
16785                            ang="Method."),
16786 #
16787        NB_POINT     = SIMP(statut="f",typ="I",max=1,defaut=60,
16788                            fr="Nombre de points de la sphere.",
16789                            ang="Number of points over the sphere.")
16790      ),
16791 #
16792 # 6.2.5.2. ==> Test du maximum fort
16793 #
16794      T_MAXIMUM_FORT = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16795                            fr="Test du maximum fort.",
16796                            ang="Strong maximum test."),
16797 #
16798      b_test_du_maximum_fort=BLOC( condition = "T_MAXIMUM_FORT=='OUI'",
16799 #
16800        COS_LIM = SIMP(statut="f",typ="R",max=1,defaut=1.0,
16801                       fr="Cosinus de l'angle d'exclusion.",
16802                       ang="Cosine of angle of exclusion."),
16803 #
16804        DPROB   = SIMP(statut="f",typ="R",max=1,defaut=4.3E-1,
16805                       fr="Fraction d'iso-densité de probabilité de défaillance.",
16806                       ang="Fraction.")
16807 #
16808      ),
16809 #
16810 # 6.2.5.3. ==> Test du hessien
16811 #
16812      T_HESSIEN = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16813                       fr="Test du hessien.",
16814                       ang="Hessian test."),
16815 #
16816 # 6.2.6. ==> Les correlations entre les variables
16817 #
16818      MATRICE = SIMP(statut="o",typ="R",max="**",
16819                     fr="Matrice de corrélation entre les variables.",
16820                     ang="Correlation matrix."), 
16821 #
16822 ### en attente de résolution de AL 2004-006 (2/2)   ),
16823 #
16824 #====
16825 # 7. Definition des paramètres
16826 #====
16827 #
16828    VARIABLE = FACT(statut="o",min=1,max="**",
16829 #
16830 # 7.1. ==> Nom de la variable
16831 #
16832        NOM = SIMP(statut="o",typ="TXM",
16833                   fr="Nom de la variable, identique au nom de concept PARA_SENSI.",
16834                   ang="Name of the variable, identical to the name of the PARA_SENSI conceipt."),
16835 #
16836 # 7.2. ==> Loi de distribution
16837 #
16838        LOI = SIMP(statut="o",typ="TXM",
16839                   into=("UNIFORME","NORMALE","LOGNORMALE","NORMALE_TRONQUEE"),
16840                   fr="Choix de la loi",
16841                   ang="Law."),
16842 #
16843 # 7.2.1. ==> Loi normale
16844 #
16845        b_normale=BLOC(condition="LOI=='NORMALE'",
16846 #
16847          VALE_MOY   = SIMP(statut="o",typ="R",max=1,
16848                                fr="Valeur moyenne.",
16849                                ang="Mean value."),
16850 #
16851          ECART_TYPE = SIMP(statut="o",typ="R",max=1,
16852                                fr="Ecart type.",
16853                                ang="Standard deviation."),
16854 #
16855        ),
16856 #
16857 # 7.2.2. ==> Loi lognormale
16858 #
16859        b_lognormale=BLOC(condition="LOI=='LOGNORMALE'",
16860 #
16861          VALE_MIN       = SIMP(statut="o",typ="R",max=1,
16862                                    fr="Valeur minimale.",
16863                                    ang="Minimal value."),
16864 #
16865          VALE_MOY       = SIMP(statut="f",typ="R",max=1,
16866                                    fr="Valeur moyenne dans l'espace de la loi normale.",
16867                                    ang="Mean value in the space of the normal law."),
16868 #
16869          ECART_TYPE     = SIMP(statut="f",typ="R",max=1,
16870                                    fr="Ecart type dans l'espace de la loi normale.",
16871                                    ang="Standard deviation in the space of the normal law."),
16872 #
16873          VALE_MOY_PHY   = SIMP(statut="f",typ="R",max=1,
16874                                    fr="Valeur moyenne dans l'espace physique.",
16875                                    ang="Mean value in the physical space."),
16876 #
16877          ECART_TYPE_PHY = SIMP(statut="f",typ="R",max=1,
16878                                    fr="Ecart type dans l'espace physique.",
16879                                    ang="Standard deviation in the physical space."),
16880 #
16881          regles=(AU_MOINS_UN("VALE_MOY"  ,"VALE_MOY_PHY"),
16882                  AU_MOINS_UN("ECART_TYPE","ECART_TYPE_PHY"),
16883                  EXCLUS  ("VALE_MOY"  ,"VALE_MOY_PHY"),
16884                  EXCLUS  ("VALE_MOY"  ,"ECART_TYPE_PHY"),
16885                  EXCLUS  ("ECART_TYPE","VALE_MOY_PHY"),
16886                  EXCLUS  ("ECART_TYPE","ECART_TYPE_PHY")),
16887 #
16888        ),
16889 #
16890 # 7.2.3. ==> Loi uniforme
16891 #
16892        b_uniforme=BLOC(condition="LOI=='UNIFORME'",
16893 #
16894          VALE_MIN = SIMP(statut="o",typ="R",max=1,
16895                              fr="Valeur minimale.",
16896                              ang="Minimal value."),
16897 #
16898          VALE_MAX = SIMP(statut="o",typ="R",max=1,
16899                              fr="Valeur maximale.",
16900                              ang="Maximal value."),
16901 #
16902        ),
16903 #
16904 # 7.2.4. ==> Loi normale tronquée
16905 #
16906        b_normale_tronquee=BLOC(condition="LOI=='NORMALE_TRONQUEE'",
16907 #
16908          VALE_MOY   = SIMP(statut="o",typ="R",max=1,
16909                                fr="Valeur moyenne de la loi normale complète.",
16910                                ang="Mean value for the entire normal law."),
16911 #
16912          ECART_TYPE = SIMP(statut="o",typ="R",max=1,
16913                                fr="Ecart type de la loi normale complète.",
16914                                ang="Standard deviation for the entire normal law."),
16915 #
16916          VALE_MIN   = SIMP(statut="o",typ="R",max=1,
16917                                fr="Valeur minimale.",
16918                                ang="Minimal value."),
16919 #
16920          VALE_MAX   = SIMP(statut="o",typ="R.",max=1,
16921                                fr="Valeur maximale.",
16922                                ang="Maximal value."),
16923 #
16924        ),
16925 #
16926 # 7.3. ==> Paramètres de calcul
16927 # 7.3.1. ==> Soit on cherche le point de conception, soit on le connait deja
16928 #
16929        regles=(EXCLUS("POINT_INI","POINT_CONCEPT"),
16930                EXCLUS("POINT_REF","POINT_CONCEPT"),),
16931 #
16932 # 7.3.2. ==> Quand on cherche le point de conception, on peut préciser le départ de l'algorithme.
16933 #            Si on ne le fait pas, le programme prendra la valeur moyenne.
16934 #
16935        POINT_INI = SIMP(statut="f",typ="R",max=1,
16936                           fr="Point de démarrage de l'algorithme itératif.",
16937                           ang="Initial point for iterative process."),
16938 #
16939 # 7.3.3. ==> Quand on cherche le point de conception, on peut préciser un point de référence pour normaliser.
16940 #            Si on ne le fait pas, le programme prendra la valeur moyenne.
16941 #
16942        POINT_REF = SIMP(statut="f",typ="R",max=1,
16943                           fr="Point de référence de l'algorithme itératif.",
16944                           ang="Reference point for iterative process."),
16945 #
16946 # 7.3.4. ==> Quand on cherche uniquement la probabilité de défaillance, il faut donner le point de conception
16947 #
16948        POINT_CONCEPT = SIMP(statut="f",typ="R",max=1,
16949                               fr="Point de conception.",
16950                               ang="Design point."),
16951 #
16952 # 7.4. ==> Mode d'obtention du gradient par rapport à ce paramètre
16953 #
16954        GRADIENT = SIMP(statut="o",typ="TXM",max=1,
16955                            into=("OUI","NON"),
16956                            fr="ASTER calcule directement le gradient.",
16957                        ang="ASTER computes the gradient for this parameter."),
16958
16959        b_gradient=BLOC(condition="GRADIENT=='NON'",
16960          INCREMENT = SIMP(statut="o",typ="R",max=1,
16961                              fr="Incrément dans la direction.",
16962                          ang="Direction increment."),
16963        ),
16964
16965    ),
16966 #
16967 );
16968 #& MODIF COMMANDE  DATE 03/11/2004   AUTEUR MCOURTOI M.COURTOIS 
16969 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16970 # ======================================================================
16971 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16972 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16973 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16974 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16975 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16976 #
16977 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16978 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16979 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16980 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16981 #
16982 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16983 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16984 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16985 # ======================================================================
16986 # RESPONSABLE GNICOLAS G.NICOLAS
16987
16988 from Macro.macr_adap_mail_ops import macr_adap_mail_ops
16989
16990 MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
16991                      docu="U7.03.02-b",
16992                      fr="Donner des informations sur un maillage.",
16993                      ang="To give information about a mesh.",
16994 #
16995 # 1. Le niveau d'information
16996 #
16997          INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
16998 #
16999 # 2. Version de HOMARD
17000 #
17001          VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V7_1",
17002                                into=("V7_1", "V7_N", "V7_N_PERSO"),
17003                            fr="Version de HOMARD",
17004                            ang="HOMARD release"),
17005 #
17006 # 3. Langue des messages issus de HOMARD
17007 #
17008          LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
17009                                into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
17010                            fr="Langue des messages issus de HOMARD.",
17011                            ang="Language for HOMARD messages." ),
17012 #
17013 # 4. Gestion des éléments autres que des simplexes
17014 #       0 : autres elements refusés
17015 #       1 : analyse exclusivement sur les simplexes, mais autres éléments acceptés
17016 #       2 : tous (defaut)
17017 #
17018          NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2),
17019                           fr="Acceptation d'éléments quad, hexa et penta",
17020                           ang="quad, hexa and penta elements allowed" ),
17021 #
17022 # 5. Le nom du maillage a analyser
17023 #
17024          MAILLAGE       = SIMP(statut='o',typ=maillage_sdaster,
17025                            fr="Maillage à analyser.",
17026                            ang="Mesh to be checked." ),
17027 #
17028 # 6. Suivi d'une frontiere
17029 #
17030          MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
17031                            fr="Maillage de la frontiere à suivre",
17032                            ang="Boundary mesh" ),
17033 #
17034          b_frontiere   =BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
17035                            fr="Groupes définissant la frontière",
17036                            ang="Groups which define the boundary",
17037                            GROUP_MA       = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ),
17038                            ) ,
17039 #
17040 # 7. Les options ; par defaut, on ne fait que les nombres
17041 # 7.1. Nombre de noeuds et elements
17042 #
17043          NOMBRE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
17044                           fr="Nombre de noeuds et éléments du maillage",
17045                           ang="Number of nodes and elements in the mesh" ),
17046 #
17047 # 7.2. Determination de la qualite des elements du maillage
17048 #
17049          QUALITE        = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17050                           fr="Qualité du maillage",
17051                           ang="Mesh quality" ),
17052 #
17053 # 7.3. Connexite du maillage
17054 #
17055          CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17056                           fr="Connexité du maillage.",
17057                           ang="Mesh connexity." ),
17058 #
17059 # 7.4. Taille des sous-domaines du maillage
17060 #
17061          TAILLE         = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17062                           fr="Tailles des sous-domaines du maillage.",
17063                           ang="Sizes of mesh sub-domains." ),
17064 #
17065 # 7.5. Controle de la non-interpenetration des elements
17066 #
17067          INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17068                           fr="Controle de la non interpénétration des éléments.",
17069                           ang="Overlapping checking." ),
17070 #
17071 )  ;
17072 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17073 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17074 # ======================================================================
17075 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
17076 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
17077 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
17078 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
17079 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
17080 #                                                                       
17081 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
17082 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
17083 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
17084 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
17085 #                                                                       
17086 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17087 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
17088 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
17089 # ======================================================================
17090
17091 from Macro.macr_lign_coupe_ops import macr_lign_coupe_ops
17092
17093 def macr_lign_coupe_prod(self,LIGN_COUPE,**args):
17094   if not LIGN_COUPE:  raise AsException("Impossible de typer les concepts resultats")
17095   for m in LIGN_COUPE:
17096     self.type_sdprod(m['TABLE'],table_sdaster)
17097   return None
17098
17099
17100 MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=macr_lign_coupe_prod,
17101                        reentrant='n',
17102             UIinfo={"groupes":("Outils métier",)},
17103                        fr="extraction d un résultat sur des lignes de coupes définies par 2 points et un intervalle",
17104          RESULTAT        =SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ),
17105          b_meca        =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli)",fr="résultat mécanique",
17106            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='SIGM_NOEU_DEPL' ),  
17107          ),
17108          b_ther        =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique",
17109            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='TEMP' ),  
17110          ),
17111          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
17112          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=25),  
17113          LIGN_COUPE     =FACT(statut='o',max='**',
17114            NB_POINTS       =SIMP(statut='o',typ='I'),
17115            COOR_ORIG       =SIMP(statut='o',typ='R',min=2,max=3),  
17116            COOR_EXTR       =SIMP(statut='o',typ='R',min=2,max=3),  
17117            TABLE           =SIMP(statut='o',typ=(table_sdaster,CO)), 
17118          ),
17119 )  ;
17120 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17121 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17122 # ======================================================================
17123 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
17124 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
17125 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
17126 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
17127 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
17128 #                                                                       
17129 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
17130 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
17131 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
17132 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
17133 #                                                                       
17134 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17135 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
17136 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
17137 # ======================================================================
17138    
17139 from Macro.macr_recal_ops import macr_recal_ops
17140
17141 def macr_recal_prod(self,**args ):
17142   return listr8_sdaster
17143
17144 MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops,
17145             UIinfo={"groupes":("Résultats et champs",)},
17146                       sd_prod=macr_recal_prod,
17147                       fr="Réalise le recalage de modèles Aster",
17148          UNITE_ESCL      =SIMP(statut='o',typ='I'),
17149          RESU_EXP        =SIMP(statut='o',typ=assd,max='**'),
17150          POIDS           =SIMP(statut='f',typ=assd,max='**'),
17151          RESU_CALC       =SIMP(statut='o',typ=assd,max='**'),
17152          LIST_PARA       =SIMP(statut='o',typ=assd,max='**'),
17153          ITER_MAXI       =SIMP(statut='f',typ='I',defaut=10),
17154          RESI_GLOB_RELA  =SIMP(statut='f',typ='R',defaut=1.E-3),
17155          UNITE_RESU      =SIMP(statut='f',typ='I',defaut=91),
17156          PARA_DIFF_FINI  =SIMP(statut='f',typ='R',defaut=0.001),
17157          GRAPHIQUE       =FACT(statut='d',
17158            UNITE           =SIMP(statut='f',typ='I',defaut=90),
17159            INTERACTIF      =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")),)
17160 )  ;
17161 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17162 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17163 # ======================================================================
17164 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17165 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17166 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17167 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17168 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17169 #
17170 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17171 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17172 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17173 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17174 #
17175 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17176 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17177 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17178 # ======================================================================
17179 # RESPONSABLE G8BHHXD X.DESROCHES
17180
17181 from Macro.macro_elas_mult_ops import macro_elas_mult_ops
17182
17183 def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ):
17184   self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
17185   if CAS_CHARGE[0]['NOM_CAS']      != None : return mult_elas
17186   if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas
17187   raise AsException("type de concept resultat non prevu")
17188
17189 MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro_elas_mult_prod,reentrant='f',
17190             UIinfo={"groupes":("Résolution",)},
17191          regles=(UN_PARMI('CHAR_MECA_GLOBAL','CHAR_CINE_GLOBAL','LIAISON_DISCRET', ),),
17192          MODELE          =SIMP(statut='o',typ=modele_sdaster),
17193          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
17194          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
17195          NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)),
17196          CHAR_MECA_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17197          CHAR_CINE_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17198          LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)),
17199          CAS_CHARGE      =FACT(statut='o',max='**',
17200            regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'),
17201                    UN_PARMI('CHAR_MECA','CHAR_CINE','VECT_ASSE'),),
17202            NOM_CAS         =SIMP(statut='f',typ='TXM' ),
17203            MODE_FOURIER    =SIMP(statut='f',typ='I' ),
17204            TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
17205            CHAR_MECA       =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17206            CHAR_CINE       =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17207            OPTION          =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
17208                                  into=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
17209                                        "SIGM_ELNO_CART","EFGE_ELNO_CART","DEGE_ELNO_DEPL","EPSI_ELNO_DEPL",
17210                                        "EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO","EPSP_ELGA",
17211                                        "ECIN_ELEM_DEPL","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC",
17212                                        "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG","INTE_ELNO_ACTI",
17213                                        "INTE_ELNO_REAC","SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA",
17214                                        "ERRE_ELEM_NOZ2","VNOR_ELEM_DEPL","ERRE_ELNO_ELGA","SIRE_ELNO_DEPL",
17215                                        "ERRE_ELGA_NORE","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI",
17216                                        "EQUI_ELGA_EPSI","FORC_NODA","REAC_NODA","EPSI_NOEU_DEPL","SIGM_NOEU_DEPL",
17217                                        "EFGE_NOEU_DEPL","EQUI_NOEU_SIGM","EQUI_NOEU_EPSI","FLUX_NOEU_TEMP") ),
17218            NUME_COUCHE     =SIMP(statut='f',typ='I',defaut=1),
17219            NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY")),
17220            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
17221            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r),
17222          ),
17223          SOLVEUR         =FACT(statut='d',
17224            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ),
17225            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",
17226                                     fr="Paramètres de la méthode multi frontale",
17227              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17228            ),
17229            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
17230              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
17231             ),
17232            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
17233                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
17234              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
17235              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17236            ),
17237          ),
17238          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)),
17239          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
17240 )  ;
17241 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17242 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17243 # ======================================================================
17244 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17245 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17246 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17247 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17248 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17249 #
17250 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17251 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17252 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17253 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17254 #
17255 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17256 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17257 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17258 # ======================================================================
17259
17260 from Macro.macro_matr_ajou_ops import macro_matr_ajou_ops
17261
17262 def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args):
17263   self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r)
17264   self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r)
17265   self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r)
17266   if FORC_AJOU != None:
17267     for m in FORC_AJOU:
17268       self.type_sdprod(m['VECTEUR'],vect_asse_gene)
17269
17270   return None
17271
17272 MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro_matr_ajou_prod,
17273             UIinfo={"groupes":("Matrices/vecteurs",)},
17274       regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
17275               AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'),
17276               EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
17277               EXCLUS('MONO_APPUI','MODE_STAT',),
17278              ),
17279          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
17280          GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma),
17281          GROUP_MA_INTERF =SIMP(statut='o',typ=grma),
17282          MODELISATION    =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")),
17283          FLUIDE          =FACT(statut='o',max='**',
17284            RHO             =SIMP(statut='o',typ='R'),
17285            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
17286            GROUP_MA        =SIMP(statut='f',typ=grma),
17287            MAILLE          =SIMP(statut='f',typ=ma),
17288          ),
17289          DDL_IMPO        =FACT(statut='o',max='**',
17290            regles=(UN_PARMI('NOEUD','GROUP_NO'),
17291                    UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),),
17292            NOEUD           =SIMP(statut='f',typ=no),
17293            GROUP_NO        =SIMP(statut='f',typ=grno),
17294            PRES_FLUIDE     =SIMP(statut='f',typ='R'),
17295            PRES_SORTIE     =SIMP(statut='f',typ='R'),
17296          ),
17297          ECOULEMENT      =FACT(statut='f',
17298            GROUP_MA_1      =SIMP(statut='o',typ=grma),
17299            GROUP_MA_2      =SIMP(statut='o',typ=grma),
17300            VNOR_1          =SIMP(statut='o',typ='R'),
17301            VNOR_2          =SIMP(statut='f',typ='R'),
17302            POTENTIEL       =SIMP(statut='f',typ=evol_ther),
17303          ),
17304          MODE_MECA       =SIMP(statut='f',typ=mode_meca),
17305          DEPL_IMPO       =SIMP(statut='f',typ=cham_no_depl_r),
17306          MODELE_GENE     =SIMP(statut='f',typ=modele_gene),
17307          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene),
17308          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.0E-2),
17309          MATR_MASS_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
17310          MATR_RIGI_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
17311          MATR_AMOR_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
17312          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",),),
17313          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),),
17314          FORC_AJOU       =FACT(statut='f',max='**',
17315            DIRECTION     =SIMP(statut='o',typ='R',max=3),
17316            NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
17317            GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
17318            VECTEUR       =SIMP(statut='o',typ=(CO,vect_asse_gene)),
17319          ),
17320          SOLVEUR         =FACT(statut='d',
17321            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
17322            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
17323              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17324            ),
17325            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
17326              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
17327            ),
17328            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
17329                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
17330              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
17331              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17332            ),
17333            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
17334              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
17335              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
17336              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
17337              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
17338              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
17339            ),
17340          ),
17341          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17342          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
17343          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
17344 )
17345 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17346 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17347 # ======================================================================
17348 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17349 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17350 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17351 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17352 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17353 #
17354 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17355 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17356 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17357 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17358 #
17359 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17360 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17361 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17362 # ======================================================================
17363
17364 from Macro.macro_matr_asse_ops import macro_matr_asse_ops
17365
17366 def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args):
17367   if not MATR_ASSE:  raise AsException("Impossible de typer les concepts resultats")
17368   if not NUME_DDL:  raise AsException("Impossible de typer les concepts resultats")
17369   self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
17370   for m in MATR_ASSE:
17371     opti=m['OPTION']
17372
17373     if opti in ( "RIGI_MECA","RIGI_FLUI_STRU","RIGI_MECA_LAGR" ,
17374        "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA",
17375        "AMOR_MECA","IMPE_MECA","MASS_ID_MDEP_R","MASS_ID_MDNS_R",
17376        "ONDE_FLUI","MASS_MECA_DIAG" ) : t=matr_asse_depl_r
17377
17378     if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c
17379
17380     if opti in ( "RIGI_THER","MASS_THER","RIGI_THER_CONV" ,
17381        "RIGI_THER_CONV_D","MASS_ID_MTEM_R","MASS_ID_MTNS_R",) : t=matr_asse_temp_r
17382
17383     if opti == "RIGI_MECA_HYST"   : t= matr_asse_depl_c
17384
17385     self.type_sdprod(m['MATRICE'],t)
17386   return None
17387
17388 MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops,
17389             UIinfo={"groupes":("Matrices/vecteurs",)},
17390                       sd_prod=macro_matr_asse_prod,
17391                       fr="Calcul des matrices assemblées (matr_asse_gd) par exemple de rigidité, de masse ",
17392          MODELE          =SIMP(statut='o',typ=modele_sdaster),
17393          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
17394          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
17395          CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'),
17396          INST            =SIMP(statut='f',typ='R'),
17397          NUME_DDL        =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)),
17398          SOLVEUR         =FACT(statut='d',
17399            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",
17400                                  into=("LDLT","MULT_FRONT","GCPC")),
17401            RENUM           =SIMP(statut='f',typ='TXM',into=("SANS","RCMK","MD","MDA","METIS")),
17402          ),
17403          MATR_ASSE       =FACT(statut='o',max='**',
17404            MATRICE         =SIMP(statut='o',typ=(matr_asse,CO)),
17405            OPTION          =SIMP(statut='o',typ='TXM',
17406                                  into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG",
17407                                        "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA",
17408                                        "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU",
17409                                        "RIGI_ROTA","RIGI_GEOM","RIGI_MECA_LAGR",
17410                                        "RIGI_THER","MASS_THER",
17411                                        "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",
17412                                        "MASS_ID_MTEM_R","MASS_ID_MTNS_R","MASS_ID_MDEP_R","MASS_ID_MDNS_R",)
17413                                  ),
17414            SIEF_ELGA       =SIMP(statut='f',typ=cham_elem_sief_r),
17415            MODE_FOURIER    =SIMP(statut='f',typ='I'),
17416            THETA           =SIMP(statut='f',typ=theta_geom),
17417            PROPAGATION     =SIMP(statut='f',typ='R'),
17418          ),
17419          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
17420          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17421 )  ;
17422 #& MODIF COMMANDE  DATE 03/11/2004   AUTEUR ACBHHCD G.DEVESA 
17423 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17424 # ======================================================================
17425 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17426 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17427 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17428 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17429 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17430 #
17431 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17432 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17433 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17434 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17435 #
17436 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17437 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17438 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17439 # ======================================================================
17440
17441 from Macro.macro_miss_3d_ops import macro_miss_3d_ops
17442
17443 MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops,fr=" ",
17444             UIinfo={"groupes":("Matrices/vecteurs",)},
17445          OPTION          =FACT(statut='o',
17446            regles=(UN_PARMI('TOUT','MODULE'),),
17447            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
17448            MODULE          =SIMP(statut='f',typ='TXM',into=("PRE_MISS","MISS_EVOL","MISS_IMPE")),
17449          ),
17450          PROJET          =SIMP(statut='o',typ='TXM'),  
17451          REPERTOIRE      =SIMP(statut='f',typ='TXM'),
17452          VERSION         =SIMP(statut='f',typ='TXM',into=("V1_2","V1_3",),defaut="V1_2"),
17453          UNITE_IMPR_ASTER=SIMP(statut='f',typ='I',defaut=25),  
17454          UNITE_OPTI_MISS =SIMP(statut='f',typ='I',defaut=26),  
17455          UNITE_MODELE_SOL=SIMP(statut='f',typ='I',defaut=27),  
17456          UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),  
17457 )  ;
17458 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17459 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17460 # ======================================================================
17461 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17462 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17463 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17464 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17465 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17466 #
17467 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17468 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17469 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17470 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17471 #
17472 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17473 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17474 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17475 # ======================================================================
17476
17477 from Macro.macro_mode_meca_ops import macro_mode_meca_ops
17478
17479 def macro_mode_meca_prod(self,MATR_A,MATR_B,**args ):
17480   self.type_sdprod(MATR_A,matr_asse_depl_r)
17481   self.type_sdprod(MATR_B,matr_asse_depl_r)
17482   return mode_meca
17483
17484 MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=macro_mode_meca_prod,
17485                      reentrant='n',
17486             UIinfo={"groupes":("Résolution",)},
17487          MATR_A          =SIMP(statut='o',typ=(CO,matr_asse_depl_r) ),
17488          MATR_B          =SIMP(statut='o',typ=(CO,matr_asse_depl_r) ),
17489          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
17490 #  ce mot cle ne devrait il pas etre dans calc_freq  
17491          METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",    
17492                                into=("TRI_DIAG","JACOBI","SORENSEN",) ),
17493          b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
17494            PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
17495            NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
17496            PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
17497            NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
17498          ),
17499          b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
17500            PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
17501            NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
17502            PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
17503            NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
17504          ),
17505          b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
17506            PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
17507            NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
17508            PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
17509          ),
17510          OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",    
17511                                into=("MODE_RIGIDE","SANS") ),
17512          CALC_FREQ       =FACT(statut='d',min=0,
17513            regles=(UN_PARMI('FREQ','FREQ_MAX'),
17514                    PRESENT_PRESENT('FREQ_MIN','FREQ_MAX'),
17515                    PRESENT_PRESENT('FREQ_MAX','NB_BLOC_FREQ'),
17516                    EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
17517            FREQ            =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max='**',val_min=0.E+0 ),  
17518            FREQ_MIN        =SIMP(statut='f',typ='R' ),  
17519            FREQ_MAX        =SIMP(statut='f',typ='R' ),  
17520            NB_BLOC_FREQ    =SIMP(statut='f',typ='I' ),  
17521            DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),  
17522            COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
17523            NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),  
17524            NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),  
17525            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2 ),  
17526            SEUIL_FREQ      =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ),  
17527            STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ),
17528          ),
17529          VERI_MODE       =FACT(statut='d',min=0,
17530            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17531            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6 ),  
17532            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3 ),  
17533            STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17534          ),
17535          NORM_MODE       =FACT(statut='o',max='**',
17536            MASS_INER       =SIMP(statut='o',typ=tabl_mass_iner ),
17537            NORME           =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA",    
17538                                  into=("MASS_GENE","RIGI_GENE","EUCL",           
17539                                        "EUCL_TRAN","TRAN","TRAN_ROTA") ),
17540            INFO            =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ),
17541          ),
17542          FILTRE_MODE     =FACT(statut='f',
17543            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
17544                                  into=("MASS_EFFE_UN","MASS_GENE") ),
17545            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
17546          ),
17547          IMPRESSION      =FACT(statut='d',
17548            TOUT_PARA       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17549            CUMUL           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17550            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
17551                                  into=("MASS_EFFE_UN","MASS_GENE",) ),
17552          ),
17553 )  ;
17554 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17555 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17556 # ======================================================================
17557 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17558 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17559 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17560 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17561 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17562 #
17563 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17564 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17565 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17566 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17567 #
17568 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17569 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17570 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17571 # ======================================================================
17572
17573 from Macro.macro_proj_base_ops import macro_proj_base_ops
17574
17575 def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args ):
17576   if MATR_ASSE_GENE != None:
17577     for m in MATR_ASSE_GENE:
17578       self.type_sdprod(m['MATRICE'],matr_asse_gene_r)
17579       self.type_sdprod(m['MATR_ASSE'],matr_asse_depl_r)
17580   if VECT_ASSE_GENE != None:
17581     for v in VECT_ASSE_GENE:
17582       self.type_sdprod(v['VECTEUR'],vect_asse_gene)
17583   return None
17584
17585 MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops,
17586             UIinfo={"groupes":("Matrices/vecteurs",)},
17587                       sd_prod=macro_proj_base_prod,
17588                       fr="Projection des matrices et/ou vecteurs assemblés sur une base de vecteurs",
17589          BASE            =SIMP(statut='o',typ=(mode_meca,mode_stat,base_modale,mode_gene) ),
17590          NB_VECT         =SIMP(statut='f',typ='I',defaut= 9999),
17591          PROFIL          =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("PLEIN","DIAG") ),
17592          MATR_ASSE_GENE  =FACT(statut='f',max='**',
17593            MATRICE         =SIMP(statut='o',typ=(CO,matr_asse)),
17594            MATR_ASSE       =SIMP(statut='f',typ=matr_asse_depl_r),
17595            MATR_ASSE_GENE  =SIMP(statut='f',typ=matr_asse_gene_r),
17596          ),
17597          VECT_ASSE_GENE  =FACT(statut='f',max='**',
17598            VECTEUR         =SIMP(statut='o',typ=(CO,vect_asse)),
17599            TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
17600            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r),
17601            VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene),
17602          ),
17603          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17604 )  ;
17605 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17606 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17607 # ======================================================================
17608 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17609 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17610 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17611 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17612 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17613 #
17614 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17615 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17616 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17617 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17618 #
17619 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17620 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17621 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17622 # ======================================================================
17623 MAJ_CATA=PROC(nom="MAJ_CATA",op=20,
17624             UIinfo={"groupes":("Gestion du travail",)},
17625               fr="Compilation des catalogues de commandes et d éléments",
17626
17627          ELEMENT         =FACT(statut='f',),
17628
17629 )  ;
17630 #& MODIF COMMANDE  DATE 22/11/2004   AUTEUR BOITEAU O.BOITEAU 
17631 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17632 # ======================================================================
17633 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17634 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17635 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17636 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
17637 # (AT YOUR OPTION) ANY LATER VERSION.
17638 #
17639 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
17640 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
17641 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
17642 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
17643 #
17644 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17645 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17646 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
17647 # ======================================================================
17648 # RESPONSABLE VABHHTS J.PELLET
17649 MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
17650                    fr="Analyse mécanique statique linéaire",reentrant='f',
17651             UIinfo={"groupes":("Résolution",)},
17652                    regles=(EXCLUS("INST","LIST_INST"),
17653                            AU_MOINS_UN('CHAM_MATER','CARA_ELEM',), ),
17654          MODELE          =SIMP(statut='o',typ=modele_sdaster),
17655          CHAM_MATER      =SIMP(statut='f',typ=cham_mater,
17656          fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)",
17657          ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"),
17658          CARA_ELEM       =SIMP(statut='f',typ=cara_elem,
17659          fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...",
17660          ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."),
17661          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
17662          EXCIT           =FACT(statut='o',max='**',
17663            CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
17664            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17665            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
17666          ),
17667          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17668          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
17669          INST_FIN        =SIMP(statut='f',typ='R'),
17670          OPTION          =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA_DEPL","SANS"),defaut="SIEF_ELGA_DEPL",max=1,
17671              fr="seule option : contraintes aux points de Gauss. Utiliser CALC_ELEM pour les autres.",
17672                           ),
17673          NUME_COUCHE     =SIMP(statut='f',typ='I',defaut=1),
17674          NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY") ),
17675          ANGLE           =SIMP(statut='f',typ='I',defaut=0),
17676          PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL") ),
17677          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
17678                                fr="Liste des paramètres de sensibilité.",
17679                                ang="List of sensitivity parameters"),
17680          SOLVEUR         =FACT(statut='d',
17681          METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","FETI") ),
17682            b_feti          =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1",
17683              PARTITION       =SIMP(statut='o',typ=sd_feti_sdaster),
17684              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17685              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.),
17686              NMAX_ITER       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
17687              TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ),              
17688              NB_REORTHO_DD   =SIMP(statut='f',typ='I',defaut=0,val_min=0),
17689              PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ),
17690              SCALING         =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ),                
17691              VERIF_SDFETI    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),           
17692              TEST_CONTINU    =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.),
17693              INFO_FETI       =SIMP(statut='f',typ='TXM',defaut='FFFFFFFF')                      
17694            ),
17695            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
17696              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17697            ),
17698            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
17699              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
17700            ),
17701            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' or METHODE == 'FETI' ",
17702                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
17703              NPREC           =SIMP(statut='f',typ='I',defaut=8),
17704              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17705            ),
17706            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
17707              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
17708              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
17709              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
17710              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6),
17711              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
17712            ),
17713          ),
17714          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
17715 )  ;
17716 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17717 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17718 # ======================================================================
17719 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17720 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17721 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17722 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17723 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17724 #
17725 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17726 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17727 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17728 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17729 #
17730 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17731 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17732 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17733 # ======================================================================
17734 # RESPONSABLE GNICOLAS G.NICOLAS
17735 MEMO_NOM_SENSI=PROC(nom="MEMO_NOM_SENSI",op=129,
17736             UIinfo={"groupes":("Fonction",)},
17737                     fr="Mémorisation des noms des concepts dérivés.",
17738                     ang="Memorisation of the names of the sensitive concepts.",
17739
17740          regles=(AU_MOINS_UN('NOM','NOM_ZERO','NOM_UN'),),
17741
17742          NOM=FACT(statut='f',max='**',
17743              regles=(PRESENT_PRESENT('MOT_CLE','VALEUR','MOT_FACT' ),),
17744
17745              NOM_SD=SIMP(statut='o',typ='TXM',
17746                          fr="Nom de la structure de base",
17747                          ang="Name of the basic structure"),
17748
17749              PARA_SENSI=SIMP(statut='o',typ=(para_sensi,theta_geom),
17750                          fr="Nom du paramètre sensible",
17751                          ang="Name of the sensitive parameter"),
17752
17753              NOM_COMPOSE=SIMP(statut='f',typ='TXM',defaut=" ",
17754                          fr="Nom de la structure composée",
17755                          ang="Name of the built structure"),
17756
17757              MOT_FACT=SIMP(statut='f',typ='TXM',max='**',
17758                          fr="Liste des mots clés facteurs concernés par la dérivation",
17759                          ang="Factor keyword list involved in derivation"),
17760
17761              MOT_CLE=SIMP(statut='f',typ='TXM',max='**',
17762                          fr="Liste des mots clés concernés par la dérivation",
17763                          ang="Keyword list involved in derivation"),
17764
17765              VALEUR=SIMP(statut='f',typ='TXM',max='**',
17766                          fr="Liste des objets concernés par la dérivation",
17767                          ang="Object list involved in derivation"),
17768
17769                  ),
17770
17771          NOM_ZERO=SIMP(statut='f',typ=fonction_sdaster,
17772                        fr="Nom de la fonction nulle",
17773                        ang="Name of the zero fonction"),
17774
17775          NOM_UN  =SIMP(statut='f',typ=fonction_sdaster,
17776                        fr="Nom de la fonction unité",
17777                        ang="Name of the one fonction"),
17778
17779 )  ;
17780 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17781 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17782 # ======================================================================
17783 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17784 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17785 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17786 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17787 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17788 #
17789 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17790 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17791 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17792 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17793 #
17794 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17795 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17796 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17797 # ======================================================================
17798 MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op=  80,sd_prod=mode_cycl,
17799                     fr="Modes propres d une structure à répétitivité cyclique à partir d une base de modes propres réels",
17800                     reentrant='n',
17801             UIinfo={"groupes":("Résolution",)},
17802          BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
17803          NB_MODE         =SIMP(statut='f',typ='I',defaut= 999 ),
17804          NB_SECTEUR      =SIMP(statut='o',typ='I' ),
17805          LIAISON         =FACT(statut='o',
17806            DROITE          =SIMP(statut='o',typ='TXM' ),
17807            GAUCHE          =SIMP(statut='o',typ='TXM' ),
17808            AXE             =SIMP(statut='f',typ='TXM' ),
17809          ),
17810          VERI_CYCL       =FACT(statut='f',
17811            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
17812            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ),
17813            DIST_REFE       =SIMP(statut='f',typ='R' ),
17814          ),
17815          CALCUL          =FACT(statut='o',
17816            TOUT_DIAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
17817            NB_DIAM         =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
17818            OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE"
17819                                 ,into=("PLUS_PETITE","CENTRE","BANDE") ),
17820            b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
17821              FREQ            =SIMP(statut='o',typ='R',),
17822            ),
17823            b_bande       =BLOC(condition = "OPTION == 'BANDE'",
17824              FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2),
17825            ),
17826 #  NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE                                
17827            NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10 ),
17828            PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 100. ),
17829            PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
17830            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 50 ),
17831          ),
17832          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
17833 )  ;
17834 #& MODIF COMMANDE  DATE 20/10/2004   AUTEUR DURAND C.DURAND 
17835 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17836 # ======================================================================
17837 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17838 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17839 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17840 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17841 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17842 #
17843 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17844 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17845 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17846 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17847 #
17848 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17849 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17850 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17851 # ======================================================================
17852 def mode_iter_inv_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
17853   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
17854   if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
17855   if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
17856   if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
17857   if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
17858   raise AsException("type de concept resultat non prevu")
17859
17860 MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op=  44,sd_prod=mode_iter_inv_prod
17861                     ,fr="Modes propres par itérations inverses ; valeurs propres et modes réels ou complexes",
17862                      reentrant='n',
17863             UIinfo={"groupes":("Résolution",)},
17864          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
17865          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
17866          MATR_C          =SIMP(statut='f',typ=matr_asse_depl_r ),
17867          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",   
17868                                into=("MODE_FLAMB","DYNAMIQUE"),fr="Type d analyse" ),
17869          b_dynam         =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
17870            CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
17871            
17872              OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
17873                                    fr="Choix de l option pour estimer les valeurs propres"  ),
17874              FREQ            =SIMP(statut='o',typ='R',max='**'),
17875              AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),     
17876              NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
17877              NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
17878              PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
17879              NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=0 ),
17880              PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
17881
17882              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
17883              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
17884              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
17885              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
17886            ),
17887          ),
17888          b_flamb        =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
17889            CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
17890            
17891              OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
17892                                  fr="Choix de l option pour estimer les valeurs propres"  ),
17893              CHAR_CRIT       =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
17894              NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
17895              NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
17896              PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
17897              NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ),
17898              PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
17899            
17900              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
17901              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
17902              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
17903              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
17904            ),
17905          ),
17906          CALC_MODE       =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres",
17907            OPTION          =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ),
17908            PREC            =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=0.E+0,fr="Précision de convergence" ),
17909            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ),
17910          ),
17911          VERI_MODE       =FACT(statut='d',min=0,
17912            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17913            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0,
17914                                  fr="Valeur limite admise pour l ereur a posteriori des modes"  ),
17915          ),
17916          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
17917                                fr="Liste des param\350tres de sensibilit\351.",
17918                                ang="List of sensitivity parameters",
17919          ),
17920          b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
17921              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
17922              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
17923              EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
17924          ),
17925          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
17926          TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
17927 )  ;
17928 #& MODIF COMMANDE  DATE 20/10/2004   AUTEUR DURAND C.DURAND 
17929 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17930 # ======================================================================
17931 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17932 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17933 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17934 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17935 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17936 #
17937 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17938 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17939 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17940 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17941 #
17942 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17943 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17944 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17945 # ======================================================================
17946 def mode_iter_simult_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
17947   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
17948   if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
17949   if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
17950   if AsType(MATR_A) == matr_asse_depl_c : return mode_meca_c
17951   if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
17952   if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
17953   raise AsException("type de concept resultat non prevu")
17954
17955 MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op=  45,sd_prod=mode_iter_simult_prod,
17956                       fr="Modes propres par itérations simultanées ; valeurs propres et modes propres réels ou complexes",
17957                       reentrant='n',
17958             UIinfo={"groupes":("Résolution",)},
17959          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ),
17960          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
17961          MATR_C          =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
17962          METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",
17963                                into=("TRI_DIAG","JACOBI","SORENSEN") ),
17964          b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
17965            PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
17966            NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
17967            PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
17968            NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
17969          ),
17970          b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
17971            PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
17972            NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
17973            PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
17974            NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
17975          ),
17976          b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
17977            PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
17978            NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
17979            PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
17980          ),
17981          TYPE_RESU       =SIMP(statut='f',position='global',typ='TXM',defaut="DYNAMIQUE",
17982                                into=("MODE_FLAMB","DYNAMIQUE"),
17983                                fr="Type d analyse" ),
17984          OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"),
17985                                fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ),
17986
17987          b_flamb         =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
17988            CALC_FREQ       =FACT(statut='d',min=0,
17989              OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
17990                                    fr="Choix de l option et par conséquent du shift du problème modal" ),
17991              b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
17992                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
17993              ),
17994              b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
17995                                  fr="Recherche des valeurs propres les plus proches d une valeur donnée",
17996                CHAR_CRIT       =SIMP(statut='o',typ='R',
17997                                      fr="Charge critique autour de laquelle on cherche les charges critiques propres"),
17998                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
17999              ),
18000              b_bande       =BLOC(condition = "(OPTION == 'BANDE')",
18001                                  fr="Recherche des valeurs propres dans une bande donnée",
18002                CHAR_CRIT       =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
18003                                      fr="Valeur des deux charges critiques délimitant la bande de recherche"),
18004              ),           
18005              APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"),
18006                                    fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
18007              regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
18008              DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
18009              COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
18010              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
18011              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18012              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
18013              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
18014            ),
18015          ),
18016
18017          b_dynam        =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
18018            CALC_FREQ       =FACT(statut='d',min=0,
18019              OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
18020                                    fr="Choix de l option et par conséquent du shift du problème modal" ),
18021              b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
18022                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
18023              ),
18024              b_centre       =BLOC(condition = "OPTION == 'CENTRE'",
18025                                   fr="Recherche des valeurs propres les plus proches d une valeur donnée",
18026                FREQ            =SIMP(statut='o',typ='R',
18027                                      fr="Fréquence autour de laquelle on cherche les fréquences propres"),
18028                AMOR_REDUIT     =SIMP(statut='f',typ='R',),
18029                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
18030              ),
18031              b_bande         =BLOC(condition = "(OPTION == 'BANDE')",
18032                                    fr="Recherche des valeurs propres dans une bande donnée",
18033                FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
18034                                      fr="Valeur des deux fréquences délimitant la bande de recherche"),
18035              ),           
18036              APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"),
18037                                    fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
18038              regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
18039              DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
18040              COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
18041              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
18042              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18043              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
18044              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
18045            ),
18046          ),
18047
18048          VERI_MODE       =FACT(statut='d',min=0,
18049            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18050            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ),
18051            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0,
18052                                  fr="Valeur limite admise pour l ereur a posteriori des modes" ),
18053            STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18054          ),
18055          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
18056                                fr="Liste des param\350tres de sensibilit\351.",
18057                                ang="List of sensitivity parameters",
18058          ),
18059          b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
18060              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
18061              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
18062              EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
18063          ),
18064          STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18065          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18066          TITRE           =SIMP(statut='f',typ='TXM',max='**'),        
18067 )  ;
18068 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18069 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18070 # ======================================================================
18071 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18072 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18073 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18074 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18075 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18076 #
18077 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18078 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18079 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18080 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18081 #
18082 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18083 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18084 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18085 # ======================================================================
18086 def mode_stat_prod(MODE_STAT,FORCE_NODALE,PSEUDO_MODE,**args):
18087  if (MODE_STAT != None)          : return mode_stat_depl
18088  if (PSEUDO_MODE !=None)         : return mode_stat_acce
18089  if (FORCE_NODALE != None)       : return mode_stat_forc
18090  raise AsException("type de concept resultat non prevu")
18091 MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod,
18092                    fr="Calcul de modes statiques",
18093                    reentrant='n',
18094             UIinfo={"groupes":("Résolution",)},
18095          MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
18096          MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
18097                regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE'),),
18098          MODE_STAT       =FACT(statut='f',max='**',
18099            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
18100                    UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
18101            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
18102            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
18103            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
18104            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
18105            AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18106            SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18107          ),
18108          FORCE_NODALE    =FACT(statut='f',max='**',
18109            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
18110                    UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
18111            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",), ),
18112            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
18113            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
18114            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",), ),
18115            AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18116            SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18117          ),
18118          PSEUDO_MODE       =FACT(statut='f',max='**',
18119            regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),),
18120            AXE             =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3),
18121            DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3),
18122            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
18123            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
18124            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
18125            b_dir           =BLOC(condition = "DIRECTION != None",
18126              NOM_DIR         =SIMP(statut='f',typ='TXM' ),),
18127            b_cmp          =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None",
18128              regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
18129              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
18130              AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18131              SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'), 
18132         ),
18133          ),
18134          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
18135          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
18136 )  ;
18137 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18138 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18139 # ======================================================================
18140 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18141 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18142 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18143 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18144 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18145 #
18146 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18147 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18148 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18149 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18150 #
18151 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18152 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18153 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18154 # ======================================================================
18155 MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca,
18156                       reentrant='f',
18157             UIinfo={"groupes":("Matrices/vecteurs",)},
18158 #  la commande modi_base _modale : reentrant = f ou o                      
18159          regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),),
18160          BASE            =SIMP(statut='o',typ=mode_meca ),
18161          BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu_sdaster ),
18162          NUME_VITE_FLUI  =SIMP(statut='o',typ='I' ),
18163          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18164          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
18165          AMOR_UNIF       =SIMP(statut='f',typ='R' ),
18166          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
18167          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
18168 )  ;
18169 #& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
18170 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18171 # ======================================================================
18172 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18173 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18174 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18175 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18176 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18177 #
18178 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18179 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18180 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18181 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18182 #
18183 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18184 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18185 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18186 # ======================================================================
18187 # RESPONSABLE G8BHHXD X.DESROCHES
18188 MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
18189                    fr="Modification de la connectivité de groupes de mailles 2D ou 3D affectées à la modélisation de contact",
18190                    reentrant='o',
18191             UIinfo={"groupes":("Maillage",)},
18192       regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18193                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
18194                        'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB8','SYMETRIE',
18195                        ),
18196               PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18197                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18198               PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D',
18199                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18200               PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D',
18201                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18202               PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA',
18203                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18204               PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18205                        'PLAQ_TUBE','MODI_MAILLE',),
18206               PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18207                        'PLAQ_TUBE','MODI_MAILLE',),
18208               PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18209                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE',),
18210               PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18211                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE',),
18212               EXCLUS('EQUE_PIQUA','PLAQ_TUBE'),
18213               EXCLUS('EQUE_PIQUA','TUBE_COUDE'),
18214               EXCLUS('ROTATION','MODI_BASE'),
18215               EXCLUS('SYMETRIE','ROTATION'),
18216               EXCLUS('SYMETRIE','TRANSLATION'),
18217               EXCLUS('SYMETRIE','MODI_BASE'),
18218               EXCLUS('SYMETRIE','ECHELLE'),
18219               ),
18220          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
18221
18222          ORIE_FISSURE    =FACT(statut='f',
18223            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18224          ),
18225
18226          DEFORME         =FACT(statut='f',
18227            OPTION          =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ),
18228            DEPL            =SIMP(statut='o',typ=cham_no_depl_r ),
18229         b_deform        =BLOC(condition = "OPTION=='TRAN_APPUI'", 
18230            GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),
18231            GROUP_NO_STRU  = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),),
18232          ),
18233
18234          EQUE_PIQUA      =FACT(statut='f',
18235            GROUP_NO        =SIMP(statut='o',typ=grno),
18236            E_BASE          =SIMP(statut='o',typ='R' ),
18237            DEXT_BASE       =SIMP(statut='o',typ='R' ),
18238            L_BASE          =SIMP(statut='o',typ='R' ),
18239            L_CHANF         =SIMP(statut='o',typ='R' ),
18240            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
18241            H_SOUD          =SIMP(statut='o',typ='R' ),
18242            ANGL_SOUD       =SIMP(statut='o',typ='R' ),
18243            JEU_SOUD        =SIMP(statut='o',typ='R' ),
18244            E_CORP          =SIMP(statut='o',typ='R' ),
18245            DEXT_CORP       =SIMP(statut='o',typ='R' ),
18246            AZIMUT          =SIMP(statut='o',typ='R' ),
18247            RAFF_MAIL       =SIMP(statut='o',typ='TXM' ),
18248            X_MAX           =SIMP(statut='o',typ='R' ),
18249          ),
18250          ORIE_PEAU_2D    =FACT(statut='f',max='**',
18251            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18252          ),
18253          ORIE_PEAU_3D    =FACT(statut='f',max='**',
18254            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18255          ),
18256          ORIE_SHB8       =FACT(statut='f',max=1,
18257            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18258          ),
18259          ORIE_NORM_COQUE =FACT(statut='f',max='**',
18260            regles=(EXCLUS('NOEUD','GROUP_NO'),
18261                    PRESENT_PRESENT('NOEUD','VECT_NORM'),
18262                    PRESENT_PRESENT('GROUP_NO','VECT_NORM'),),
18263            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18264            VECT_NORM       =SIMP(statut='f',typ='R',max=3),
18265            NOEUD           =SIMP(statut='f',typ=no),
18266            GROUP_NO        =SIMP(statut='f',typ=grno),
18267          ),
18268          b_modele        =BLOC(condition = "(ORIE_PEAU_2D != None) or (ORIE_PEAU_3D != None) or(ORIE_NORM_COQUE != None)",
18269            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
18270          ),
18271          PLAQ_TUBE       =FACT(statut='f',
18272            DEXT            =SIMP(statut='o',typ='R' ),
18273            EPAIS           =SIMP(statut='o',typ='R' ),
18274            L_TUBE_P1       =SIMP(statut='o',typ='R' ),
18275            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),
18276            COUTURE         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",)  ),
18277          ),
18278          TUBE_COUDE      =FACT(statut='f',
18279            ANGLE           =SIMP(statut='o',typ='R' ),
18280            R_CINTR         =SIMP(statut='o',typ='R' ),
18281            L_TUBE_P1       =SIMP(statut='o',typ='R' ),
18282          ),
18283          MODI_MAILLE     =FACT(statut='f',max=1,
18284            regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),),
18285            OPTION          =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ),
18286            GROUP_MA_FOND   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1),
18287            MAILLE_FOND     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max=1),
18288            GROUP_NO_FOND   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
18289            NOEUD_FOND      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
18290          ),
18291          MODI_BASE       =FACT(statut='f',
18292            VECT_X          =SIMP(statut='o',typ='R',min=2,max=3),
18293            VECT_Y          =SIMP(statut='f',typ='R',min=2,max=3),
18294          ),
18295          ECHELLE         =SIMP(statut='f',typ='R',),        
18296          TRANSLATION     =SIMP(statut='f',typ='R',min=2,max=3),
18297          ROTATION        =FACT(statut='f',max='**',
18298            POIN_1           =SIMP(statut='o',typ='R',min=2,max=3),
18299            ANGL             =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
18300            regles=(EXCLUS('DIR','POIN_2'),),
18301            POIN_2           =SIMP(statut='f',typ='R',min=2,max=3),
18302            DIR              =SIMP(statut='f',typ='R',min=2,max=3),
18303          ),
18304          SYMETRIE        =FACT(statut='f',max='**',
18305                           fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.",
18306            POINT           =SIMP(statut='o',typ='R',min=2,max=3,
18307                             fr="Point appartenant à la droite ou au plan."),
18308            AXE_1           =SIMP(statut='o',typ='R',min=2,max=3,
18309                             fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."),
18310            AXE_2           =SIMP(statut='f',typ='R',min=3,max=3,
18311                             fr="2nd vecteur appartenant du plan."),
18312          ),
18313          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18314 )  ;
18315 #& MODIF COMMANDE  DATE 05/07/2004   AUTEUR GENIAUT S.GENIAUT 
18316 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18317 # ======================================================================
18318 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
18319 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
18320 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
18321 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
18322 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
18323 #                                                                       
18324 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
18325 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
18326 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
18327 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
18328 #                                                                       
18329 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
18330 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
18331 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
18332 # ======================================================================
18333
18334 MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f',
18335             UIinfo={"groupes":("Modélisation",)},
18336                fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes",
18337
18338     MODELE_IN       =SIMP(statut='o',typ=modele_sdaster,min=01,max=01,),
18339     FISSURE         =SIMP(statut='o',typ=fiss_xfem,min=01,max=01,),
18340     INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)),
18341
18342 )  ;
18343 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18344 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18345 # ======================================================================
18346 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18347 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18348 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18349 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18350 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18351 #
18352 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18353 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18354 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18355 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18356 #
18357 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18358 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18359 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18360 # ======================================================================
18361 MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=obstacle_sdaster,
18362                    fr=" ",reentrant='f',
18363             UIinfo={"groupes":("Modélisation",)},
18364       regles=(PRESENT_ABSENT('R_MOBILE','CRAYON'),
18365               PRESENT_PRESENT('V_USUR_TUBE','V_USUR_OBST'),),
18366          V_USUR_TUBE     =SIMP(statut='f',typ='R',max='**'),
18367          V_USUR_OBST     =SIMP(statut='f',typ='R',max='**'),
18368          TABL_USURE      =SIMP(statut='f',typ=tabl_post_usur),
18369          INST            =SIMP(statut='f',typ='R'),  
18370          OBSTACLE        =SIMP(statut='f',typ=obstacle_sdaster),
18371          GUIDE           =SIMP(statut='o',typ=obstacle_sdaster),
18372          CRAYON          =SIMP(statut='f',typ=obstacle_sdaster),
18373          R_MOBILE        =SIMP(statut='f',typ='R'),  
18374          PERCEMENT       =SIMP(statut='f',typ='R',defaut=1),  
18375          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
18376 )  ;
18377 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18378 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18379 # ======================================================================
18380 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18381 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18382 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18383 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
18384 # (AT YOUR OPTION) ANY LATER VERSION.
18385 #
18386 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
18387 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
18388 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
18389 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
18390 #
18391 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
18392 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
18393 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
18394 # ======================================================================
18395 # RESPONSABLE JMBHH01 J.M.PROIX
18396 def modi_repere_prod(RESULTAT,**args):
18397   if AsType(RESULTAT) == evol_elas :    return evol_elas
18398   if AsType(RESULTAT) == evol_noli :    return evol_noli
18399   if AsType(RESULTAT) == evol_ther :    return evol_ther
18400   if AsType(RESULTAT) == dyna_trans :   return dyna_trans
18401   if AsType(RESULTAT) == dyna_harmo :   return dyna_harmo
18402   if AsType(RESULTAT) == mode_meca :    return mode_meca
18403   if AsType(RESULTAT) == mode_flamb :   return mode_flamb
18404   if AsType(RESULTAT) == mult_elas :    return mult_elas
18405   if AsType(RESULTAT) == base_modale  : return base_modale
18406   raise AsException("type de concept resultat non prevu")
18407
18408 MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='n',
18409             UIinfo={"groupes":("Résultats et champs",)},
18410                     fr="Impression des resultats dans un repere cylindrique",
18411          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca,
18412                                                evol_noli,mult_elas,
18413                                                evol_ther,base_modale,mode_flamb) ),
18414          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
18415                         'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),),
18416          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
18417          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18418          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18419          NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18420          NOM_CAS         =SIMP(statut='f',typ='TXM' ),
18421
18422          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18423          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18424          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
18425          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
18426
18427          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
18428          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
18429
18430          MODI_CHAM       =FACT(statut='o',max='**',
18431            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18432            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
18433            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18434            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
18435            TYPE_CHAM       =SIMP(statut='o',typ='TXM',
18436                                  into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),),
18437            NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
18438            b_vect_2d       =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
18439               NOM_CMP         =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
18440            b_vect_3d       =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
18441               NOM_CMP         =SIMP(statut='o',typ='TXM',min=3,max=3 ),),
18442            b_tors_3d       =BLOC(condition = "TYPE_CHAM=='TORS_3D'",
18443               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
18444            b_tens_2d       =BLOC(condition = "TYPE_CHAM=='TENS_2D'",
18445               NOM_CMP         =SIMP(statut='o',typ='TXM',min=4,max=4 ),),
18446            b_tens_3d       =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
18447               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
18448          ),
18449          DEFI_REPERE     =FACT(statut='o',
18450          regles=(UN_PARMI('ANGL_NAUT','ORIGINE'),),
18451            REPERE          =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR",
18452                                  into=("UTILISATEUR","CYLINDRIQUE"),),
18453            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
18454            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=3),
18455            AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),
18456          ),
18457          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
18458 )  ;
18459 #& MODIF COMMANDE  DATE 11/08/2004   AUTEUR A3BHHAE H.ANDRIAMBOLOLONA 
18460 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18461 # ======================================================================
18462 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18463 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18464 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18465 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18466 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18467 #
18468 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18469 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18470 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18471 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18472 #
18473 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18474 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18475 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18476 # ======================================================================
18477 def norm_mode_prod(MODE,**args ):
18478   if AsType(MODE) == mode_meca   : return mode_meca
18479   if AsType(MODE) == mode_meca_c : return mode_meca_c
18480   if AsType(MODE) == mode_flamb  : return mode_flamb
18481   raise AsException("type de concept resultat non prevu")
18482
18483 NORM_MODE=OPER(nom="NORM_MODE",op=  37,sd_prod=norm_mode_prod,
18484                fr="Normalisation de modes propres",
18485                reentrant='f',
18486             UIinfo={"groupes":("Résolution",)},
18487          regles=(UN_PARMI('NORME','NOEUD','AVEC_CMP','SANS_CMP'),),
18488          MODE       =SIMP(statut='o',typ=(mode_meca,mode_flamb) ),
18489          NORME      =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...",
18490                           into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ),
18491          NOEUD      =SIMP(statut='f',typ=no, fr="Composante donnée d un noeud spécifié égale à 1"),
18492          b_noeud    =BLOC(condition = "NOEUD != None",
18493            NOM_CMP    =SIMP(statut='o',typ='TXM' ),
18494          ),
18495          AVEC_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18496          SANS_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18497          MASS_INER  =SIMP(statut='f',typ=tabl_mass_iner ),
18498          MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes",
18499            NOEUD      =SIMP(statut='o',typ=no,fr="Noeud ou sera imposé le signe"),
18500            NOM_CMP    =SIMP(statut='o',typ='TXM',fr="Composante du noeud ou sera imposé le signe" ),
18501            SIGNE      =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"),
18502                             fr="Choix du signe" ),
18503          ),
18504          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
18505                                fr="Liste des param\350tres de sensibilit\351.",
18506                                ang="List of sensitivity parameters",
18507          ),
18508          TITRE      =SIMP(statut='f',typ='TXM',max='**'),
18509          INFO       =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18510 )  ;
18511 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18512 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18513 # ======================================================================
18514 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18515 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18516 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18517 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18518 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18519 #
18520 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18521 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18522 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18523 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18524 #
18525 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18526 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18527 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18528 # ======================================================================
18529 # RESPONSABLE VABHHTS J.PELLET
18530 NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n',
18531             UIinfo={"groupes":("Matrices/vecteurs",)},
18532               fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice",
18533                   regles=(UN_PARMI('MATR_RIGI','MODELE'),), 
18534          MATR_RIGI       =SIMP(statut='f',validators=NoRepeat(),max=100,
18535                                typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ),
18536          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
18537          b_modele        =BLOC(condition = "MODELE != None",
18538            CHARGE     =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),),
18539          ),
18540          METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
18541          b_mult_front    =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale",
18542            RENUM           =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ),
18543          ),
18544          b_ldlt          =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT",
18545            RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
18546          ),
18547          b_gcpc          =BLOC(condition="METHODE=='GCPC'",fr="paramètres associés à la méthode gradient conjugué",
18548            RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
18549          ),
18550          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
18551 )  ;
18552 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18553 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18554 # ======================================================================
18555 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18556 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18557 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18558 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18559 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18560 #
18561 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18562 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18563 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18564 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18565 #
18566 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18567 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18568 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18569 # ======================================================================
18570 NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene,
18571                    fr="Etablissement de la numérotation des ddl d un modèle établi en coordonnées généralisées",
18572                     reentrant='n',
18573             UIinfo={"groupes":("Matrices/vecteurs",)},
18574          regles=UN_PARMI('MODELE_GENE','BASE'),
18575          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
18576              b_modele_gene     =BLOC(condition = "MODELE_GENE != None",
18577                STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ),
18578                                     ),
18579          BASE     =SIMP(statut='f',typ=(mode_meca,mode_stat,base_modale,mode_gene ) ),
18580              b_base     =BLOC(condition = "BASE != None",
18581                STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("DIAG","PLEIN") ),
18582                NB_VECT     =SIMP(statut='f',typ='I',defaut= 9999 ),
18583                              ),
18584 )  ;
18585 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18586 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18587 # ======================================================================
18588 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18589 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18590 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18591 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18592 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18593 #
18594 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18595 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18596 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18597 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18598 #
18599 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18600 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18601 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18602 # ======================================================================
18603 POST_DYNA_ALEA=OPER(nom="POST_DYNA_ALEA",op= 132,sd_prod=tabl_post_alea,
18604                     fr="Traitements statistiques de résultats de type interspectre et impression sur fichiers",
18605                     reentrant='n',
18606             UIinfo={"groupes":("Post traitements",)},
18607          regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),),
18608          INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
18609          NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),  
18610          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
18611          NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**' ),
18612          NOEUD_I         =SIMP(statut='f',typ=no,max='**'),         
18613          OPTION          =SIMP(statut='f',typ='TXM',into=("DIAG",) ),
18614          b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None",
18615            NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**' ),   
18616          ),  
18617          b_noeud_i      =BLOC(condition = "NOEUD_I != None",
18618            NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
18619            NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**' ),  
18620            NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**' ),     
18621          ),  
18622          DEPASSEMENT     =FACT(statut='f',max='**',
18623            fr="Loi de dépassement d un seuil pendant une durée donnée",
18624            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18625            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18626            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18627            PAS             =SIMP(statut='f',typ='R' ),  
18628            DUREE           =SIMP(statut='f',typ='R',defaut= 1. ),  
18629          ),
18630          RAYLEIGH        =FACT(statut='f',max='**',
18631            fr="Densité de probabilité de pic positif, loi adaptée à des signaux à bande étroite",
18632            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18633            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18634            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18635            PAS             =SIMP(statut='f',typ='R' ),  
18636          ),
18637          GAUSS           =FACT(statut='f',max='**',
18638            fr="Densité de probabilité de pic positif, loi normale adaptée à des signaux large bande",
18639            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18640            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18641            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18642            PAS             =SIMP(statut='f',typ='R' ),  
18643          ),
18644          VANMARCKE       =FACT(statut='f',max='**',
18645            fr="Probabilité de non dépassement de seuil pendant une durée donnée (analyse sismique)",
18646            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18647            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18648            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18649            PAS             =SIMP(statut='f',typ='R' ),  
18650            DUREE           =SIMP(statut='f',typ='R',defaut= 10. ),  
18651          ),
18652          MOMENT          =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux en complément des cinq premiers" ),  
18653          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
18654          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
18655 )  ;
18656 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18657 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18658 # ======================================================================
18659 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18660 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18661 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18662 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18663 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18664 #
18665 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18666 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18667 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18668 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18669 #
18670 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18671 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18672 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18673 # ======================================================================
18674 POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=tabl_post_dyna,
18675                       fr="Post-traitements en coordonnées généralisées issus de DYNA_TRAN_MODAL",
18676                       reentrant='n',
18677             UIinfo={"groupes":("Post traitements",)},
18678         regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),),
18679          RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
18680          CHOC            =FACT(statut='f',max='**',
18681                                fr="Analyse des non linéarités de choc",
18682            INST_INIT       =SIMP(statut='f',typ='R',defaut= -1. ),  
18683            INST_FIN        =SIMP(statut='f',typ='R',defaut= 999. ),  
18684            NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
18685            SEUIL_FORCE     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
18686            DUREE_REPOS     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
18687            OPTION          =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ),
18688            NB_CLASSE       =SIMP(statut='f',typ='I',defaut= 10 ),  
18689          ),
18690          RELA_EFFO_DEPL  =FACT(statut='f',
18691                                fr="Analyse des relationsnon linéaires effort-déplacement",
18692            NOEUD           =SIMP(statut='o',typ=no),
18693            NOM_CMP         =SIMP(statut='o',typ='TXM' ),  
18694          ),
18695          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
18696          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
18697 )  ;
18698 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18699 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18700 # ======================================================================
18701 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18702 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18703 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18704 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18705 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18706 #
18707 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18708 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18709 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18710 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18711 #
18712 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18713 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18714 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18715 # ======================================================================
18716 # RESPONSABLE G8BHHXD X.DESROCHES
18717 def post_elem_prod( MASS_INER,ENER_POT,ENER_CIN,TRAV_EXT,WEIBULL,
18718                     CARA_GEOM,CARA_POUTRE,RICE_TRACEY,CHAR_LIMITE,
18719                     INDIC_ENER,INDIC_SEUIL,ENER_ELAS,ENER_TOTALE,
18720                     AIRE_INTERNE,**args ):
18721   if MASS_INER    != None  : return tabl_mass_iner
18722   if ENER_POT     != None  : return tabl_ener_pot
18723   if ENER_CIN     != None  : return tabl_ener_cin
18724   if TRAV_EXT     != None  : return tabl_trav_ext
18725   if WEIBULL      != None  : return tabl_weibull
18726   if CARA_GEOM    != None  : return tabl_cara_geom
18727   if CARA_POUTRE  != None  : return tabl_cara_geom
18728   if RICE_TRACEY  != None  : return tabl_rice_tracey
18729   if CHAR_LIMITE  != None  : return tabl_char_limite
18730   if INDIC_ENER   != None  : return tabl_indic_ener
18731   if INDIC_SEUIL  != None  : return tabl_indic_seuil
18732   if ENER_ELAS    != None  : return tabl_ener_elas
18733   if ENER_TOTALE  != None  : return tabl_ener_totale
18734   if AIRE_INTERNE != None  : return tabl_aire_int
18735   raise AsException("type de concept resultat_sdaster non prevu")
18736
18737 POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,reentrant='f',
18738             UIinfo={"groupes":("Post traitements",)},
18739                fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle",
18740
18741          regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT',
18742                           'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE',
18743                           'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL',
18744                           'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE'),
18745                 ),
18746
18747          MASS_INER      = FACT(statut='f',max='**',
18748                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18749                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18750                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18751                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18752                                ORIG_INER    = SIMP(statut='f',typ='R',min=3,max=3 ),
18753                               ),
18754          b_mass_iner = BLOC(condition = "( MASS_INER != None )",
18755                        fr="calcul de la masse, les inerties et le centre de gravité",
18756                        regles=(EXCLUS('CHAM_GD','RESULTAT'),
18757                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
18758                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
18759                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18760                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18761                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
18762                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18763                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
18764                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
18765                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18766                        GEOMETRIE      = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")),
18767                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
18768                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas,
18769                                                              fourier_elas,dyna_trans) ),
18770                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18771                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18772                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18773                        NUME_ORDRE     = SIMP(statut='f',typ='I',),
18774                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
18775                        INST           = SIMP(statut='f',typ='R',),
18776                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
18777                        FREQ           = SIMP(statut='f',typ='R',),
18778                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
18779                        NUME_MODE      = SIMP(statut='f',typ='I',),
18780                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2),
18781                        NOM_CAS        = SIMP(statut='f',typ='TXM',),
18782          ),
18783
18784          ENER_POT       = FACT(statut='f',max='**',
18785                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18786                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18787                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18788                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18789                               ),
18790          b_ener_pot = BLOC(condition = "( ENER_POT  != None )",
18791                        fr="calcul de l'énergie potentielle de déformation",
18792                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
18793                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
18794                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
18795                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18796                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18797                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
18798                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18799                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
18800                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
18801                        ANGLE          = SIMP(statut='f',typ='I',defaut=0),
18802                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18803                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
18804                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ),
18805                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18806                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18807                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18808                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18809                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
18810                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18811                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
18812                        FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18813                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
18814                        NUME_MODE      = SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**'),
18815                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18816                        NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18817          ),
18818
18819          ENER_CIN       = FACT(statut='f',max='**',
18820                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18821                                OPTION       = SIMP(statut='f',typ='TXM',
18822                                                    into=("MASS_MECA","MASS_MECA_DIAG"),
18823                                                    defaut="MASS_MECA" ),
18824                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18825                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18826                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18827                               ),
18828          b_ener_cin = BLOC(condition = "( ENER_CIN != None )",
18829                        fr="calcul de l'énergie cinétique",
18830                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
18831                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
18832                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
18833                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18834                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18835                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
18836                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18837                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
18838                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
18839                        ANGLE          = SIMP(statut='f',typ='I',defaut=0),
18840                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18841                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
18842                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ),
18843                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18844                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18845                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18846                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18847                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
18848                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18849                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
18850                        FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18851                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
18852                        NUME_MODE      = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18853                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18854                        NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18855          ),
18856
18857          ENER_ELAS      = FACT(statut='f',max='**',
18858                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18859                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18860                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18861                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18862                               ),
18863          b_ener_elas = BLOC(condition = "( ENER_ELAS != None )",
18864                        fr="calcul de l'énergie de déformation élastique",
18865                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18866                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18867                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
18868                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18869                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
18870                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
18871                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18872                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
18873                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
18874                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18875                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18876                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18877                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18878                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
18879                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18880                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
18881          ),
18882
18883          ENER_TOTALE    = FACT(statut='f',max='**',
18884                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18885                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18886                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18887                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18888                               ),
18889          b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )",
18890                        fr="calcul de l'énergie de déformation totale",
18891                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18892                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18893                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
18894                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18895                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
18896                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
18897                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18898                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
18899                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
18900                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18901                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18902                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18903                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18904                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
18905                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18906                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
18907          ),
18908
18909          WEIBULL        = FACT(statut='f',max='**',
18910                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18911                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18912                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18913                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18914                                OPTION       = SIMP(statut='f',typ='TXM',
18915                                                    into=("SIGM_ELGA","SIGM_ELMOY"),
18916                                                    defaut="SIGM_ELGA"),
18917                                CORR_PLAST   = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
18918                                COEF_MULT    = SIMP(statut='f',typ='R',defaut=1.),
18919                               ),
18920          b_weibull = BLOC(condition = "( WEIBULL != None )",
18921                        fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull",
18922                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
18923                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
18924                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18925                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18926                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
18927                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18928                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
18929                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
18930                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18931                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
18932                        RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
18933                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18934                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18935                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18936                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18937                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
18938                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18939                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
18940          ),
18941
18942          RICE_TRACEY    = FACT(statut='f',max='**',
18943                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18944                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18945                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18946                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18947                                OPTION       = SIMP(statut='f',typ='TXM',
18948                                                    into=("SIGM_ELGA","SIGM_ELMOY"),
18949                                                    defaut="SIGM_ELGA"),
18950                                LOCAL        = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
18951                               ),
18952          b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )",
18953                        fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine",
18954                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
18955                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
18956                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18957                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18958                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
18959                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18960                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
18961                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
18962                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18963                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
18964                        RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
18965                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18966                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18967                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18968                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18969                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
18970                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18971                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
18972          ),
18973
18974          INDIC_ENER     = FACT(statut='f',max='**',
18975                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18976                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18977                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18978                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18979                               ),
18980          b_indic_ener = BLOC(condition = "( INDIC_ENER != None )",
18981                        fr="calcul un indicateur global de perte de proportionnalité du chargement",
18982                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18983                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18984                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18985                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18986                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
18987                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
18988                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18989                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18990                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18991                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18992                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
18993                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18994                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
18995          ),
18996
18997          INDIC_SEUIL    = FACT(statut='f',max='**',
18998                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18999                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19000                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19001                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19002                               ),
19003          b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )",
19004                        fr="calcul un indicateur global de perte de proportionnalité du chargement",
19005                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19006                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19007                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19008                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19009                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19010                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19011                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19012                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19013                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19014                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19015                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19016                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19017                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19018          ),
19019
19020          CHAR_LIMITE    = FACT(statut='f',min=0,
19021                                CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON")
19022                               ),
19023          b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )",
19024                        fr="post-traitement du calcul de la charge limite",
19025                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19026                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19027                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19028                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19029                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19030                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19031                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19032                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19033                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19034                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19035                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19036                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19037                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19038                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19039          ),
19040
19041          CARA_GEOM      = FACT(statut='f',max='**',
19042                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19043                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19044                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19045                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19046                                SYME_X       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
19047                                SYME_Y       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
19048                                ORIG_INER    = SIMP(statut='f',typ='R',min=2,max=2),
19049                               ),
19050          b_cara_geom = BLOC(condition = "( CARA_GEOM != None )",
19051                        fr="calcul des caractéristiques géométriques d'un section de poutre",
19052                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19053                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19054                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19055                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19056          ),
19057
19058          CARA_POUTRE    = FACT(statut='f',max='**',
19059                                regles=(AU_MOINS_UN('TOUT','GROUP_MA'),
19060                                        ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),),
19061                                TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19062                                GROUP_MA      = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19063                                GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19064                                CARA_GEOM     = SIMP(statut='f',typ=tabl_cara_geom),
19065                                RT            = SIMP(statut='f',typ='R'),
19066                                LAPL_PHI      = SIMP(statut='f',typ=evol_ther),
19067                                LAPL_PHI_Y    = SIMP(statut='f',typ=evol_ther),
19068                                LAPL_PHI_Z    = SIMP(statut='f',typ=evol_ther),
19069                                LIAISON       = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")),
19070                                LONGUEUR      = SIMP(statut='f',typ='R'),
19071                                MATERIAU      = SIMP(statut='f',typ=mater_sdaster),
19072                                OPTION        = SIMP(statut='f',typ='TXM',
19073                                                     into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ),
19074                              ),
19075          b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )",
19076                        fr="calcul des caractéristiques mécaniques d'un section de poutre",
19077                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19078                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19079                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19080                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19081          ),
19082
19083           AIRE_INTERNE   = FACT(statut='f',max='**',
19084                                 GROUP_MA_BORD  = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
19085                                ),
19086          b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )",
19087                        fr="calcul de l'aire d'un trou dans un maillage 2D",
19088                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19089          ),
19090
19091          TRAV_EXT       = FACT(statut='f',),
19092          b_trav_ext = BLOC(condition = "( TRAV_EXT != None )",
19093                        fr="calcul du travail des efforts extérieurs",
19094                        RESULTAT       = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ),
19095                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19096                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19097                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19098          ),
19099
19100          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
19101          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19102
19103  )  ;
19104 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19105 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19106 # ======================================================================
19107 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19108 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19109 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19110 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19111 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19112 #
19113 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19114 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19115 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19116 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19117 #
19118 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19119 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19120 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19121 # ======================================================================
19122 POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=tabl_post_f_alea,reentrant='n',
19123             UIinfo={"groupes":("Post traitements",)},
19124                     fr="Calcul du dommage subi par une structure soumise à unesollicitation de type aléatoire",
19125          regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'),
19126                  PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'),
19127                  UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ),
19128          MOMENT_SPEC_0   =SIMP(statut='f',typ='R'),  
19129          MOMENT_SPEC_2   =SIMP(statut='f',typ='R'),  
19130          MOMENT_SPEC_4   =SIMP(statut='f',typ='R'),  
19131          TABL_POST_ALEA  =SIMP(statut='f',typ=tabl_post_alea),
19132          COMPTAGE        =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")),
19133          DUREE           =SIMP(statut='f',typ='R',defaut= 1.),  
19134          CORR_KE         =SIMP(statut='f',typ='TXM',into=("RCCM",)),
19135          DOMMAGE         =SIMP(statut='o',typ='TXM',into=("WOHLER",)),
19136          MATER           =SIMP(statut='o',typ=mater_sdaster),
19137          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
19138 )  ;
19139 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
19140 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19141 # ======================================================================
19142 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19143 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19144 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19145 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
19146 # (AT YOUR OPTION) ANY LATER VERSION.
19147 #
19148 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
19149 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
19150 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
19151 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
19152 #
19153 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
19154 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
19155 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19156 # ======================================================================
19157 POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=tabl_post_fatig,reentrant='n',
19158             UIinfo={"groupes":("Post traitements",)},
19159                   fr="Calcul du dommage subi par une structure soumise à une histoire de chargement",
19160
19161          CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","PERIODIQUE","QUELCONQUE")),
19162
19163          b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'",
19164                       regles=(PRESENT_PRESENT('CORR_KE','MATER'),
19165                               PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'),
19166                               PRESENT_PRESENT('DOMMAGE','MATER'),),
19167              HISTOIRE       = FACT(statut='o',
19168                                  regles=(UN_PARMI('SIGM','EPSI'),),
19169                                  SIGM  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19170                                  EPSI  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
19171              COMPTAGE       = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL")),
19172              DELTA_OSCI     = SIMP(statut='f',typ='R',defaut= 0.0E+0),
19173              COEF_MULT      = FACT(statut='f',
19174                                  KT    = SIMP(statut='o',typ='R'),),
19175              CORR_KE        = SIMP(statut='f',typ='TXM',into=("RCCM",)),
19176              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN",
19177                                                               "TAHERI_MANSON","TAHERI_MIXTE")),
19178              MATER          = SIMP(statut='f',typ=mater_sdaster),
19179              CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")),
19180              TAHERI_NAPPE   = SIMP(statut='f',typ=(nappe_sdaster,formule)),
19181              TAHERI_FONC    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19182              CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
19183          ),
19184
19185          b_periodique = BLOC( condition = "CHARGEMENT=='PERIODIQUE'",
19186              HISTOIRE       = FACT(statut='o',
19187                                  SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19188                                  SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19189                                  SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19190                                  SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19191                                  SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19192                                  SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
19193              CRITERE        = SIMP(statut='o',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")),
19194              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER",)),
19195              MATER          = SIMP(statut='o',typ=mater_sdaster),
19196              COEF_CORR      = SIMP(statut='f',typ='R'),
19197          ),
19198
19199          b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'",
19200              HISTOIRE       = FACT(statut='o',
19201                                  SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19202                                  SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19203                                  SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19204                                  SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19205                                  SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19206                                  SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19207                                  EPSP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19208                                  TEMP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),),
19209              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),),
19210              MATER          = SIMP(statut='o',typ=mater_sdaster),
19211              CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
19212          ),
19213
19214          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19215          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
19216 )  ;
19217 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19218 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19219 # ======================================================================
19220 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19221 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19222 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19223 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19224 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19225 #
19226 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19227 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19228 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19229 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19230 #
19231 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19232 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19233 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19234 # ======================================================================
19235 # RESPONSABLE JMBHH01 J.M.PROIX
19236 POST_K1_K2_K3=OPER(nom="POST_K1_K2_K3",op=188,sd_prod=tabl_post_k,
19237                    fr="Calcul des FIC par extrapolation du champ de déplacements sur les lèvres de la fissure",
19238                    reentrant='n',
19239             UIinfo={"groupes":("Post traitements",)},
19240
19241            regles=(UN_PARMI('RESULTAT','TABL_DEPL_SUP'),
19242                    PRESENT_PRESENT('TABL_DEPL_SUP','TABL_DEPL_INF'),
19243                    PRESENT_PRESENT('RESULTAT','FOND_FISS'),),
19244
19245          MODELISATION  =SIMP(statut='o',typ='TXM',
19246                              into=("3D","AXIS","D_PLAN","C_PLAN"),
19247                              fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"),
19248          FOND_FISS     =SIMP(statut='f',typ=fond_fiss),
19249          b_fond_fiss   =BLOC (condition="(FOND_FISS!= None)",
19250                          MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
19251                          PRECISION     = SIMP(statut='f',typ='R',defaut=0.001),
19252                          NOEUD         = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19253                          GROUP_NO      = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19254                          SANS_NOEUD    = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19255                          SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19256                          TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) )
19257                          ),
19258          MATER         =SIMP(statut='o',typ=mater_sdaster,
19259                              fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"),
19260          RESULTAT      =SIMP(statut='f',typ=(evol_elas,evol_noli),
19261                              fr="Table déplacement des noeuds de la lèvre supérieure et inférieure"),
19262          TABL_DEPL_SUP =SIMP(statut='f',typ=tabl_post_rele,
19263                              fr="Table issue de post_releve_t sur les noeuds de la lèvre supérieure"),
19264          TABL_DEPL_INF =SIMP(statut='f',typ=tabl_post_rele,
19265                              fr="Table issue de post_releve_t sur les noeuds de la lèvre inférieure"),
19266          ABSC_CURV_MAXI=SIMP(statut='f',typ='R',
19267                              fr="distance maximum à partir du fond de fissure à utiliser pour le calcul"),  
19268          PREC_VIS_A_VIS= SIMP(statut='f',typ='R',defaut=0.1),
19269          TOUT_ORDRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19270          NUME_ORDRE    =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19271          LIST_ORDRE    =SIMP(statut='f',typ=listis_sdaster),
19272          INST          =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19273          LIST_INST     =SIMP(statut='f',typ=listr8_sdaster),
19274              b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
19275                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
19276                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
19277              ),
19278          INFO          =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19279          VECT_K1       =SIMP(statut='o',typ='R',max=3,
19280                              fr="Vecteur normal au plan de fissure, orienté de la lèvre inférieure vers la lèvre supérieure"),  
19281          TITRE         =SIMP(statut='f',typ='TXM',max='**'),  
19282 )  ;
19283 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19284 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19285 # ======================================================================
19286 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
19287 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19288 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19289 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19290 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19291 #
19292 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19293 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19294 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19295 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19296 #
19297 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19298 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19299 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19300 #                                                                       
19301 #                                                                       
19302 # ======================================================================
19303 #
19304 POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=tabl_post_beta,
19305                    fr="Calcul des FIC par la méthode K_BETA",
19306                    reentrant='n',
19307             UIinfo={"groupes":("Post traitements",)},
19308          MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
19309          MATER_REV     = SIMP(statut='o',typ=mater_sdaster),
19310          EPAIS_REV     = SIMP(statut='o',typ='R'),
19311          FISSURE       = FACT(statut='o',
19312             DECALAGE       = SIMP(statut='f',typ='R',defaut=-2.e-04),
19313             PROFONDEUR     = SIMP(statut='o',typ='R'),
19314             LONGUEUR       = SIMP(statut='o',typ='R'),
19315             ORIENTATION    = SIMP(statut='o',typ='TXM',
19316                                  into=("CIRC","LONGI"),),
19317          ),
19318          K1D           = FACT(statut='o',max='**',
19319             TABL_MECA_REV  = SIMP(statut='o',typ=(tabl_post_rele)),
19320             TABL_MECA_MDB  = SIMP(statut='o',typ=(tabl_post_rele)),
19321             TABL_THER      = SIMP(statut='o',typ=(tabl_post_rele)),
19322             INTITULE       = SIMP(statut='o',typ='TXM' ), 
19323          ),
19324          TITRE         = SIMP(statut='f',typ='TXM',max='**'),  
19325 );
19326 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19327 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19328 # ======================================================================
19329 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19330 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19331 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19332 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19333 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19334 #
19335 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19336 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19337 # MERCHANTABILITY OR FITNESS FOR A PARTIC               
19338 #
19339 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19340 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19341 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19342 # ======================================================================
19343 # RESPONSABLE JMBHH01 J.M.PROIX
19344 POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=tabl_post_rccm,
19345                fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)",
19346                reentrant='n',
19347             UIinfo={"groupes":("Post traitements",)},
19348          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ),
19349          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
19350          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
19351          TYPE_RESU_MECA  =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ),
19352
19353 # ======================================================================
19354      b_evolution  =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')",
19355
19356          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
19357                                into=("PM_PB","SN","FATIGUE_ZH210") ),
19358          MATER           =SIMP(statut='o',typ=mater_sdaster ),
19359          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster),
19360          SEGMENT         =FACT(statut='o',max='**',fr="Segment sur lequel s effectue le depouillement",
19361            regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'),
19362                    EXCLUS('CHEMIN','GROUP_NO'),
19363                    EXCLUS('CHEMIN','NOEUD'),),
19364            INTITULE        =SIMP(statut='f',typ='TXM' ),
19365            CHEMIN          =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster),),
19366            NOEUD           =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),
19367            GROUP_NO        =SIMP(statut='f',typ=grno),
19368              b_acce_noeud     =BLOC(condition="(NOEUD != None)or(GROUP_NO != None)",
19369                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
19370                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
19371                                    ),
19372                                ),
19373          TRANSITOIRE     =FACT(statut='o',max='**',fr="transitoire à dépouiller",
19374            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
19375            RESULTAT        =SIMP(statut='o',typ=(evol_elas,evol_noli) ),
19376            RESU_SIGM_THER  =SIMP(statut='f',typ=(evol_elas,evol_noli),fr="résultat sous chargement thermique seul" ),
19377            NB_OCCUR        =SIMP(statut='f',typ='I',defaut= 1,fr="nombre d occurences réelles de ce transitoire" ),
19378            NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("SIEF_ELNO_ELGA","SIGM_ELNO_DEPL") ),
19379            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19380            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19381            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
19382            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19383            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
19384            b_inst          =BLOC(condition = "(INST != None) or (LIST_INST != None)" ,
19385              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
19386              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
19387                                  ), 
19388                              ),
19389          ),
19390
19391 # ======================================================================
19392      b_unitaire  =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')",
19393
19394          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
19395                                into=("PM_PB","SN","FATIGUE") ),
19396          MATER           =SIMP(statut='o',typ=mater_sdaster ),
19397          TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
19398                                fr="Ke meca seul ou partition mecanique + thermique" ),
19399          CHAR_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
19400            NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
19401            NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
19402            TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
19403            FX            =SIMP(statut='f',typ='R',fr="effort suivant x", ),
19404            FY            =SIMP(statut='f',typ='R',fr="effort suivant y", ),
19405            FZ            =SIMP(statut='f',typ='R',fr="effort suivant z", ),
19406            MX            =SIMP(statut='o',typ='R',fr="moment suivant x", ),
19407            MY            =SIMP(statut='o',typ='R',fr="moment suivant y", ),
19408            MZ            =SIMP(statut='o',typ='R',fr="moment suivant z", ),
19409                          ),
19410          RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires",
19411            TABL_FX       =SIMP(statut='f',typ=table_sdaster,
19412                               fr="table relevé des contraintes pour chargement unitaire FX"),
19413            TABL_FY       =SIMP(statut='f',typ=table_sdaster,
19414                               fr="table relevé des contraintes pour chargement unitaire FY"),
19415            TABL_FZ       =SIMP(statut='f',typ=table_sdaster,
19416                               fr="table relevé des contraintes pour chargement unitaire FZ"),
19417            TABL_MX       =SIMP(statut='o',typ=table_sdaster,
19418                               fr="table relevé des contraintes pour chargement unitaire MX"),
19419            TABL_MY       =SIMP(statut='o',typ=table_sdaster,
19420                               fr="table relevé des contraintes pour chargement unitaire MY"),
19421            TABL_MZ       =SIMP(statut='o',typ=table_sdaster,
19422                               fr="table relevé des contraintes pour chargement unitaire MZ"),
19423            TABL_PRES     =SIMP(statut='o',typ=table_sdaster,
19424                               fr="table relevé des contraintes pour chargement unitaire de pression"),
19425                          ),
19426           RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
19427            NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
19428            TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
19429                               fr="table relevé des contraintes pour chargement thermique"),
19430            TABL_SIGM_THER  =SIMP(statut='f',typ=table_sdaster,
19431                               fr="table relevé des contraintes sous chargement thermique seul" ),
19432                            ),
19433          SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
19434               NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
19435               NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
19436               NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
19437               NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
19438               COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
19439               NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ),
19440               NUME_PASSAGE     =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ),
19441               NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
19442               CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
19443               CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
19444               PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
19445               PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
19446               TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
19447               TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
19448                                ),
19449                       ),
19450 # ======================================================================
19451      b_tuyauterie  =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')",
19452
19453          OPTION          =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ),
19454          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
19455          TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
19456                                fr="Ke meca seul ou partition mecanique + thermique" ),
19457          MODELE          =SIMP(statut='o',typ=modele_sdaster),
19458          CARA_ELEM       =SIMP(statut='o',typ=cara_elem),
19459          ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés",
19460             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19461             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19462             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19463             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19464             ),
19465          RESU_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
19466            regles=(UN_PARMI('CHAM_GD','RESULTAT'),),
19467            NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
19468            NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
19469            TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
19470            CHAM_GD         =SIMP(statut='f',typ=cham_gd_sdaster),
19471            RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
19472            b_extrac        =BLOC(condition="RESULTAT != None",
19473                                  fr="extraction d un champ de grandeur",
19474              regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),),
19475              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO_DEPL","SIEF_ELNO_ELGA"),),
19476              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19477              NUME_ORDRE      =SIMP(statut='f',typ='I',),
19478              INST            =SIMP(statut='f',typ='R',),
19479              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19480              b_acce_reel     =BLOC(condition="(INST != None)",
19481                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
19482                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), ),
19483              ),
19484            ),
19485                           ),
19486          INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes",
19487             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19488             C1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"),
19489             K1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"),
19490             C2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"),
19491             K2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"),
19492             C3              =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"),
19493             K3              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"),
19494             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),),
19495             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
19496                              fr="groupe(s) de mailles ou sont affectés les indices de contraintes"),
19497             MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',
19498                              fr="liste des mailles ou sont affectés les indices de contraintes"),
19499             b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
19500                GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19501                NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19502             ),
19503             TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"),
19504                               fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"),
19505                          ),
19506           RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
19507             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19508             NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
19509             TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
19510                               fr="table relevé des températures sur la section"),
19511             TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster,
19512                               fr="table relevé des moyennes sur la section"),
19513             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19514             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19515             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19516             b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
19517                GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19518                NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19519             ),
19520                            ),
19521          SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
19522               NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
19523               NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
19524               NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
19525               NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
19526               COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
19527               NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ),
19528               NUME_PASSAGE     =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ),
19529               NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
19530               CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
19531               CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
19532               PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
19533               PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
19534               TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
19535               TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
19536                                ),
19537                ),
19538 )  ;
19539 #& MODIF COMMANDE  DATE 07/10/2004   AUTEUR GNICOLAS G.NICOLAS 
19540 # ======================================================================
19541 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19542 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19543 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19544 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19545 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19546 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19547 #
19548 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19549 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19550 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19551 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19552 #
19553 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19554 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19555 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19556 # ======================================================================
19557 # RESPONSABLE G8BHHXD X.DESROCHES
19558 POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,reentrant='f',
19559             UIinfo={"groupes":("Post traitements",)},
19560          ACTION          =FACT(statut='o',max='**',
19561            regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'),
19562                    EXCLUS('CHEMIN','GROUP_NO'),
19563                    EXCLUS('CHEMIN','NOEUD'),
19564                    PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'),
19565                    UN_PARMI('RESULTAT','CHAM_GD'),            
19566                    UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'),
19567                    PRESENT_PRESENT('TRAC_DIR','DIRECTION'),          
19568                    ENSEMBLE('MOMENT','POINT'),
19569                    PRESENT_PRESENT('MOMENT','RESULTANTE'),
19570                    PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'),
19571                    EXCLUS('TRAC_DIR','TRAC_NOR'),
19572                    PRESENT_PRESENT('ORIGINE','AXE_Z'),),
19573            INTITULE        =SIMP(statut='o',typ='TXM'),  
19574            CHEMIN          =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ),
19575            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19576            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19577            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19578            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19579            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19580            FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")),
19581            CHAM_GD         =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r,cham_no_var2_r,
19582                                                  cham_elem_sief_r,cham_elem_epsi_r,cham_elem_flux_r,cham_elem_crit_r,
19583                                                  cham_elem_ener_r,cham_elem_dbel_r,cham_elem_pres_r,cham_elem_erreur,
19584                                                  cham_elem_vari_r,cham_no_depl_c,cham_no_temp_c,cham_no_pres_c,
19585                                                  cham_elem_sief_c,cham_elem_epsi_c,cham_no_facy_r)),
19586            RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_ther,evol_noli,dyna_trans,
19587                                                  mode_meca,mode_flamb,mode_acou,base_modale,mode_stat,
19588                                                  mult_elas,fourier_elas,dyna_harmo,acou_harmo)),
19589            b_sensibilite   =BLOC(condition="RESULTAT != None",
19590                                  fr="Définition des paramètres de sensibilité",
19591                                  ang="Definition of sensitivity parameters",
19592              SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
19593                                    fr="Liste des paramètres de sensibilité.",
19594                                    ang="List of sensitivity parameters"),),
19595
19596            b_extrac        =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
19597              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE',         
19598                             'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ),           
19599              NOM_CHAM        =SIMP(statut='o',typ='TXM' ),  
19600              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19601              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
19602              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
19603              NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
19604              LIST_MODE       =SIMP(statut='f',typ=listis_sdaster),
19605              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19606              NOM_CAS         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),  
19607              FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
19608              LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
19609              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
19610              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
19611              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
19612              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19613            ),
19614            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",)),
19615            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),  
19616            INVARIANT       =SIMP(statut='f',typ='TXM',into=("OUI",)),
19617            ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19618            RESULTANTE      =SIMP(statut='f',typ='TXM',max='**'),  
19619            MOMENT          =SIMP(statut='f',typ='TXM',max='**'),  
19620            POINT           =SIMP(statut='f',typ='R',max='**'),  
19621
19622            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
19623                                  into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
19624            ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),  
19625            ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
19626            AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),  
19627
19628            TRAC_NOR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
19629            TRAC_DIR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
19630            DIRECTION       =SIMP(statut='f',typ='R',max='**'),  
19631  
19632            VECT_Y          =SIMP(statut='f',typ='R',max='**'),  
19633            MOYE_NOEUD      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
19634            OPERATION       =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE"),validators=NoRepeat(),max=2),
19635          ),
19636          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19637          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
19638 )  ;
19639 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19640 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19641 # ======================================================================
19642 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19643 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19644 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19645 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19646 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19647 #
19648 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19649 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19650 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19651 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19652 #
19653 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19654 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19655 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19656 # ======================================================================
19657 POST_SIMPLIFIE=OPER(nom="POST_SIMPLIFIE",op=185,sd_prod=tabl_post_simpli,
19658                     fr=" ",reentrant='n',
19659             UIinfo={"groupes":("Outils métier",)},
19660          MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
19661          DEF_EQUI        =FACT(statut='f',
19662            METHODE         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="UTO_2_3",
19663                                  into=("UTO_2_3",) ),
19664            EPAIS           =SIMP(statut='o',typ='R'),  
19665            LONG_FISS       =SIMP(statut='o',typ='R'),  
19666            LONG_LIGA_INT   =SIMP(statut='o',typ='R'),  
19667            DEXT            =SIMP(statut='o',typ='R'),  
19668            TEMP_ANALYSE    =SIMP(statut='f',typ='R'),  
19669          ),
19670 )  ;
19671 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19672 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19673 # ======================================================================
19674 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19675 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19676 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19677 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19678 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19679 #
19680 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19681 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19682 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19683 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19684 #
19685 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19686 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19687 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19688 # ======================================================================
19689 POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,reentrant='f',
19690             UIinfo={"groupes":("Post traitements",)},
19691                 fr="Calcul des volumes d'usure et des profondeurs d'usure",
19692          regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'),
19693                  PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'),
19694                  PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),),
19695          TUBE_NEUF       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19696          ETAT_INIT       =FACT(statut='f',
19697            TABL_USURE      =SIMP(statut='f',typ=tabl_post_usur),
19698            INST_INIT       =SIMP(statut='f',typ='R'),  
19699                          ),
19700          RESU_GENE       =SIMP(statut='f',typ=tran_gene),
19701          NOEUD           =SIMP(statut='f',typ=no,),
19702          INST_INIT       =SIMP(statut='f',typ='R',defaut=-1.0E+0),  
19703          INST_FIN        =SIMP(statut='f',typ='R'),  
19704          NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
19705          PUIS_USURE      =SIMP(statut='f',typ='R'),  
19706          LOI_USURE       =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")),
19707          b_archard       =BLOC(condition = "LOI_USURE == 'ARCHARD'",
19708            regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'), 
19709                    EXCLUS('MATER_USURE','OBSTACLE'),
19710                    EXCLUS('MOBILE','USURE_OBST'),),
19711            MOBILE          =FACT(statut='f',
19712              COEF_USURE      =SIMP(statut='o',typ='R'), 
19713            ),   
19714            OBSTACLE        =FACT(statut='f',
19715              COEF_USURE      =SIMP(statut='o',typ='R'), 
19716            ),
19717            SECTEUR         =FACT(statut='f',max='**',
19718              CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",  
19719                                                               "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", 
19720                                                               "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
19721              COEF_USUR_MOBILE=SIMP(statut='f',typ='R'),  
19722              COEF_USUR_OBST  =SIMP(statut='f',typ='R'),  
19723              ANGL_INIT       =SIMP(statut='f',typ='R'),  
19724              ANGL_FIN        =SIMP(statut='f',typ='R'),  
19725            ),
19726            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
19727            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
19728          ),
19729          b_kwu_epri        =BLOC(condition = "LOI_USURE == 'KWU_EPRI'",
19730            regles=(UN_PARMI('MOBILE','MATER_USURE'), 
19731                    EXCLUS('MATER_USURE','OBSTACLE'),
19732                    EXCLUS('MOBILE','USURE_OBST'),),
19733            MOBILE          =FACT(statut='f',
19734              COEF_FNOR       =SIMP(statut='f',typ='R'),  
19735              COEF_VTAN       =SIMP(statut='f',typ='R'),  
19736              COEF_USURE      =SIMP(statut='f',typ='R'),  
19737              COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
19738              COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
19739            ),   
19740            OBSTACLE        =FACT(statut='f',
19741              COEF_FNOR       =SIMP(statut='f',typ='R' ),  
19742              COEF_VTAN       =SIMP(statut='f',typ='R' ),  
19743              COEF_USURE      =SIMP(statut='o',typ='R'), 
19744              COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
19745              COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
19746            ),   
19747            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
19748            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
19749            FNOR_MAXI       =SIMP(statut='f',typ='R' ),  
19750            VTAN_MAXI       =SIMP(statut='f',typ='R' ),  
19751          ),
19752          b_edf_mz          =BLOC(condition = "LOI_USURE == 'EDF_MZ'",
19753            regles=(UN_PARMI('MOBILE','MATER_USURE'), 
19754                    EXCLUS('MATER_USURE','OBSTACLE'),
19755                    EXCLUS('MOBILE','USURE_OBST'),),
19756            MOBILE          =FACT(statut='f',
19757              COEF_USURE      =SIMP(statut='f',typ='R',defaut=1.0E-13),  
19758              COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
19759              COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
19760              COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
19761            ),   
19762            OBSTACLE        =FACT(statut='f',
19763              COEF_USURE      =SIMP(statut='o',typ='R',defaut=1.0E-13), 
19764              COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
19765              COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
19766              COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
19767            ),   
19768            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
19769            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
19770          ),
19771          b_tube_neuf       =BLOC(condition = "TUBE_NEUF == 'OUI'",
19772             TABL_USURE      =SIMP(statut='o',typ=tabl_post_usur),
19773             INST            =SIMP(statut='f',typ='R'),
19774          ),
19775          CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",    
19776                                                           "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE",        
19777                                                           "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
19778          RAYON_MOBILE    =SIMP(statut='f',typ='R'),  
19779          RAYON_OBST      =SIMP(statut='f',typ='R'),  
19780          LARGEUR_OBST    =SIMP(statut='f',typ='R'),  
19781          ANGL_INCLI      =SIMP(statut='f',typ='R'),  
19782          ANGL_ISTHME     =SIMP(statut='f',typ='R'),  
19783          ANGL_IMPACT     =SIMP(statut='f',typ='R'),  
19784          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
19785          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
19786          COEF_INST       =SIMP(statut='f',typ='R',defaut=1.0E+0),  
19787          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19788          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
19789 )  ;
19790 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
19791 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19792 # ======================================================================
19793 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19794 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19795 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19796 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19797 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19798 #
19799 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19800 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19801 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19802 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19803 #
19804 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19805 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19806 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19807 # ======================================================================
19808 POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,reentrant='n',
19809             UIinfo={"groupes":("Post traitements",)},
19810               fr="Donne l'état adapté ou accommodé d'une structure sous chargement cyclique élastique affine ou non",
19811          MODELE          =SIMP(statut='o',typ=modele_sdaster),
19812          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
19813          EXCIT           =FACT(statut='o',max='**',
19814            CHARGE          =SIMP(statut='o',typ=char_meca),
19815            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19816            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",into=("FIXE_CSTE",)),
19817          ),
19818          EVOL_ELAS       =SIMP(statut='o',typ=evol_elas),
19819          b_evol_elas     =BLOC(condition="EVOL_ELAS != None",
19820            regles=(UN_PARMI('NUME_ORDRE','LIST_INST','INST'),),
19821            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
19822            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
19823            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
19824          ),
19825          TEMP_ZAC        =SIMP(statut='f',typ='R',defaut=0.0E+0),  
19826          EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
19827          b_evol_noli     =BLOC(condition="EVOL_NOLI != None",
19828            INST_MAX        =SIMP(statut='o',typ='R'),  
19829          ),
19830          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),  
19831          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19832
19833 )  ;
19834 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19835 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19836 # ======================================================================
19837 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19838 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19839 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19840 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19841 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19842 #
19843 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19844 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19845 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19846 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19847 #
19848 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19849 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19850 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19851 # ======================================================================
19852 POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',fr="Poursuite d une étude",
19853                 sd_prod = ops.POURSUITE,
19854             UIinfo={"groupes":("Gestion du travail",)},
19855                 op_init = ops.POURSUITE_context,fichier_ini = 1,
19856          FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
19857                                typ='TXM',defaut="NON",into=("OUI","NON",) ), 
19858          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
19859                            into=("OUI","NON"),defaut="OUI"),
19860          BASE            =FACT(fr="définition des parmètres associés aux bases JEVEUX",
19861                                statut='f',min=1,max=3,
19862            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM'),
19863            TITRE           =SIMP(statut='f',typ='TXM'),
19864            CAS             =SIMP(statut='f',typ='TXM'),
19865            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
19866            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
19867            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
19868          ),
19869          IMPRESSION      =FACT(statut='f',min=1,max=3,
19870            FICHIER         =SIMP(statut='o',typ='TXM'),
19871            UNITE           =SIMP(statut='o',typ='I'),
19872          ),
19873          CATALOGUE       =FACT(statut='f',min=1,max=10,
19874            FICHIER         =SIMP(statut='o',typ='TXM'),
19875            TITRE           =SIMP(statut='f',typ='TXM'),
19876            UNITE           =SIMP(statut='f',typ='I'),
19877          ),
19878          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
19879                                statut='f',min=1,max=1,
19880            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
19881                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
19882            JEVEUX          =SIMP(fr="force les déchargement sur disque",
19883                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
19884            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
19885                                  statut='f',typ='TXM',into=('TES',)),
19886          ),
19887          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
19888            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
19889            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
19890            TAILLE          =SIMP(statut='f',typ='I'),
19891            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
19892            PARTITION       =SIMP(statut='f',typ='R' ),
19893          ),
19894          CODE            =FACT("définition d un nom pour l'esemble d'une étude",
19895                                statut='f',min=1,max=1,
19896            NOM             =SIMP(statut='o',typ='TXM'),
19897            UNITE           =SIMP(statut='f',typ='I',defaut=15),
19898          ),
19899 )  ;
19900 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19901 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19902 # ======================================================================
19903 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19904 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19905 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19906 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19907 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19908 #
19909 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19910 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19911 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19912 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19913 #
19914 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19915 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19916 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19917 # ======================================================================
19918 PRE_GIBI=PROC(nom="PRE_GIBI",op=49,
19919             UIinfo={"groupes":("Gestion du travail",)},
19920               fr="Conversion d un fichier de maillage GIBI",
19921          UNITE_GIBI      =SIMP(statut='f',typ='I',defaut=19),  
19922          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
19923 )  ;
19924 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19925 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19926 # ======================================================================
19927 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19928 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19929 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19930 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19931 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19932 #
19933 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19934 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19935 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19936 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19937 #
19938 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19939 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19940 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19941 # ======================================================================
19942
19943 PRE_GMSH=PROC(nom="PRE_GMSH",op=47,
19944             UIinfo={"groupes":("Gestion du travail",)},
19945                fr="Conversion d un fichier universel GMSH au format Aster",
19946          UNITE_GMSH      =SIMP(statut='f',typ='I',defaut=19),  
19947          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
19948 )  ;
19949 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19950 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19951 # ======================================================================
19952 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19953 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19954 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19955 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19956 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19957 #
19958 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19959 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19960 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19961 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19962 #
19963 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19964 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19965 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19966 # ======================================================================
19967 PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47,
19968             UIinfo={"groupes":("Gestion du travail",)},
19969                fr="Conversion d un fichier universel IDEAS-SUPERTAB au format Aster",
19970          UNITE_IDEAS     =SIMP(statut='f',typ='I',defaut=19),  
19971          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
19972          CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
19973 )  ;
19974 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19975 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19976 # ======================================================================
19977 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19978 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19979 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19980 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19981 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19982 #
19983 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19984 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19985 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19986 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19987 #
19988 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19989 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19990 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19991 # ======================================================================
19992 def prod_matr_cham_prod(MATR_ASSE,**args):
19993   if AsType(MATR_ASSE) == matr_asse_depl_r : return cham_no_depl_r
19994   if AsType(MATR_ASSE) == matr_asse_depl_c : return cham_no_depl_c
19995   if AsType(MATR_ASSE) == matr_asse_temp_r : return cham_no_temp_r
19996   if AsType(MATR_ASSE) == matr_asse_pres_c : return cham_no_pres_c
19997   raise AsException("type de concept resultat non prevu")
19998
19999 PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=prod_matr_cham_prod,
20000                     fr="Effectuer le produit d une matrice par un vecteur",
20001                     reentrant='n',
20002             UIinfo={"groupes":("Résultats et champs",)},
20003          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ),
20004          CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_temp_r,cham_no_pres_c ) ),
20005          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
20006 )  ;
20007 #& MODIF COMMANDE  DATE 29/09/2004   AUTEUR MJBHHPE J.L.FLEJOU 
20008 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20009 # ======================================================================
20010 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20011 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20012 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20013 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20014 # (AT YOUR OPTION) ANY LATER VERSION.
20015 #
20016 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20017 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20018 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20019 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20020 #
20021 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20022 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20023 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20024 # ======================================================================
20025 # RESPONSABLE VABHHTS J.PELLET
20026 def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ):
20027     if AsType(RESULTAT)     == evol_ther      : return evol_ther
20028     if AsType(RESULTAT)     == evol_elas      : return evol_elas
20029     if AsType(RESULTAT)     == evol_noli      : return evol_noli
20030     if AsType(RESULTAT)     == evol_char      : return evol_char
20031     if AsType(CHAM_NO_REFE) == cham_no_depl_r : return cham_no_depl_r
20032     if AsType(CHAM_NO_REFE) == cham_no_depl_c : return cham_no_depl_c
20033     if AsType(CHAM_NO_REFE) == cham_no_pres_c : return cham_no_pres_c
20034     if AsType(CHAM_NO_REFE) == cham_no_temp_r : return cham_no_temp_r
20035     if AsType(CHAM_NO_REFE) == cham_no_epsi_r : return cham_no_epsi_r
20036     if AsType(CHAM_NO_REFE) == cham_no_sief_r : return cham_no_sief_r
20037     if AsType(CHAM_NO_REFE) == cham_no_flux_r : return cham_no_flux_r
20038     raise AsException("type de concept resultat non prevu")
20039
20040 PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
20041             UIinfo={"groupes":("Résultats et champs",)},
20042                 fr="Projection d'un champ aux noeuds sur les noeuds d'un autre maillage",
20043 #
20044          METHODE         =SIMP(statut='f',typ='TXM',defaut="ELEM",
20045                                into=("NUAGE_DEG_0","NUAGE_DEG_1","ELEM",) ),
20046          b_nuage         =BLOC(condition="(METHODE=='NUAGE_DEG_1') or (METHODE=='NUAGE_DEG_0')",
20047                                fr="Lissage d'un nuage de points",
20048            CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,cham_no_temp_r,
20049                                                  cham_no_epsi_r,cham_no_sief_r,cham_no_flux_r)),
20050            CHAM_NO_REFE    =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,cham_no_temp_r,
20051                                                  cham_no_epsi_r,cham_no_sief_r,cham_no_flux_r)),
20052          ),
20053          b_elem          =BLOC(condition="METHODE=='ELEM'",
20054                               fr="Utilisation des fonctions de forme du maillage initial",
20055            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'),
20056                    EXCLUS('TOUT_CHAM','NOM_CHAM',), ),
20057            RESULTAT        =SIMP(statut='o',typ=(evol_ther,evol_elas,evol_noli,evol_char) ),
20058            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
20059                                fr="Liste des paramètres de sensibilité.",
20060                                ang="List of sensitivity parameters",),
20061            MODELE_1        =SIMP(statut='o',typ=modele_sdaster),
20062            MODELE_2        =SIMP(statut='o',typ=modele_sdaster),
20063
20064            TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20065            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
20066
20067            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20068            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
20069            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
20070            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
20071            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
20072            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
20073            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
20074            DISTANCE_MAX    =SIMP(statut='f',typ='R',max=1,
20075             fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."),
20076          ),
20077
20078          VIS_A_VIS       =FACT(statut='f',max='**',
20079            regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
20080                    AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
20081            TOUT_1          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20082            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20083            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20084            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20085            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20086            TOUT_2          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20087            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20088            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20089            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20090            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20091          ),
20092
20093          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
20094          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
20095 )  ;
20096 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20097 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20098 # ======================================================================
20099 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20100 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20101 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20102 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20103 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20104 #
20105 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20106 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20107 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20108 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20109 #
20110 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20111 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20112 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20113 # ======================================================================
20114 def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args):
20115   if AsType(MATR_ASSE) == matr_asse_depl_r  : return matr_asse_gene_r
20116   if AsType(MATR_ASSE_GENE) == matr_asse_gene_r  : return matr_asse_gene_r
20117   if AsType(MATR_ASSE) == matr_asse_depl_c  : return matr_asse_gene_c
20118   if AsType(MATR_ASSE_GENE) == matr_asse_gene_c  : return matr_asse_gene_c
20119   raise AsException("type de concept resultat non prevu")
20120
20121 PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op=  71,sd_prod=matr_asse_gene_prod,
20122                     fr="Projection d une matrice assemblée sur une base (modale ou de RITZ)",
20123                     reentrant='n',
20124             UIinfo={"groupes":("Matrices/vecteurs",)},
20125          regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),),            
20126          BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
20127          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
20128          MATR_ASSE       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ),
20129          MATR_ASSE_GENE  =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ),
20130 )  ;
20131
20132 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
20133 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20134 # ======================================================================
20135 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20136 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20137 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20138 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20139 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20140 #
20141 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20142 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20143 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20144 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20145 #
20146 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20147 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20148 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20149 # ======================================================================
20150 def proj_mesu_modal_prod(MODELE_MESURE,**args):
20151      vale=MODELE_MESURE['NOM_PARA']
20152      if  vale == 'INST'   : return tran_gene
20153      if  vale == 'FREQ'   : return harm_gene
20154      if  vale == 'DEFORMEE'   : return mode_gene
20155      raise AsException("type de concept resultat non prevu")
20156
20157 PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193,
20158                      sd_prod=proj_mesu_modal_prod,
20159                      reentrant='n',
20160             UIinfo={"groupes":("Résultats et champs",)},
20161                      fr="Calcul de coordonnees generalisees de mesure experimentale relatives a une base de projection",
20162
20163          MODELE_CALCUL   =FACT(statut='o',
20164            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
20165            BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,) ),
20166                          ),
20167          MODELE_MESURE   =FACT(statut='o',
20168            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
20169            MESURE          =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,) ),
20170            NOM_PARA        =SIMP(statut='f',typ='TXM',defaut="INST",into=("INST","FREQ","DEFORMEE",),),
20171            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ),
20172                          ),
20173          CORR_MANU       =FACT(statut='f',max='**',
20174            regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),),
20175            NOEU_CALCUL     =SIMP(statut='f',typ=no),
20176            NOEU_MESURE     =SIMP(statut='f',typ=no),
20177                          ),
20178          RESOLUTION      =FACT(statut='f',
20179            METHODE         =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ),
20180            b_svd =BLOC(condition="METHODE=='SVD'",
20181                        EPS=SIMP(statut='f',typ='R',defaut=0. ),
20182                       ),
20183            REGUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ),
20184            b_regul =BLOC(condition="REGUL!='NON'",
20185                          regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),),
20186                          COEF_PONDER   =SIMP(statut='f',typ='R',defaut=0.     ,max='**' ),  
20187                          COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
20188                         ),
20189              ),
20190
20191           ); 
20192 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20193 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20194 # ======================================================================
20195 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20196 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20197 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20198 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20199 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20200 #
20201 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20202 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20203 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20204 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20205 #
20206 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20207 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20208 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20209 # ======================================================================
20210 PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=tabl_intsp,reentrant='n',
20211             UIinfo={"groupes":("Matrices/vecteurs",)},
20212                     fr="Projection d un ou plusieurs spectres de turbulenc sur un ensemble de bases modales ",
20213       regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'),
20214               ENSEMBLE('FREQ_INIT','FREQ_FIN','NB_POIN'),),
20215          SPEC_TURB       =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ),
20216          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
20217          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
20218          CHAM_NO         =SIMP(statut='f',typ=cham_no_depl_r ),
20219          FREQ_INIT       =SIMP(statut='f',typ='R',val_min=0.E+0 ),  
20220          FREQ_FIN        =SIMP(statut='f',typ='R',val_min=0.E+0 ),  
20221          NB_POIN         =SIMP(statut='f',typ='I' ),  
20222          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")),
20223          GROUP_MA        =SIMP(statut='f',typ=grma),
20224 #  Quel est le type attendu derriere  MODELE_INTERFACE         
20225          MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster),
20226          VECT_X          =SIMP(statut='f',typ='R',min=3,max=3 ),  
20227          VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3 ),  
20228          ORIG_AXE        =SIMP(statut='f',typ='R',min=3,max=3 ),  
20229          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
20230 )  ;
20231 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20232 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20233 # ======================================================================
20234 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20235 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20236 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20237 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20238 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20239 #
20240 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20241 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20242 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20243 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20244 #
20245 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20246 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20247 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20248 # ======================================================================
20249 PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op=  72,sd_prod=vect_asse_gene,
20250                     fr="Projection d un vecteur assemblé sur une base (modale ou de RITZ)",
20251                     reentrant='n',
20252             UIinfo={"groupes":("Matrices/vecteurs",)},
20253          regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),),              
20254          BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
20255          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
20256          TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
20257          VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
20258          VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
20259 )  ;
20260 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20261 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20262 # ======================================================================
20263 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20264 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20265 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20266 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20267 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20268 #
20269 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20270 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20271 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20272 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20273 #
20274 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20275 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20276 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20277 # ======================================================================
20278 RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=tabl_reca_weib,
20279                      fr=" ",reentrant='n',
20280             UIinfo={"groupes":("Post traitements",)},
20281          LIST_PARA       =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ),
20282          RESU            =FACT(statut='o',max='**',
20283            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',),
20284                    AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),),
20285            EVOL_NOLI       =SIMP(statut='o',typ=(evol_noli) ),
20286            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
20287            CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
20288            TEMPE           =SIMP(statut='f',typ='R' ),
20289            LIST_INST_RUPT  =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
20290            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20291            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
20292            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
20293            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
20294            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20295            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20296            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20297            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.E0 ),
20298                          ),
20299          OPTION          =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ),
20300          CORR_PLAST      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
20301          METHODE         =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ),
20302          INCO_GLOB_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
20303          ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
20304          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
20305                        )  ;
20306 #& MODIF COMMANDE  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
20307 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20308 # ======================================================================
20309 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20310 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20311 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20312 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20313 # (AT YOUR OPTION) ANY LATER VERSION.
20314 #
20315 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20316 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20317 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20318 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20319 #
20320 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20321 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20322 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20323 # ======================================================================
20324 # RESPONSABLE MCOURTOI M.COURTOIS
20325 def recu_fonction_prod(RESULTAT=None,TABLE=None,OBSTACLE=None,
20326                        RESU_GENE=None,BASE_ELAS_FLUI=None,CHAM_GD=None,
20327                        TYPE_RESU=None,**args):
20328   if AsType(RESULTAT) == dyna_harmo : return fonction_c
20329 #  On ne sait pas interpreter les deux conditions suivantes
20330   if TABLE != None :
20331      if TYPE_RESU != None :
20332         if TYPE_RESU == "FONCTION_C" : return fonction_c
20333         if TYPE_RESU == "FONCTION"   : return fonction_sdaster
20334      else:
20335         return fonction_sdaster
20336   if RESU_GENE      != None         : return fonction_sdaster
20337   if BASE_ELAS_FLUI != None         : return fonction_sdaster
20338   if RESULTAT       != None         : return fonction_sdaster
20339   if CHAM_GD        != None         : return fonction_sdaster
20340   if OBSTACLE       != None         : return fonction_sdaster
20341   raise AsException("type de concept resultat non prevu")
20342
20343 RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod,
20344                    fr="Extraire sous forme d une fonction, l évolution temporelle d une composante d un champ ou d une table",
20345                    reentrant='n',
20346             UIinfo={"groupes":("Fonction",)},
20347          regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','OBSTACLE'),),
20348
20349          CHAM_GD         =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r,cham_elem_sief_r,
20350                                                cham_elem_vari_r,cham_elem_epsi_r,cham_elem_flux_r,
20351                                                cham_elem_pres_r,) ),
20352          RESULTAT        =SIMP(statut='f',typ=(evol_elas,dyna_trans,evol_noli,evol_ther,dyna_harmo ) ),
20353          RESU_GENE       =SIMP(statut='f',typ=tran_gene),
20354 #  concept table à créer
20355          TABLE           =SIMP(statut='f',typ=table_sdaster),
20356          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster),
20357          OBSTACLE        =SIMP(statut='f',typ=obstacle_sdaster),
20358
20359          b_tran_gene = BLOC ( condition = "RESU_GENE != None",
20360                               fr="Récupération de la fonction concernant les chocs à partir d un concept TRAN_GENE",
20361             regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),
20362                     EXCLUS('MULT_APPUI','CORR_STAT'),),
20363              MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20364              CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20365              ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20366              PARA_X          =SIMP(statut='f',typ='TXM' ),
20367              PARA_Y          =SIMP(statut='f',typ='TXM' ),
20368              SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
20369              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
20370              INTITULE        =SIMP(statut='f',typ='TXM' ),
20371          ),
20372          b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None",
20373                                    fr="Récupération de la fonction à partir d un concept melasflu",
20374            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),),
20375            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20376            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20377            NUME_MODE       =SIMP(statut='o',typ='I' ),
20378            PARA_X          =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ),
20379            PARA_Y          =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ),
20380          ),
20381          b_table = BLOC ( condition = "TABLE != None",fr="Récupération de la fonction à partir d un concept table",
20382            regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'),
20383                    PRESENT_PRESENT('PARA_X','PARA_Y'),),
20384            PARA_X          =SIMP(statut='f',typ='TXM',
20385                                  fr="1ère colonne de la table qui définit la fonction à récupérer", ),
20386            PARA_Y          =SIMP(statut='f',typ='TXM',
20387                                  fr="2ème colonne de la table qui définit la fonction à récupérer", ),
20388            NOM_PARA_TABL   =SIMP(statut='f',typ='TXM',into=("FONCTION",),
20389                                  fr="Nom du paramètre de la table à qui est associé la fonction" ),
20390            b_nom_para_tabl = BLOC (condition = "NOM_PARA_TABL != None",
20391              TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="FONCTION",into=("FONCTION","FONCTION_C") ),
20392            ),
20393
20394            FILTRE          =FACT(statut='f',max='**',
20395               NOM_PARA        =SIMP(statut='o',typ='TXM' ),
20396               CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
20397                                     into=("EQ","LT","GT","NE","LE","GE","VIDE",
20398                                           "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
20399               b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
20400                  regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
20401                  VALE            =SIMP(statut='f',typ='R' ),
20402                  VALE_I          =SIMP(statut='f',typ='I' ),
20403                  VALE_C          =SIMP(statut='f',typ='C' ),
20404                  VALE_K          =SIMP(statut='f',typ='TXM' ),),
20405
20406               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20407               PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20408            ),
20409          ),
20410 # RESULTAT
20411          b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT",
20412            regles=(
20413 #    A voir par Mathieu Courtois : il existe de tests (SDNX300B) qui ne satisfont pas ce UN_PARMI
20414 #           UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','TOUT_INST','LIST_INST','FREQ','LIST_FREQ'),
20415                    AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC','NOM_PARA_RESU'),
20416                    PRESENT_PRESENT('MAILLE','NOM_CMP'),
20417                    PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
20418                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
20419                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
20420                    PRESENT_PRESENT('POINT','NOM_CMP'),
20421                    EXCLUS('POINT','NOEUD'),
20422                    EXCLUS('GROUP_MA','MAILLE'),
20423                    EXCLUS('GROUP_NO','NOEUD'),
20424                    EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),
20425                    UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
20426            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
20427            NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
20428            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20429            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20430            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
20431            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20432            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20433            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
20434            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20435            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
20436            b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
20437              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20438              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20439              INTERP_NUME     =SIMP(statut='f',typ='TXM',into=("NON","LIN") ),
20440            ),
20441            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
20442
20443            MAILLE          =SIMP(statut='f',typ=ma),
20444            GROUP_MA        =SIMP(statut='f',typ=grma),
20445            NOEUD           =SIMP(statut='f',typ=no),
20446            GROUP_NO        =SIMP(statut='f',typ=grno),
20447            POINT           =SIMP(statut='f',typ='I' ),
20448            SOUS_POINT      =SIMP(statut='f',typ='I' ),
20449            NOEUD_CHOC      =SIMP(statut='f',typ=no),
20450            GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
20451          ),
20452 # RESU_GENE
20453          b_resu_gene = BLOC ( condition = "RESU_GENE != None", fr="Opérandes en cas de RESU_GENE",
20454 #    A voir par Mathieu Courtois : il existe de tests (SDNX300B) qui ne satisfont pas ce UN_PARMI
20455 #           regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','TOUT_INST','LIST_INST','FREQ','LIST_FREQ'),),
20456            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ),
20457            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20458            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20459            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
20460            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20461            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20462            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
20463            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20464            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
20465            b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
20466              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20467              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20468              INTERP_NUME     =SIMP(statut='f',typ='TXM',into=("NON","LIN") ),
20469            ),
20470            b_local_cham = BLOC ( condition = "NOM_CHAM!='PTEM'", fr="Opérandes de localisation du champ",
20471              regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'),
20472                      PRESENT_PRESENT('MAILLE','NOM_CMP'),
20473                      PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
20474                      PRESENT_PRESENT('NOEUD','NOM_CMP'),
20475                      PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
20476                      PRESENT_PRESENT('POINT','NOM_CMP'),
20477                      EXCLUS('POINT','NOEUD'),
20478                      EXCLUS('GROUP_MA','MAILLE'),
20479                      EXCLUS('GROUP_NO','NOEUD'),
20480                      EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),),
20481              NOM_CMP         =SIMP(statut='f',typ='TXM' ),
20482
20483              MAILLE          =SIMP(statut='f',typ=ma),
20484              GROUP_MA        =SIMP(statut='f',typ=grma),
20485              NOEUD           =SIMP(statut='f',typ=no),
20486              GROUP_NO        =SIMP(statut='f',typ=grno),
20487              POINT           =SIMP(statut='f',typ='I' ),
20488              SOUS_POINT      =SIMP(statut='f',typ='I' ),
20489              NOEUD_CHOC      =SIMP(statut='f',typ=no),
20490              GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
20491            ),
20492          ),
20493 # CHAM_GD
20494          b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD",
20495
20496            regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'),
20497                    PRESENT_PRESENT('MAILLE','NOM_CMP'),
20498                    PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
20499                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
20500                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
20501                    PRESENT_PRESENT('POINT','NOM_CMP'),
20502                    EXCLUS('POINT','NOEUD'),
20503                    EXCLUS('GROUP_MA','MAILLE'),
20504                    EXCLUS('GROUP_NO','NOEUD'),
20505                    EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),),
20506            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
20507
20508            MAILLE          =SIMP(statut='f',typ=ma),
20509            GROUP_MA        =SIMP(statut='f',typ=grma),
20510            NOEUD           =SIMP(statut='f',typ=no),
20511            GROUP_NO        =SIMP(statut='f',typ=grno),
20512            POINT           =SIMP(statut='f',typ='I' ),
20513            SOUS_POINT      =SIMP(statut='f',typ='I' ),
20514            NOEUD_CHOC      =SIMP(statut='f',typ=no),
20515            GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
20516          ),
20517          b_obstacle = BLOC ( condition = "OBSTACLE != None",
20518                               fr="Choix du repère",
20519             REPERE          =SIMP(statut='f',typ='TXM',into=("POLAIRE","GLOBAL") ),
20520          ),
20521 ###
20522          NOM_PARA        =SIMP(statut='f',typ='TXM', into=C_PARA_FONCTION() ),
20523          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
20524          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
20525          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
20526          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
20527
20528          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
20529          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
20530 )  ;
20531 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20532 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20533 # ======================================================================
20534 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20535 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20536 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20537 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20538 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20539 #
20540 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20541 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20542 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20543 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20544 #
20545 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20546 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20547 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20548 # ======================================================================
20549 RECU_GENE=OPER(nom="RECU_GENE",op=  76,sd_prod=vect_asse_gene,reentrant='n',
20550             UIinfo={"groupes":("Résultats et champs",)},
20551                fr="Récupération d un champ de grandeur à partir d un résultat en coordonnées généralisées",
20552          RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
20553          INST            =SIMP(statut='o',typ='R' ),
20554          NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE") ),
20555          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
20556          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF" ,into=("ABSOLU","RELATIF") ),
20557          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20558 )  ;
20559 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20560 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20561 # ======================================================================
20562 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20563 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20564 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20565 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20566 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20567 #
20568 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20569 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20570 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20571 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20572 #
20573 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20574 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20575 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20576 # ======================================================================
20577 # RESPONSABLE VABHHTS J.PELLET
20578 RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster,
20579                 fr=" ",reentrant='n',
20580             UIinfo={"groupes":("Résultats et champs",)},
20581          CO              =SIMP(statut='o',typ=assd),
20582          regles=(UN_PARMI('NOM_TABLE','NOM_PARA')),
20583          NOM_TABLE       =SIMP(statut='f',typ='TXM' ),
20584          NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),  
20585          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
20586 )  ;
20587 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20588 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20589 # ======================================================================
20590 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20591 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20592 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20593 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20594 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20595 #
20596 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20597 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20598 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20599 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20600 #
20601 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20602 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20603 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20604 # ======================================================================
20605 def reso_grad_prod(MATR_ASSE,**args ):
20606   if AsType(MATR_ASSE) == matr_asse_depl_r : return cham_no_depl_r
20607   if AsType(MATR_ASSE) == matr_asse_temp_r : return cham_no_temp_r
20608   if AsType(MATR_ASSE) == matr_asse_pres_r : return cham_no_pres_r
20609   raise AsException("type de concept resultat non prevu")
20610
20611 RESO_GRAD=OPER(nom="RESO_GRAD",op=  84,sd_prod=reso_grad_prod,
20612                fr="Résolution par la méthode du gradient conjugué préconditionné",
20613                reentrant='f',
20614             UIinfo={"groupes":("Résolution",)},
20615          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
20616          CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r ) ),
20617          CHAM_CINE       =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r ) ),
20618          MATR_FACT       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
20619          NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),  
20620          REPRISE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
20621          RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1E-6 ),  
20622          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
20623 )  ;
20624 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20625 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20626 # ======================================================================
20627 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20628 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20629 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20630 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20631 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20632 #
20633 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20634 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20635 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20636 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20637 #
20638 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20639 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20640 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20641 # ======================================================================
20642 # RESPONSABLE VABHHTS J.PELLET
20643 def reso_ldlt_prod(CHAM_NO,**args ):
20644   if AsType(CHAM_NO) == cham_no_temp_r : return cham_no_temp_r
20645   if AsType(CHAM_NO) == cham_no_depl_r : return cham_no_depl_r
20646   if AsType(CHAM_NO) == cham_no_pres_r : return cham_no_pres_r
20647   if AsType(CHAM_NO) == cham_no_temp_c : return cham_no_temp_c
20648   if AsType(CHAM_NO) == cham_no_depl_c : return cham_no_depl_c
20649   if AsType(CHAM_NO) == cham_no_pres_c : return cham_no_pres_c
20650   raise AsException("type de concept resultat non prevu")
20651
20652 RESO_LDLT=OPER(nom="RESO_LDLT",op=15,sd_prod=reso_ldlt_prod,reentrant='f',
20653                fr="Résolution en place ou hors place d un système factorisé",
20654             UIinfo={"groupes":("Résolution",)},
20655          MATR_FACT       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
20656                                                matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
20657          CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r,
20658                                                cham_no_temp_c,cham_no_depl_c,cham_no_pres_c) ),
20659          CHAM_CINE       =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_c) ),
20660          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
20661          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
20662 )  ;
20663 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
20664 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20665 # ======================================================================
20666 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20667 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20668 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20669 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20670 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20671 #
20672 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20673 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20674 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20675 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20676 #
20677 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20678 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20679 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20680 # ======================================================================
20681 # RESPONSABLE BOYERE E.BOYERE
20682 def rest_base_phys_prod(RESU_GENE,RESULTAT,**args ):
20683   if AsType(RESU_GENE) == tran_gene : return dyna_trans
20684   if AsType(RESU_GENE) == mode_gene : return mode_meca
20685   if AsType(RESU_GENE) == mode_cycl : return mode_meca
20686   if AsType(RESU_GENE) == harm_gene : return dyna_harmo
20687   if AsType(RESULTAT)  == mode_meca : return mode_meca
20688   raise AsException("type de concept resultat non prevu")
20689
20690 REST_BASE_PHYS=OPER(nom="REST_BASE_PHYS",op=  75,sd_prod=rest_base_phys_prod,
20691                     fr="Restituer dans la base physique des résultats en coordonnées généralisées",
20692                     reentrant='n',
20693             UIinfo={"groupes":("Matrices/vecteurs",)},
20694         regles=(UN_PARMI('RESU_GENE','RESULTAT'),
20695                 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'),
20696                 EXCLUS('TOUT_INST','NUME_ORDRE','INST','LIST_INST','TOUT_ORDRE'),
20697 #  Doc U à revoir
20698                 EXCLUS('MULT_APPUI','CORR_STAT'),
20699                 EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'),
20700                 EXCLUS('CORR_STAT','NOEUD','GROUP_NO'),             
20701                 EXCLUS('NOEUD','GROUP_NO'), 
20702                 PRESENT_PRESENT('RESULTAT','SQUELETTE'),
20703                 PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),),
20704          RESU_GENE       =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene ) ),
20705          RESULTAT        =SIMP(statut='f',typ=mode_meca ),
20706          
20707          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
20708          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20709          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
20710          TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20711          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
20712          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
20713          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
20714          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
20715          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
20716          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
20717          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
20718          MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20719          CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20720          NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",   
20721                                into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
20722                                      "SIGM_ELNO_DEPL","FORC_NODA",) ),
20723          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20724          GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20725          NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20726  
20727          ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
20728          DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3 ),
20729
20730          SQUELETTE       =SIMP(statut='f',typ=squelette ),
20731          SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),  
20732          SECTEUR         =SIMP(statut='f',typ='I',defaut= 1 ),  
20733          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
20734 )  ;
20735 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20736 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20737 # ======================================================================
20738 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20739 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20740 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20741 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20742 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20743 #
20744 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20745 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20746 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20747 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20748 #
20749 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20750 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20751 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20752 # ======================================================================
20753 REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=tabl_intsp,
20754                     reentrant='n',
20755             UIinfo={"groupes":("Matrices/vecteurs",)},
20756          regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),),
20757          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
20758          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
20759          BANDE           =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2    ),  
20760          NUME_ORDRE      =SIMP(statut='f',typ='I'      ,validators=NoRepeat(),max='**' ),  
20761          INTE_SPEC_GENE  =SIMP(statut='o',typ=tabl_intsp ),
20762          NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
20763          MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
20764          NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
20765          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7,    
20766                                into=("DEPL","VITE","ACCE","EFGE_ELNO_DEPL",
20767                                      "SIPO_ELNO_DEPL","SIGM_ELNO_DEPL","FORC_NODA") ),
20768          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc), ),
20769          EXCIT           =FACT(statut='f',
20770            NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
20771            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
20772          ),
20773          MOUVEMENT       =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ),
20774          OPTION          =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG",    
20775                                into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ),
20776          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
20777 )  ;
20778 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20779 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20780 # ======================================================================
20781 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
20782 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
20783 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
20784 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
20785 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
20786 #                                                                       
20787 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
20788 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
20789 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
20790 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
20791 #                                                                       
20792 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
20793 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
20794 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
20795 # ======================================================================
20796
20797 from Macro.stanley_ops import stanley_ops
20798
20799 STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None,
20800                        reentrant='n',
20801               UIinfo={"groupes":("Outils métier",)},
20802                        fr="Outil de post-traitement interactif Stanley ",
20803          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) ),
20804          MODELE          =SIMP(statut='f',typ=modele_sdaster),
20805          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
20806          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
20807 )  ;
20808 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR NICOLAS O.NICOLAS 
20809 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20810 # ======================================================================
20811 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20812 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20813 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20814 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20815 # (AT YOUR OPTION) ANY LATER VERSION.
20816 #
20817 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20818 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20819 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20820 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20821 #
20822 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20823 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20824 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20825 # ======================================================================
20826 # RESPONSABLE PBADEL P.BADEL
20827 STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
20828                    fr="Analyse mécanique statique non linéaire",
20829                    reentrant='f',
20830             UIinfo={"groupes":("Résolution",)},
20831          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'),),
20832          MODELE          =SIMP(statut='o',typ=modele_sdaster),
20833          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
20834          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
20835          EXCIT           =FACT(statut='o',max='**',
20836            CHARGE          =SIMP(statut='o',typ=char_meca),
20837            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
20838            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
20839                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
20840          ),
20841          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
20842                 regles=(UN_PARMI('TOUT','MAILLE'),),
20843                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
20844                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20845                 MAILLE      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
20846               ),
20847          VARI_COMM           =FACT(statut='f',
20848            regles=(AU_MOINS_UN('IRRA','CORROSION'),),
20849            IRRA       =SIMP(statut='f',typ=evol_varc),
20850            CORROSION  =SIMP(statut='f',typ=carte_corr_r),
20851          ),
20852          COMP_INCR       =C_COMP_INCR(),
20853          COMP_ELAS       =FACT(statut='f',max='**',
20854            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
20855                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
20856                                        "ELAS_POUTRE_GR","CABLE")),
20857            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
20858            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
20859            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
20860            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
20861            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
20862            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
20863       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
20864            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20865            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20866            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20867          ),
20868          b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
20869            ETAT_INIT       =FACT(statut='o',
20870              regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
20871                      EXCLUS('EVOL_NOLI','DEPL',),
20872                      EXCLUS('EVOL_NOLI','SIGM',),
20873                      EXCLUS('EVOL_NOLI','VARI',),
20874                      EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
20875                      EXCLUS('NUME_ORDRE','INST'), ),
20876              DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
20877              SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
20878              VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
20879              VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
20880              EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
20881              NUME_ORDRE      =SIMP(statut='f',typ='I'),
20882              INST            =SIMP(statut='f',typ='R'),
20883              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
20884              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20885              NUME_DIDI       =SIMP(statut='f',typ='I'),
20886              INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
20887          ),),
20888          b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
20889            ETAT_INIT       =FACT(statut='f',
20890              regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
20891                      EXCLUS('EVOL_NOLI','DEPL',),
20892                      EXCLUS('EVOL_NOLI','SIGM',),
20893                      EXCLUS('EVOL_NOLI','VARI',),
20894                      EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
20895                      EXCLUS('NUME_ORDRE','INST'), ),
20896              DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
20897              SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
20898              VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
20899              VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
20900              EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
20901              NUME_ORDRE      =SIMP(statut='f',typ='I'),
20902              INST            =SIMP(statut='f',typ='R'),
20903              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
20904              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20905              NUME_DIDI       =SIMP(statut='f',typ='I'),
20906              INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
20907          ),),
20908          INCREMENT       =FACT(statut='o',
20909            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
20910                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
20911            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
20912            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
20913                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
20914            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
20915            INST_INIT       =SIMP(statut='f',typ='R'),
20916            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
20917            INST_FIN        =SIMP(statut='f',typ='R'),
20918            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
20919            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
20920            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
20921            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
20922            OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
20923            NOM_CHAM        =SIMP(statut='f',typ='TXM',),
20924            NOM_CMP         =SIMP(statut='f',typ='TXM',),
20925            VALE            =SIMP(statut='f',typ='R'),
20926          ),
20927          NEWTON          =FACT(statut='d',
20928            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
20929            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
20930            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
20931            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
20932            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
20933            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
20934            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
20935          ),
20936          RECH_LINEAIRE   =FACT(statut='f',
20937            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
20938            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
20939            ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
20940            PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
20941            RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
20942            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
20943            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2),
20944          ),
20945          PILOTAGE        =FACT(statut='f',
20946            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
20947            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
20948            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
20949            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
20950            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
20951            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
20952            ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
20953            PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
20954            SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
20955            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20956            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
20957            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
20958            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
20959            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
20960            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
20961                          ),
20962          CONVERGENCE     =FACT(statut='d',
20963            regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
20964            SIGM_REFE       =SIMP(statut='f',typ='R'),
20965            EPSI_REFE       =SIMP(statut='f',typ='R'),
20966            FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
20967            FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
20968            FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),
20969            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
20970            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
20971            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
20972            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
20973            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
20974            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
20975            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
20976                                 ,defaut= 1.0E-6),
20977            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
20978            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
20979            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
20980                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
20981          ),
20982          PARM_THETA      =SIMP(statut='f',typ='R'
20983                               ,defaut= 1. ),
20984          SOLVEUR         =FACT(statut='d',
20985            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
20986            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
20987              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
20988            ),
20989            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
20990              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
20991            ),
20992            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
20993                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
20994              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
20995              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
20996            ),
20997            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
20998              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
20999              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21000              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21001              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21002              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21003            ),
21004            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21005          ),
21006          ARCHIVAGE       =FACT(statut='f',
21007            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
21008                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
21009            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
21010            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
21011            PAS_ARCH        =SIMP(statut='f',typ='I' ),
21012            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
21013            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
21014            NUME_INIT       =SIMP(statut='f',typ='I'),
21015            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
21016            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA",
21017                                                                      "VARI_NON_LOCAL","LANL_ELGA")),
21018          ),
21019          OBSERVATION     =FACT(statut='f',max='**',
21020            regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),
21021                    PRESENT_PRESENT('MAILLE','POINT'),),
21022            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA",
21023                                               "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU")),
21024            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
21025            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
21026            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
21027            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
21028            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21029            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21030            PAS_OBSE        =SIMP(statut='f',typ='I'),
21031            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
21032            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21033            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21034            POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
21035          ),
21036          CRIT_FLAMB     =FACT(statut='f',min=1,max=1,
21037            NB_FREQ         =SIMP(statut='f',typ='I',max=1,defaut=3),
21038            CHAR_CRIT       =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10),
21039                             fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),
21040          ),
21041            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21042                                fr="Liste des paramètres de sensibilité",
21043                                ang="List of sensitivity parameters"),
21044            SOLV_NON_LOCAL  =FACT(statut='f',
21045              METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21046              b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
21047                RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21048              ),
21049              b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
21050                RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21051              ),
21052              b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21053                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
21054                NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21055                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21056              ),
21057              b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
21058                PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21059                NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21060                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21061                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21062              ),
21063              EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
21064            ),
21065            LAGR_NON_LOCAL  =FACT(statut='f',
21066              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
21067              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
21068              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
21069              R               =SIMP(statut='f',typ='R',defaut= 1000.),
21070              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
21071            ),
21072          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
21073          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
21074  )  ;
21075 #& MODIF COMMANDE  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
21076 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21077 # ======================================================================
21078 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
21079 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
21080 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
21081 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
21082 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
21083 #                                                                       
21084 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
21085 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
21086 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
21087 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
21088 #                                                                       
21089 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
21090 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
21091 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
21092 # ======================================================================
21093
21094 # RESPONSABLE MCOURTOI M.COURTOIS
21095
21096 from Macro.test_fichier_ops import test_fichier_ops
21097
21098 TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops,
21099                    UIinfo={"groupes":("Impression",)},
21100                    
21101    UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21102    FICHIER          =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)),
21103    NB_CHIFFRE      =SIMP(statut='f',typ='I',defaut=6),
21104    EPSILON         =SIMP(statut='f',typ='R',defaut=1.E-14),
21105    EXPR_IGNORE     =SIMP(statut='f',typ='TXM',max='**',
21106                          fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"),
21107    VALE_K          =SIMP(statut='o',typ='TXM' ),
21108    REFERENCE       =SIMP(statut='f',typ='TXM',
21109                          into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21110
21111    b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
21112       VERSION         =SIMP(statut='f',typ='TXM' ),
21113    ),
21114
21115    INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
21116 )
21117 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
21118 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21119 # ======================================================================
21120 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21121 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21122 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21123 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21124 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21125 #
21126 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21127 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21128 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21129 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21130 #
21131 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21132 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21133 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21134 # ======================================================================
21135 # RESPONSABLE MCOURTOI M.COURTOIS
21136 TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,fr="Extraction d une valeur numérique ou d un attribut de fonction",
21137             UIinfo={"groupes":("Impression",)},
21138          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21139          TEST_NOOK       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21140          VALEUR          =FACT(statut='f',max='**',
21141                                fr="Tester la valeur d une fonction ou d une nappe",
21142            regles=(UN_PARMI('VALE_REFE','VALE_REFE_C', ),),
21143            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
21144            NOM_PARA        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2),
21145            VALE_PARA       =SIMP(statut='o',typ='R'  ,validators=NoRepeat(),max=2),
21146            VALE_REFE       =SIMP(statut='f',typ='R' ),
21147            VALE_REFE_C     =SIMP(statut='f',typ='C' ),
21148            CRITERE         =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence",
21149                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21150            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
21151                                  defaut= 1.E-3 ),
21152            REFERENCE       =SIMP(statut='f',typ='TXM',
21153                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21154            b_version = BLOC (condition = "REFERENCE == 'NON_REGRESSION'", 
21155              VERSION         =SIMP(statut='f',typ='TXM' ),
21156            ),
21157          ),
21158          ATTRIBUT        =FACT(statut='f',max='**',
21159                                fr="Tester la valeur d un attribut d une fonction ou d''une nappe",
21160            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
21161            PARA            =SIMP(statut='f',typ='R' ),
21162            CRIT_PARA       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21163            PREC_PARA       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
21164            ATTR            =SIMP(statut='o',typ='TXM',
21165                                  into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL",
21166                                        "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ),
21167            ATTR_REFE       =SIMP(statut='o',typ='TXM' ),
21168            REFERENCE       =SIMP(statut='f',typ='TXM',
21169                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21170            b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
21171              VERSION         =SIMP(statut='f',typ='TXM' ),
21172            ),
21173          ),
21174          TABL_INTSP      =FACT(statut='f',max='**',
21175                                fr="Tester la valeur d une fonction contenue dans une table interspectrale",
21176            regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),),
21177            INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
21178            NOEUD_I         =SIMP(statut='f',typ=no),
21179            NUME_ORDRE_I    =SIMP(statut='f',typ='I' ),
21180            b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", 
21181              NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
21182            ),
21183            b_noeud_i = BLOC (condition = "NOEUD_I != None",             
21184              NOEUD_J         =SIMP(statut='o',typ=no),
21185              NOM_CMP_I       =SIMP(statut='o',typ='TXM' ),
21186              NOM_CMP_J       =SIMP(statut='o',typ='TXM' ),
21187            ),
21188            NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
21189            VALE_PARA       =SIMP(statut='o',typ='R' ),
21190            VALE_REFE_C     =SIMP(statut='o',typ='C' ),
21191            CRITERE         =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence",
21192                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21193            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
21194                                  defaut= 1.E-3 ),
21195            REFERENCE       =SIMP(statut='f',typ='TXM',
21196                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21197            b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
21198              VERSION         =SIMP(statut='f',typ='TXM' ),
21199            ),
21200          ),
21201 )  ;
21202 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
21203 # RESPONSABLE VABHHTS J.PELLET
21204 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21205 # ======================================================================
21206 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21207 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21208 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21209 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21210 # (AT YOUR OPTION) ANY LATER VERSION.
21211 #
21212 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21213 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21214 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21215 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21216 #
21217 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21218 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21219 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21220 #
21221 #
21222 # ======================================================================
21223 TEST_RESU=PROC(nom="TEST_RESU",op=23,
21224             UIinfo={"groupes":("Impression",)},
21225          fr="Extraction d une valeur et comparaison à une valeur de référence",
21226          regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','RESU','OBJET')),
21227          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21228
21229          CHAM_NO         =FACT(statut='f',max='**',
21230            regles=(UN_PARMI('NOEUD','GROUP_NO','TYPE_TEST'),
21231                    EXCLUS('NOEUD','GROUP_NO'),
21232                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
21233                    PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'),
21234                    UN_PARMI('VALE','VALE_I','VALE_C'),),
21235            CHAM_GD         =SIMP(statut='o',typ=cham_no_sdaster),
21236            NOEUD           =SIMP(statut='f',typ=no   ),
21237            GROUP_NO        =SIMP(statut='f',typ=grno ),
21238            NOM_CMP         =SIMP(statut='f',typ='TXM'),
21239            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
21240            VALE            =SIMP(statut='f',typ='R'),
21241            VALE_I          =SIMP(statut='f',typ='I'),
21242            VALE_C          =SIMP(statut='f',typ='C'),
21243            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
21244            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
21245            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21246                                                             "NON_REGRESSION","AUTRE_ASTER")),
21247            VERSION         =SIMP(statut='f',typ='TXM'),
21248          ),
21249
21250          CHAM_ELEM       =FACT(statut='f',max='**',
21251            regles=(UN_PARMI('MAILLE','TYPE_TEST',),
21252                    EXCLUS('NOEUD','GROUP_NO','POINT'),
21253                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
21254                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
21255                    PRESENT_PRESENT('POINT','NOM_CMP'),
21256                    UN_PARMI('VALE','VALE_I','VALE_C'), ),
21257            CHAM_GD         =SIMP(statut='o',typ=cham_elem_sdaster),
21258            MAILLE          =SIMP(statut='f',typ=ma),
21259            POINT           =SIMP(statut='f',typ='I' ),
21260            SOUS_POINT      =SIMP(statut='f',typ='I'),
21261            NOEUD           =SIMP(statut='f',typ=no),
21262            GROUP_NO        =SIMP(statut='f',typ=grno),
21263            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
21264            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
21265            VALE            =SIMP(statut='f',typ='R' ),
21266            VALE_I          =SIMP(statut='f',typ='I' ),
21267            VALE_C          =SIMP(statut='f',typ='C' ),
21268            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
21269            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21270            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21271                                                             "NON_REGRESSION","AUTRE_ASTER") ),
21272            VERSION         =SIMP(statut='f',typ='TXM' ),
21273          ),
21274
21275          RESU            =FACT(statut='f',max='**',
21276            regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),
21277                    UN_PARMI('NOM_CHAM','PARA'),
21278                    PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP','TYPE_TEST'),
21279                    PRESENT_PRESENT('NOM_CMP','NOM_CHAM'),
21280                    EXCLUS('NOEUD','GROUP_NO','POINT','TYPE_TEST'),
21281                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
21282                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
21283                    PRESENT_PRESENT('POINT','NOM_CMP'),
21284                    UN_PARMI('VALE','VALE_I','VALE_C') ,),
21285            RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
21286            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
21287                                  fr="Paramètre de sensibilité.",
21288                                  ang="Sensitivity parameter"),
21289            NUME_ORDRE      =SIMP(statut='f',typ='I'),
21290            INST            =SIMP(statut='f',typ='R'),
21291            FREQ            =SIMP(statut='f',typ='R'),
21292            NUME_MODE       =SIMP(statut='f',typ='I'),
21293            NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),
21294            NOM_CAS         =SIMP(statut='f',typ='TXM'),
21295            ANGL            =SIMP(statut='f',typ='R'),
21296            PARA            =SIMP(statut='f',typ='TXM'),
21297            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
21298            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
21299            MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
21300            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
21301            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
21302            POINT           =SIMP(statut='f',typ='I'),
21303            SOUS_POINT      =SIMP(statut='f',typ='I'),
21304            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
21305            VALE            =SIMP(statut='f',typ='R'),
21306            VALE_I          =SIMP(statut='f',typ='I'),
21307            VALE_C          =SIMP(statut='f',typ='C'),
21308            CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2),
21309            PRECISION       =SIMP(statut='f',typ='R',max=2),
21310            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21311                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
21312            VERSION         =SIMP(statut='f',typ='TXM' ),
21313          ),
21314
21315          OBJET           =FACT(statut='f',max='**',
21316            regles=(UN_PARMI('S_I','S_R','RESUME',),
21317                    UN_PARMI('VALE','VALE_I','VALE_C','RESUME','S_R','S_I'),),
21318            NOM             =SIMP(statut='o',typ='TXM'),
21319            S_R             =SIMP(statut='f',typ='R'),
21320            S_I             =SIMP(statut='f',typ='I'),
21321            RESUME          =SIMP(statut='f',typ='I'),
21322            VALE            =SIMP(statut='f',typ='R'),
21323            VALE_I          =SIMP(statut='f',typ='I'),
21324            VALE_C          =SIMP(statut='f',typ='C'),
21325            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
21326            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
21327            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21328                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
21329            VERSION         =SIMP(statut='f',typ='TXM' ),
21330          ),
21331 )  ;
21332 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
21333 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21334 # ======================================================================
21335 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21336 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21337 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21338 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21339 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21340 #
21341 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21342 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21343 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21344 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21345 #
21346 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21347 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21348 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21349 # ======================================================================
21350 # RESPONSABLE VABHHTS J.PELLET
21351 TEST_TABLE=PROC(nom="TEST_TABLE",op= 177,
21352             UIinfo={"groupes":("Impression",)},
21353          regles=(UN_PARMI('VALE','VALE_I','VALE_C', ),),
21354          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21355 #  concept table_sdaster à tester
21356          TABLE           =SIMP(statut='o',typ=table_sdaster),
21357
21358          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
21359                                  fr="Paramètre de sensibilité.",
21360                                  ang="Sensitivity parameter"),
21361          FILTRE          =FACT(statut='f',max='**',
21362            NOM_PARA        =SIMP(statut='o',typ='TXM' ),
21363            CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
21364                                  into=("EQ","LT","GT","NE","LE","GE","VIDE",
21365                                        "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
21366            b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
21367               regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
21368               VALE            =SIMP(statut='f',typ='R' ),
21369               VALE_I          =SIMP(statut='f',typ='I' ),
21370               VALE_C          =SIMP(statut='f',typ='C' ),
21371               VALE_K          =SIMP(statut='f',typ='TXM' ),),
21372
21373            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21374            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
21375          ),
21376          TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
21377          NOM_PARA        =SIMP(statut='o',typ='TXM' ),
21378          VALE            =SIMP(statut='f',typ='R' ),
21379          VALE_I          =SIMP(statut='f',typ='I' ),
21380          VALE_C          =SIMP(statut='f',typ='C' ),
21381          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21382          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.2E-3 ),
21383          REFERENCE       =SIMP(statut='f',typ='TXM',
21384                                into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21385          b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
21386              VERSION         =SIMP(statut='f',typ='TXM' ),
21387          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
21388          ),
21389 )  ;
21390 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
21391 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21392 # ======================================================================
21393 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21394 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21395 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21396 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21397 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21398 #
21399 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21400 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21401 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21402 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21403 #
21404 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21405 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21406 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21407 # ======================================================================
21408 THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
21409             UIinfo={"groupes":("Résolution",)},
21410                    fr="Analyse thermique linéaire stationnaire ou transitoire",
21411          MODELE          =SIMP(statut='o',typ=modele_sdaster),
21412          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
21413          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
21414          EXCIT           =FACT(statut='o',max='**',
21415            CHARGE          =SIMP(statut='o',typ=(char_ther,char_cine_ther)),
21416            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21417          ),
21418          INCREMENT       =FACT(statut='f',
21419            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster ),
21420            NUME_INIT       =SIMP(statut='f',typ='I'),
21421            NUME_FIN        =SIMP(statut='f',typ='I'),
21422          ),
21423          TEMP_INIT       =FACT(statut='f',
21424            regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
21425            STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21426            EVOL_THER       =SIMP(statut='f',typ=evol_ther),
21427            CHAM_NO         =SIMP(statut='f',typ=cham_no_temp_r),
21428            VALE            =SIMP(statut='f',typ='R'),
21429            NUME_INIT       =SIMP(statut='f',typ='I'),
21430          ),
21431          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21432                                fr="Liste des paramètres de sensibilité.",
21433                                ang="List of sensitivity parameters",
21434          ),
21435            SENS_INIT       =FACT(statut='f',
21436              regles=(EXCLUS('STATIONNAIRE','EVOL_THER', ),),
21437              STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21438              EVOL_THER       =SIMP(statut='f',typ=evol_ther),
21439              NUME_INIT       =SIMP(statut='f',typ='I'),
21440            ),
21441          SOLVEUR         =FACT(statut='d',
21442            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21443            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
21444              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21445            ),
21446            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
21447              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21448            ),
21449            b_ldlt_mult      =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21450                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
21451              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21452              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21453            ),
21454            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
21455              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21456              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21457              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21458              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21459              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21460            ),
21461          ),
21462          PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57),
21463          ARCHIVAGE       =FACT(statut='f',
21464            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST'),),
21465            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
21466            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
21467            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
21468            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21469            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
21470                                  into=("RELATIF","ABSOLU")),
21471            PAS_ARCH        =SIMP(statut='f',typ='I'),
21472            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',into=("VARI",)),
21473          ),
21474          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
21475          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
21476 )  ;
21477 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
21478 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21479 # ======================================================================
21480 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21481 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21482 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21483 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21484 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21485 #
21486 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21487 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21488 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21489 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21490 #
21491 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21492 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21493 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21494 # ======================================================================
21495 THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
21496             UIinfo={"groupes":("Résolution",)},
21497                    fr="Analyse thermique non linéaire stationnaire ou transitoire" ,
21498          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
21499          CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
21500          CARA_ELEM       =SIMP(statut='c',typ=(cara_elem) ),
21501          COMP_THER_NL    =FACT(statut='d',max='**',
21502            RELATION        =SIMP(statut='f',typ='TXM',defaut="THER_NL",
21503                                  into=("THER_NL",
21504                                        "THER_HYDR",
21505                                        "SECH_GRANGER",
21506                                        "SECH_MENSI",
21507                                        "SECH_BAZANT",
21508                                        "SECH_NAPPE"
21509                                        ) ),
21510       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
21511            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21512            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
21513            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21514          ),
21515          EVOL_THER_SECH  =SIMP(statut='f',typ=evol_ther),
21516          EXCIT           =FACT(statut='o',max='**',
21517            CHARGE          =SIMP(statut='o',typ=char_ther),
21518            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21519          ),
21520          INCREMENT       =FACT(statut='f',
21521            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
21522            NUME_INIT       =SIMP(statut='f',typ='I'),
21523            NUME_FIN        =SIMP(statut='f',typ='I'),
21524          ),
21525          TEMP_INIT       =FACT(statut='f',
21526            regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
21527            STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",)),
21528            EVOL_THER       =SIMP(statut='f',typ=evol_ther),
21529            CHAM_NO         =SIMP(statut='f',typ=cham_no_temp_r),
21530            VALE            =SIMP(statut='f',typ='R'),
21531            NUME_INIT       =SIMP(statut='f',typ='I'),
21532          ),
21533          NEWTON          =FACT(statut='d',
21534            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21535            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21536            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 0 ),
21537          ),
21538          CONVERGENCE     =FACT(statut='d',
21539            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
21540            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
21541            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
21542          ),
21543          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21544                                fr="Liste des paramètres de sensibilité.",
21545                                ang="List of sensitivity parameters",
21546          ),
21547          SOLVEUR         =FACT(statut='d',
21548            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21549            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Parametres de la méthode multi frontale",
21550              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21551            ),
21552            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Parametres de la méthode LDLT",
21553              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21554            ),
21555            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21556                                    fr="Parametres relatifs a la non inversibilité de la matrice a factorise",
21557              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21558              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21559            ),
21560            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Parametres de la méthode du gradient conjugué",
21561              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21562              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I'  ,defaut= 0 ),
21563              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21564              RESI_RELA       =SIMP(statut='f',typ='R'  ,defaut= 1.E-6 ),
21565              NMAX_ITER       =SIMP(statut='f',typ='I'  ,defaut= 0 ),
21566            ),
21567            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
21568          ),
21569          PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57 ),
21570          ARCHIVAGE       =FACT(statut='f',
21571            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST', ),),
21572            LIST_ARCH       =SIMP(statut='f',typ=(listis_sdaster) ),
21573            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
21574            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
21575            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21576            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
21577            PAS_ARCH        =SIMP(statut='f',typ='I'),
21578            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',into=("VARI",)),
21579          ),
21580          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
21581          OPTION          =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,
21582                                into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP") ),
21583          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
21584   
21585 )  ;
21586 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
21587 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21588 # ======================================================================
21589 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21590 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21591 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21592 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21593 # (AT YOUR OPTION) ANY LATER VERSION.
21594 #
21595 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21596 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21597 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21598 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21599 #
21600 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21601 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21602 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21603 # ======================================================================
21604 THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther,
21605                      fr="Thermique non lineaire en repere mobile",
21606                      reentrant='n',
21607             UIinfo={"groupes":("Résolution",)},
21608          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
21609          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
21610          CARA_ELEM       =SIMP(statut='c',typ=cara_elem ),
21611          EXCIT           =FACT(statut='o',max='**',
21612            CHARGE          =SIMP(statut='o',typ=char_ther ),
21613            FONC_MULT       =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21614          ),
21615          TEMP_INIT       =FACT(statut='f',
21616            EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
21617            NUME_INIT       =SIMP(statut='f',typ='I',defaut= 0 ),
21618          ),
21619          CONVERGENCE     =FACT(statut='d',
21620            CRIT_TEMP_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
21621            CRIT_ENTH_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
21622            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
21623            ARRET           =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21624          ),
21625          SOLVEUR         =FACT(statut='d',
21626            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21627            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
21628              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21629            ),
21630            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
21631              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21632            ),
21633            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21634                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
21635              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21636              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21637            ),
21638            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
21639              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21640              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21641              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21642              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21643              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21644            ),
21645            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21646          ),
21647          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
21648          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
21649 )  ;
21650
21651
21652