]> SALOME platform Git repositories - tools/eficas.git/blob - Aster/Cata/cataSTA7/cata.py
Salome HOME
Modif V6_4_°
[tools/eficas.git] / Aster / Cata / cataSTA7 / cata.py
1 #& MODIF ENTETE  DATE 31/01/2006   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 types
26 import Numeric
27 from math import sin,cos,tan,asin,acos,atan2,atan,sinh,cosh,tanh,exp,log,log10
28 from math import sqrt,pi
29 import ops
30
31 try:
32   import aster
33 except:
34   pass
35
36 #
37 __version__="$Name:  $"
38 __Id__="$Id: cata.py,v 1.4.14.1 2008-11-13 10:35:10 cchris Exp $"
39 #
40 JdC = JDC_CATA(code='ASTER',
41                execmodul=None,
42                regles = (AU_MOINS_UN('DEBUT','POURSUITE'),
43                          AU_MOINS_UN('FIN'),
44                          A_CLASSER(('DEBUT','POURSUITE'),'FIN')))
45 # Type le plus general
46 class entier   (ASSD):
47    def __init__(self,valeur=None,**args):
48       ASSD.__init__(self,**args)
49       self.valeur=valeur
50    def __adapt__(self,validator):
51       if validator.name == "list":
52           #validateur liste,cardinalité
53           return (self,)
54       elif validator.name == "type":
55           #validateur type
56           return validator.adapt(self.valeur or 0)
57       else:
58           #validateur into et valid
59           return self
60
61
62 # Type geometriques
63 class no  (GEOM):pass
64 class grno(GEOM):pass
65 class ma  (GEOM):pass
66 class grma(GEOM):pass
67
68
69
70 # Autres
71
72 class cabl_precont    (ASSD):pass
73 class cara_elem       (ASSD):pass
74 class cham_mater      (ASSD):pass
75 class char_acou       (ASSD):pass
76 class char_cine_acou  (ASSD):pass
77 class char_cine_meca  (ASSD):pass
78 class char_cine_ther  (ASSD):pass
79 class char_meca       (ASSD):pass
80 class char_ther       (ASSD):pass
81 class compor_sdaster  (ASSD):pass
82 class courbe_sdaster  (ASSD):pass
83 class fiss_xfem       (ASSD):pass
84 class fond_fiss       (ASSD):pass
85 class interf_dyna_clas(ASSD):pass
86 class interspfact     (ASSD):pass
87 class listis_sdaster  (ASSD):pass
88 class macr_elem_dyna  (ASSD):pass
89 class macr_elem_stat  (ASSD):pass
90 class mater_sdaster   (ASSD):pass
91 class melasflu_sdaster(ASSD):pass
92 class modele_sdaster  (ASSD):pass
93 class modele_gene     (ASSD):pass
94 class nume_ddl_sdaster(ASSD):pass
95 class nume_ddl_gene   (ASSD):pass
96 class obstacle_sdaster(ASSD):pass
97 class sd_feti_sdaster (ASSD):pass
98 class spectre_sdaster (ASSD):pass
99 class surface_sdaster (ASSD):pass
100 class tran_gene       (ASSD):pass
101 class type_flui_stru  (ASSD):pass
102
103
104 # liste :
105 #--------------------------------
106 class listr8_sdaster   (ASSD):
107   def Valeurs(self) :
108     """
109     Retourne la liste des valeurs : [val1, ..., valN]
110     """
111     if not self.par_lot():
112        vale='%-19s.VALE' % self.get_name()
113        return list(aster.getvectjev(vale))
114     else:
115        raise Accas.AsException("Erreur dans listr8.Valeurs en PAR_LOT='OUI'")
116
117
118 # post-traitement :
119 #--------------------------------
120 class post_comp_cham_el :
121   def __init__(self,valeurs,maille=None,point=None,sous_point=None) :
122     self.valeurs=valeurs
123     self.maille=maille
124     self.point=point
125     self.sous_point=sous_point
126
127 class post_comp_cham_no :
128   def __init__(self,valeurs,noeud=None) :
129     self.valeurs=valeurs
130     self.noeud=noeud
131
132 # maillage :
133 #--------------------------------
134 class maillage_sdaster(ASSD):
135   def LIST_GROUP_NO(self) :
136     """ retourne la liste des groupes de noeuds sous la forme :
137         [ (gno1, nb noeuds  gno1), ...] """
138     if self.par_lot() :
139        raise Accas.AsException("Erreur dans maillage.LIST_GROUP_NO en PAR_LOT='OUI'")
140     nommail=self.get_name()
141     dic_gpno=aster.getcolljev(nommail.ljust(8)+".GROUPENO")
142     return [(gpno.strip(),len(dic_gpno[gpno])) for gpno in dic_gpno]
143   def LIST_GROUP_MA(self) :
144     """ retourne la liste des groupes de mailles sous la forme :
145         [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """
146     if self.par_lot() :
147        raise Accas.AsException("Erreur dans maillage.LIST_GROUP_MA en PAR_LOT='OUI'")
148     nommail=self.get_name()
149     nommail=nommail.ljust(8)
150     ngpma=[]
151     ltyma =aster.getvectjev("&CATA.TM.NOMTM")
152     catama=aster.getcolljev("&CATA.TM.TMDIM")
153     dic_gpma=aster.getcolljev(nommail+".GROUPEMA")
154     dimama=[catama[ltyma[ma-1]][0] for ma in aster.getvectjev(nommail+".TYPMAIL")]
155     for grp in dic_gpma.keys():
156         dim=max([dimama[ma-1] for ma in dic_gpma[grp]])
157         ngpma.append((grp.strip(),len(dic_gpma[grp]),dim))
158     return ngpma
159
160
161 class squelette     (maillage_sdaster):pass
162
163
164 # cham_gd_sdaster (carte_sdaster,cham_no_sdaster,cham_elem_sdaster)
165 #--------------------------------
166
167 class cham_gd_sdaster(ASSD):pass
168
169 # cham_gd_sdaster/carte_sdaster :
170 #--------------------------------
171 class carte_sdaster  (cham_gd_sdaster):pass
172 class carte_dbel_r   (carte_sdaster):pass
173 class carte_depl_c   (carte_sdaster):pass
174 class carte_depl_f   (carte_sdaster):pass
175 class carte_depl_r   (carte_sdaster):pass
176 class carte_durt_r   (carte_sdaster):pass
177 class carte_ener_r   (carte_sdaster):pass
178 class carte_epsi_r   (carte_sdaster):pass
179 class carte_erreur   (carte_sdaster):pass
180 class carte_flux_r   (carte_sdaster):pass
181 class carte_g_depl_r (carte_sdaster):pass
182 class carte_geom_r   (carte_sdaster):pass
183 class carte_hydr_r   (carte_sdaster):pass
184 class carte_inst_r   (carte_sdaster):pass
185 class carte_inte_r   (carte_sdaster):pass
186 class carte_irra_r   (carte_sdaster):pass
187 class carte_neut_f   (carte_sdaster):pass
188 class carte_neut_r   (carte_sdaster):pass
189 class carte_pres_r   (carte_sdaster):pass
190 class carte_sief_r   (carte_sdaster):pass
191 class carte_sour_r   (carte_sdaster):pass
192 class carte_temp_f   (carte_sdaster):pass
193 class carte_temp_r   (carte_sdaster):pass
194 class carte_var2_r   (carte_sdaster):pass
195 class carte_vnor_c   (carte_sdaster):pass
196 class carte_corr_r   (carte_sdaster):pass
197
198
199 # cham_gd_sdaster/cham_elem_sdaster :
200 #--------------------------------
201 class cham_elem_sdaster(cham_gd_sdaster):
202
203   def EXTR_COMP(self,comp,lgma,topo=0) :
204     """ retourne les valeurs de la composante comp du champ sur la liste
205         de groupes de mailles lgma avec eventuellement l'info de la 
206         topologie si topo>0. Si lgma est une liste vide, c'est equivalent
207         a un TOUT='OUI' dans les commandes aster
208         Attributs retourne
209           - self.valeurs : Numeric.array contenant les valeurs
210         Si on a demande la topo  :
211           - self.maille  : numero de mailles
212           - self.point   : numero du point dans la maille
213           - self.sous_point : numero du sous point dans la maille """
214     if self.par_lot() :
215        raise Accas.AsException("Erreur dans cham_elem.EXTR_COMP en PAR_LOT='OUI'")
216   
217     ncham=self.get_name()
218     ncham=ncham+(8-len(ncham))*' '
219     nchams=ncham[0:7]+'S'
220     ncmp=comp+(8-len(comp))*' '
221     
222     aster.prepcompcham(ncham,nchams,ncmp,"EL      ",topo,lgma)
223     
224     valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V'))
225     
226     if (topo>0) :
227       maille=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.M'))
228       point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.P'))
229       sous_point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.SP'))
230     else :
231       maille=None
232       point=None
233       sous_point=None
234     
235     aster.prepcompcham("__DETR__",nchams,ncmp,"EL      ",topo,lgma)
236     
237     return post_comp_cham_el(valeurs,maille,point,sous_point)
238     
239 class cham_elem_crit_r(cham_elem_sdaster):pass
240 class cham_elem_dbel_r(cham_elem_sdaster):pass
241 class cham_elem_depl_c(cham_elem_sdaster):pass
242 class cham_elem_depl_f(cham_elem_sdaster):pass
243 class cham_elem_depl_r(cham_elem_sdaster):pass
244 class cham_elem_dommag(cham_elem_sdaster):pass
245 class cham_elem_durt_r(cham_elem_sdaster):pass
246 class cham_elem_ener_r(cham_elem_sdaster):pass
247 class cham_elem_epsi_c(cham_elem_sdaster):pass
248 class cham_elem_epsi_r(cham_elem_sdaster):pass
249 class cham_elem_erreur(cham_elem_sdaster):pass
250 class cham_elem_facy_r(cham_elem_sdaster):pass
251 class cham_elem_flux_r(cham_elem_sdaster):pass
252 class cham_elem_g_depl(cham_elem_sdaster):pass
253 class cham_elem_geom_r(cham_elem_sdaster):pass
254 class cham_elem_hydr_r(cham_elem_sdaster):pass
255 class cham_elem_inst_r(cham_elem_sdaster):pass
256 class cham_elem_inte_r(cham_elem_sdaster):pass
257 class cham_elem_irra_r(cham_elem_sdaster):pass
258 class cham_elem_neut_f(cham_elem_sdaster):pass
259 class cham_elem_neut_r(cham_elem_sdaster):pass
260 class cham_elem_pres_r(cham_elem_sdaster):pass
261 class cham_elem_sief_c(cham_elem_sdaster):pass
262 class cham_elem_sief_r(cham_elem_sdaster):pass
263 class cham_elem_sour_r(cham_elem_sdaster):pass
264 class cham_elem_spma_r(cham_elem_sdaster):pass
265 class cham_elem_temp_f(cham_elem_sdaster):pass
266 class cham_elem_temp_r(cham_elem_sdaster):pass
267 class cham_elem_vari_r(cham_elem_sdaster):pass
268 class cham_elem_vnor_c(cham_elem_sdaster):pass
269
270
271 # cham_gd/cham_no :
272 #--------------------------------
273 class cham_no_sdaster(cham_gd_sdaster):  
274
275   def EXTR_COMP(self,comp,lgno,topo=0) :
276     """ retourne les valeurs de la composante comp du champ sur la liste
277         de groupes de noeuds lgno avec eventuellement l'info de la 
278         topologie si topo>0. Si lgno est une liste vide, c'est equivalent
279         a un TOUT='OUI' dans les commandes aster
280         Attributs retourne
281           - self.valeurs : Numeric.array contenant les valeurs
282         Si on a demande la topo (i.e. self.topo = 1) :
283           - self.noeud  : numero de noeud """
284     if self.par_lot() :
285        raise Accas.AsException("Erreur dans cham_no.EXTR_COMP en PAR_LOT='OUI'")
286
287     ncham=self.get_name()
288     ncham=ncham+(8-len(ncham))*' '
289     nchams=ncham[0:7]+'S'
290     ncmp=comp+(8-len(comp))*' '
291     
292     aster.prepcompcham(ncham,nchams,ncmp,"NO      ",topo,lgno)
293     
294     valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V'))
295     
296     if (topo>0) :
297       noeud=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.N'))
298     else :
299       noeud=None
300     
301     aster.prepcompcham("__DETR__",nchams,ncmp,"NO      ",topo,lgno)
302     
303     return post_comp_cham_no(valeurs,noeud)
304
305 class cham_no_dbel_r   (cham_no_sdaster):pass
306 class cham_no_depl_c   (cham_no_sdaster):pass
307 class cham_no_depl_f   (cham_no_sdaster):pass
308 class cham_no_depl_r   (cham_no_sdaster):pass
309 class cham_no_durt_r   (cham_no_sdaster):pass
310 class cham_no_ener_r   (cham_no_sdaster):pass
311 class cham_no_epsi_r   (cham_no_sdaster):pass
312 class cham_no_erreur   (cham_no_sdaster):pass
313 class cham_no_facy_r   (cham_no_sdaster):pass
314 class cham_no_flux_r   (cham_no_sdaster):pass
315 class cham_no_g_depl_r (cham_no_sdaster):pass
316 class cham_no_geom_r   (cham_no_sdaster):pass
317 class cham_no_hydr_r   (cham_no_sdaster):pass
318 class cham_no_inst_r   (cham_no_sdaster):pass
319 class cham_no_inte_r   (cham_no_sdaster):pass
320 class cham_no_irra_r   (cham_no_sdaster):pass
321 class cham_no_neut_f   (cham_no_sdaster):pass
322 class cham_no_neut_r   (cham_no_sdaster):pass
323 class cham_no_pres_c   (cham_no_sdaster):pass
324 class cham_no_pres_r   (cham_no_sdaster):pass
325 class cham_no_sief_r   (cham_no_sdaster):pass
326 class cham_no_sour_r   (cham_no_sdaster):pass
327 class cham_no_spma_r   (cham_no_sdaster):pass
328 class cham_no_temp_c   (cham_no_sdaster):pass
329 class cham_no_temp_f   (cham_no_sdaster):pass
330 class cham_no_temp_r   (cham_no_sdaster):pass
331 class cham_no_vanl_r   (cham_no_sdaster):pass
332 class cham_no_var2_r   (cham_no_sdaster):pass
333 class cham_no_vnor_c   (cham_no_sdaster):pass
334
335
336 # resultat_sdaster : (evol_sdaster,mode_stat,mode_meca)
337 #--------------------------------------
338
339 class resultat_sdaster(ASSD):
340   def LIST_CHAMPS (self) :
341     if self.par_lot() :
342       raise Accas.AsException("Erreur dans resultat.LIST_CHAMPS en PAR_LOT='OUI'")
343     return aster.GetResu(self.get_name(), "CHAMPS")
344   def LIST_NOM_CMP (self) :
345     if self.par_lot() :
346       raise Accas.AsException("Erreur dans resultat.LIST_NOM_CMP en PAR_LOT='OUI'")
347     return aster.GetResu(self.get_name(), "COMPOSANTES")
348   def LIST_VARI_ACCES (self) :
349     if self.par_lot() :
350       raise Accas.AsException("Erreur dans resultat.LIST_VARI_ACCES en PAR_LOT='OUI'")
351     return aster.GetResu(self.get_name(), "VARI_ACCES")
352   def LIST_PARA (self) :
353     if self.par_lot() :
354       raise Accas.AsException("Erreur dans resultat.LIST_PARA en PAR_LOT='OUI'")
355     return aster.GetResu(self.get_name(), "PARAMETRES")
356
357 class acou_harmo    (resultat_sdaster):pass
358 class base_modale   (resultat_sdaster):pass
359 class comb_fourier  (resultat_sdaster):pass
360 class dyna_harmo    (resultat_sdaster):pass
361 class dyna_trans    (resultat_sdaster):pass
362 class fourier_elas  (resultat_sdaster):pass
363 class harm_gene     (resultat_sdaster):pass
364 class mode_acou     (resultat_sdaster):pass
365 class mode_cycl     (resultat_sdaster):pass
366 class mode_flamb    (resultat_sdaster):pass
367 class mode_gene     (resultat_sdaster):pass
368 class mult_elas     (resultat_sdaster):pass
369 class theta_geom    (resultat_sdaster):pass
370
371 # resultat_sdaster/evol_sdaster :
372 #--------------------------------
373 class evol_sdaster(resultat_sdaster):pass
374 class evol_char(evol_sdaster):pass
375 class evol_elas(evol_sdaster):pass
376 class evol_noli(evol_sdaster):pass
377 class evol_ther(evol_sdaster):pass
378 class evol_varc(evol_sdaster):pass
379
380 # resultat_sdaster/mode_stat :
381 #--------------------------------
382 class mode_stat(resultat_sdaster):pass
383 class mode_stat_depl(mode_stat):pass
384 class mode_stat_acce(mode_stat):pass
385 class mode_stat_forc(mode_stat):pass
386
387
388 # resultat_sdaster/mode_meca :
389 #--------------------------------
390 class mode_meca(resultat_sdaster):pass
391 class mode_meca_c(mode_meca):pass
392
393
394 # types 'fonction' :
395 #--------------------------------
396 class fonction_class(ASSD):
397    def Valeurs(self):pass
398    def Parametres(self):
399       """
400       Retourne un dictionnaire contenant les parametres de la fonction ;
401       le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourne,
402       le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel.
403       """
404       if not self.par_lot() :
405         TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' }
406         prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL')
407         dico={
408          'INTERPOL'    : [prol[1][0:3],prol[1][4:7]],
409          'NOM_PARA'    : string.strip(prol[2][0:16]),
410          'NOM_RESU'    : string.strip(prol[3][0:16]),
411          'PROL_DROITE' : TypeProl[prol[4][1]],
412          'PROL_GAUCHE' : TypeProl[prol[4][0]],
413         }
414       elif hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' :
415         dico={
416          'INTERPOL'    : self.etape['INTERPOL'],
417          'NOM_PARA'    : self.etape['NOM_PARA'],
418          'NOM_RESU'    : self.etape['NOM_RESU'],
419          'PROL_DROITE' : self.etape['PROL_DROITE'],
420          'PROL_GAUCHE' : self.etape['PROL_GAUCHE'],
421         }
422         if   type(dico['INTERPOL'])==types.TupleType :
423                   dico['INTERPOL']=list(dico['INTERPOL'])
424         elif type(dico['INTERPOL'])==types.StringType :
425                   dico['INTERPOL']=[dico['INTERPOL'],]
426         if len(dico['INTERPOL'])==1 :
427            dico['INTERPOL']=dico['INTERPOL']*2
428       else:
429          raise Accas.AsException("Erreur dans fonction.Parametres en PAR_LOT='OUI'")
430       return dico
431    def Trace(self,FORMAT='TABLEAU',**kargs):
432       """Tracé d'une fonction"""
433       if self.par_lot() :
434          raise Accas.AsException("Erreur dans fonction.Trace en PAR_LOT='OUI'")
435       from Utilitai.Graph import Graph
436       gr=Graph()
437       gr.AjoutCourbe(Val=self.Valeurs(),
438             Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU']])
439       gr.Trace(FORMAT=FORMAT,**kargs)
440 class fonction_sdaster(fonction_class):
441    def Valeurs(self) :
442       """
443       Retourne deux listes de valeurs : abscisses et ordonnees
444       """
445       if not self.par_lot():
446         vale=string.ljust(self.get_name(),19)+'.VALE'
447         lbl=list(aster.getvectjev(vale))
448         dim=len(lbl)/2
449         lx=lbl[0:dim]
450         ly=lbl[dim:2*dim]
451         return [lx,ly]
452       elif hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' :
453         if self.etape['VALE']!=None:
454            lbl=list(self.etape['VALE'])
455            dim=len(lbl)
456            lx=[lbl[i] for i in range(0,dim,2)]
457            ly=[lbl[i] for i in range(1,dim,2)]
458            return [lx,ly]
459         elif self.etape['VALE_PARA']!=None:
460            return [self.etape['VALE_PARA'].Valeurs(),self.etape['VALE_FONC'].Valeurs()]
461       else :
462          raise Accas.AsException("Erreur dans fonction.Valeurs en PAR_LOT='OUI'")
463    def Absc(self):
464       """Retourne la liste des abscisses"""
465       return self.Valeurs()[0]
466    def Ordo(self):
467       """Retourne la liste des ordonnées"""
468       return self.Valeurs()[1]
469    def __call__(self,val):
470       ### Pour EFICAS : substitution de l'instance de classe
471       ### parametre par sa valeur
472       import types 
473       if type(val)==types.InstanceType : val=val.valeur
474       ###
475       lx,ly=self.Valeurs()
476       n=len(lx)
477       if val in lx : return ly[lx.index(val)]
478       lx.append(val)
479       lx.sort()
480       indic=lx.index(val)
481       if indic==0   :
482          if self.etape['PROL_GAUCHE']=='CONSTANT':return ly[0]
483       if indic==n :
484          if self.etape['PROL_DROITE']=='CONSTANT':return ly[n-1]
485       return (ly[indic-1]+(ly[indic]-ly[indic-1])*(val-lx[indic-1])/(lx[indic+1]-lx[indic-1]))
486 class para_sensi(fonction_sdaster): pass
487 class fonction_c(fonction_class):
488    def Valeurs(self) :
489       """
490       Retourne trois listes de valeurs : abscisses, parties reelles et imaginaires.
491       """
492       if not self.par_lot():
493         vale=string.ljust(self.get_name(),19)+'.VALE'
494         lbl=list(aster.getvectjev(vale))
495         dim=len(lbl)/3
496         lx=lbl[0:dim]
497         lr=[]
498         li=[]
499         for i in range(dim):
500            lr.append(lbl[dim+2*i])
501            li.append(lbl[dim+2*i+1])
502         return [lx,lr,li]
503       if self.etape.nom=='DEFI_FONCTION' :
504         lbl=list(self.etape['VALE_C'])
505         dim=len(lbl)
506         lx=[lbl[i] for i in range(0,dim,3)]
507         lr=[lbl[i] for i in range(1,dim,3)]
508         li=[lbl[i] for i in range(2,dim,3)]
509         return [lx,lr,li]
510       else :
511          raise Accas.AsException("Erreur dans fonction_c.Valeurs en PAR_LOT='OUI'")
512    def Absc(self):
513       """Retourne la liste des abscisses"""
514       return self.Valeurs()[0]
515    def Ordo(self):
516       """Retourne la liste des parties réelles des ordonnées"""
517       return self.Valeurs()[1]
518    def OrdoImg(self):
519       """Retourne la liste des parties imaginaires des ordonnées"""
520       return self.Valeurs()[2]
521    def Trace(self,FORMAT='TABLEAU',**kargs):
522       """Tracé d'une fonction complexe"""
523       if self.par_lot() :
524          raise Accas.AsException("Erreur dans fonction_c.Trace en PAR_LOT='OUI'")
525       from Utilitai.Graph import Graph
526       gr=Graph()
527       gr.AjoutCourbe(Val=self.Valeurs(),
528        Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU'],'IMAG'])
529       gr.Trace(FORMAT=FORMAT,**kargs)
530 class nappe_sdaster(fonction_class):
531    def Valeurs(self):
532       """
533       Retourne la liste des valeurs du parametre,
534       et une liste de couples (abscisses,ordonnees) de chaque fonction.
535       """
536       if self.par_lot():
537          raise Accas.AsException("Erreur dans nappe.Valeurs en PAR_LOT='OUI'")
538       nsd=string.ljust(self.get_name(),19)
539       dicv=aster.getcolljev(nsd+'.VALE')
540       # les cles de dicv sont 1,...,N (indice du parametre)
541       lpar=aster.getvectjev(nsd+'.PARA')
542       lval=[]
543       for k in range(len(dicv)):
544          lbl=dicv[k+1]
545          dim=len(lbl)/2
546          lval.append([lbl[0:dim],lbl[dim:2*dim]])
547       return [lpar,lval]
548    def Parametres(self):
549       """
550       Retourne un dictionnaire contenant les parametres de la nappe,
551       le type jeveux (NAPPE) n'est pas retourne,
552       le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel,
553       et une liste de dictionnaire des parametres de chaque fonction.
554       """
555       if self.par_lot():
556          raise Accas.AsException("Erreur dans nappe.Parametres en PAR_LOT='OUI'")
557       TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' }
558       prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL')
559       dico={
560          'INTERPOL'      : [prol[1][0:3],prol[1][4:7]],
561          'NOM_PARA'      : prol[2][0:16],
562          'NOM_RESU'      : prol[3][0:16],
563          'PROL_DROITE'   : TypeProl[prol[4][0]],
564          'PROL_GAUCHE'   : TypeProl[prol[4][1]],
565          'NOM_PARA_FONC' : prol[5][0:4],
566       }
567       lparf=[]
568       nbf=(len(prol)-6)/2
569       for i in range(nbf):
570          dicf={
571             'INTERPOL_FONC'    : [prol[6+i*2][0:3],prol[6+i*2][4:7]],
572             'PROL_DROITE_FONC' : TypeProl[prol[7+i*2][0]],
573             'PROL_GAUCHE_FONC' : TypeProl[prol[7+i*2][1]],
574          }
575          lparf.append(dicf)
576       return [dico,lparf]
577    def Trace(self,FORMAT='TABLEAU',**kargs):
578       """Tracé d'une nappe"""
579       if self.par_lot():
580          raise Accas.AsException("Erreur dans nappe.Trace en PAR_LOT='OUI'")
581       from Utilitai.Graph import Graph
582       gr=Graph()
583       lv=self.Valeurs()[1]
584       dp=self.Parametres()[0]
585       for lx,ly in lv:
586          gr.AjoutCourbe(Val=[lx,ly], Lab=[dp['NOM_PARA_FONC'],dp['NOM_RESU']])
587       gr.Trace(FORMAT=FORMAT,**kargs)
588
589 # matr_asse :
590 #--------------------------------
591 class matr_asse(ASSD):pass
592
593 class matr_asse_gene(matr_asse):pass
594 class matr_asse_gene_r(matr_asse_gene):pass
595 class matr_asse_gene_c(matr_asse_gene):pass
596
597 class matr_asse_gd(matr_asse):pass
598 class matr_asse_depl_c(matr_asse_gd):pass
599 class matr_asse_depl_r(matr_asse_gd):pass
600 class matr_asse_pres_c(matr_asse_gd):pass
601 class matr_asse_pres_r(matr_asse_gd):pass
602 class matr_asse_temp_c(matr_asse_gd):pass
603 class matr_asse_temp_r(matr_asse_gd):pass
604
605 # matr_elem :
606 #--------------------------------
607 class matr_elem(ASSD):pass
608 class matr_elem_depl_c(matr_elem):pass
609 class matr_elem_depl_r(matr_elem):pass
610 class matr_elem_pres_c(matr_elem):pass
611 class matr_elem_temp_r(matr_elem):pass
612
613
614
615
616 # table :
617 #--------------------------------
618 class table_sdaster(ASSD):
619   def __getitem__(self,key):
620       if self.par_lot():
621          raise Accas.AsException("Erreur dans table.__getitem__ en PAR_LOT='OUI'")
622       requete = '%-24s' % key[0]
623       tblp = '%-19s.TBLP' % self.get_name()
624       tabnom=list(aster.getvectjev(tblp))
625       for i in range(len(tabnom)) :
626          if tabnom[i]==requete: break
627       resu=aster.getvectjev(tabnom[i+2])
628       exist=aster.getvectjev(tabnom[i+3])
629       if key[1]>len(resu) or exist[key[1]-1]==0:
630          raise KeyError
631       else:
632          return resu[key[1]-1]
633   def Nonefy(self,l1,l2) :
634       if l2==0 : return None
635       else     : return l1
636   def EXTR_TABLE(self) :
637       """Produit un objet Table à partir du contenu d'une table Aster
638       """
639       if self.par_lot():
640          raise Accas.AsException("Erreur dans table.EXTR_TABLE en PAR_LOT='OUI'")
641       from Utilitai.Table import Table
642       tblp=string.ljust(self.get_name(),19)+'.TBLP'
643       tabnom=list(aster.getvectjev(tblp))
644       nparam=len(tabnom)/4
645       lparam=[tabnom[4*i:4*i+4] for i in range(nparam)]
646       dval={}
647       # liste des paramètres et des types
648       lpar=[]
649       ltyp=[]
650       for i in lparam :
651          value=list(aster.getvectjev(i[2]))
652          exist=aster.getvectjev(i[3])
653          dval[string.strip(i[0])]=map(self.Nonefy,value,exist)
654          lpar.append(string.strip(i[0]))
655          ltyp.append(string.strip(i[1]))
656       n=len(dval[lpar[0]])
657       # contenu : liste de dict
658       lisdic=[]
659       for i in range(n) :
660         d={}
661         for p in lpar : d[p]=dval[p][i]
662         lisdic.append(d)
663       # titre
664       titj=aster.getvectjev(self.get_name().ljust(19)+'.TITR')
665       if titj<>None:
666          titr='\n'.join(titj)
667       else:
668          titr=''
669       return Table(lisdic, lpar, ltyp, titr)
670
671 class table_jeveux(table_sdaster):
672    """Classe permettant d'accéder à une table jeveux qui n'a pas d'ASSD associée,
673    c'est le cas des concepts résultats (table, evol_xxxx) dérivés."""
674    def __init__(self,nom_jeveux):
675       self.nom=nom_jeveux
676
677 class tabl_aire_int   (table_sdaster):pass
678 class tabl_calc_g_loca(table_sdaster):pass
679 class tabl_calc_g_th  (table_sdaster):pass
680 class tabl_cara_geom  (table_sdaster):pass
681 class tabl_char_limite(table_sdaster):pass
682 class tabl_ener_elas  (table_sdaster):pass
683 class tabl_ener_pot   (table_sdaster):pass
684 class tabl_ener_cin   (table_sdaster):pass
685 class tabl_trav_ext   (table_sdaster):pass
686 class tabl_ener_totale(table_sdaster):pass
687 class tabl_indic_ener (table_sdaster):pass
688 class tabl_indic_seuil(table_sdaster):pass
689 class tabl_intsp      (table_sdaster):pass
690 class tabl_mass_iner  (table_sdaster):pass
691 class tabl_post_alea  (table_sdaster):pass
692 class tabl_post_beta  (table_sdaster):pass
693 class tabl_post_dyna  (table_sdaster):pass
694 class tabl_post_f_alea(table_sdaster):pass
695 class tabl_post_fatig (table_sdaster):pass
696 class tabl_post_gouj2e(table_sdaster):pass
697 class tabl_post_k     (table_sdaster):pass
698 class tabl_post_rccm  (table_sdaster):pass
699 class tabl_post_rele  (table_sdaster):pass
700 class tabl_post_simpli(table_sdaster):pass
701 class tabl_post_usur  (table_sdaster):pass
702 class tabl_reca_weib  (table_sdaster):pass
703 class tabl_rice_tracey(table_sdaster):pass
704 class tabl_texture    (table_sdaster):pass
705 class tabl_trc        (table_sdaster):pass
706 class tabl_weibull    (table_sdaster):pass
707
708
709 # vect_asse :
710 #--------------------------------
711 class vect_asse(ASSD):pass
712 class vect_asse_gene(vect_asse):pass
713
714
715 # vect_elem :
716 #--------------------------------
717 class vect_elem(ASSD):pass
718 class vect_elem_depl_r(vect_elem):pass
719 class vect_elem_pres_c(vect_elem):pass
720 class vect_elem_pres_r(vect_elem):pass
721 class vect_elem_temp_r(vect_elem):pass
722
723 #& MODIF COMMUN  DATE 11/10/2004   AUTEUR DURAND C.DURAND 
724 #            CONFIGURATION MANAGEMENT OF EDF VERSION
725 # ======================================================================
726 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
727 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
728 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
729 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
730 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
731 #                                                                       
732 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
733 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
734 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
735 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
736 #                                                                       
737 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
738 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
739 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
740 # ======================================================================
741 def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
742            RELATION        =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_TRAC",
743                                  into=( "ELAS",
744                                         "VMIS_ISOT_TRAC",
745                                         "VISC_ISOT_TRAC",
746                                         "VMIS_ISOT_LINE",
747                                         "VISC_ISOT_LINE",
748                                         "VMIS_ECMI_TRAC",
749                                         "VMIS_ECMI_LINE",
750                                         "LABORD_1D",
751                                         "ENDO_FRAGILE",
752                                         "ENDO_ISOT_BETON",
753                                         "ENDO_ORTH_BETON",
754                                         "MAZARS",
755                                         "JOINT_BA",
756                                         "RUPT_FRAG",
757                                         "BARENBLATT",
758                                         "META_P_IL",
759                                         "META_P_IL_PT",
760                                         "META_P_IL_RE",
761                                         "META_P_IL_PT_RE",
762                                         "META_V_IL",
763                                         "META_V_IL_PT",
764                                         "META_V_IL_RE",
765                                         "META_V_IL_PT_RE",
766                                         "META_P_INL",
767                                         "META_P_INL_PT",
768                                         "META_P_INL_RE",
769                                         "META_P_INL_PT_RE",
770                                         "META_V_INL",
771                                         "META_V_INL_PT",
772                                         "META_V_INL_RE",
773                                         "META_V_INL_PT_RE",
774                                         "META_P_CL",
775                                         "META_P_CL_PT",
776                                         "META_P_CL_RE",
777                                         "META_P_CL_PT_RE",
778                                         "META_V_CL",
779                                         "META_V_CL_PT",
780                                         "META_V_CL_RE",
781                                         "META_V_CL_PT_RE",
782                                         "VMIS_CINE_LINE",
783                                         "VISC_TAHERI",
784                                         "CHABOCHE",
785                                         "VISCOCHAB",
786                                         "VISC_CIN1_CHAB",
787                                         "VISC_CIN2_CHAB",
788                                         "POLY_CFC",
789                                         "LMARC",
790                                         "ROUSSELIER",
791                                         "ROUSS_PR",
792                                         "ROUSS_VISC",
793                                         "VMIS_POU_LINE",
794                                         "VMIS_POU_FLEJOU",
795                                         "COULOMB",
796                                         "ARME",
797                                         "ASSE_CORN",
798                                         "NORTON_HOFF",
799                                         "LEMAITRE",
800                                         "ZIRC_CYRA2",
801                                         "VISC_IRRA_LOG",
802                                         "ZIRC_EPRI",
803                                         "ASSE_COMBU",
804                                         "VENDOCHAB",
805                                         "NADAI_B",
806                                         "DIS_CONTACT",
807                                         "DIS_CHOC",
808                                         "DIS_GOUJ2E_PLAS",
809                                         "DIS_GOUJ2E_ELAS",
810                                         "GRILLE_ISOT_LINE",
811                                         "GRILLE_CINE_LINE",
812                                         "GRILLE_PINTO_MEN",
813                                         "PINTO_MENEGOTTO",
814                                         "CJS",
815                                         "CAM_CLAY",
816                                         "BARCELONE",
817                                         "LAIGLE",
818                                         "DRUCKER_PRAGER",
819                                         "OHNO",
820                                         "GRANGER_FP",
821                                         "GRANGER_FP_INDT",
822                                         "GRANGER_FP_V",
823                                         "BAZANT_FD",
824                                         "BETON_UMLV_FP",
825                                         "BETON_DOUBLE_DP",
826                                         "KIT_HM",
827                                         "KIT_HHM",
828                                         "KIT_THH",
829                                         "KIT_THV",
830                                         "KIT_THM",
831                                         "KIT_THHM",
832                                         "VMIS_ASYM_LINE",
833                                         "ELAS_THM",
834                                         "SURF_ETAT_NSAT",
835                                         "SURF_ETAT_SATU",
836                                         "CAM_CLAY_THM",
837                                         "KIT_DDI",
838                                         "GLRC",
839                                         "SANS",
840                                         "CORR_ACIER",
841                                         "MONOCRISTAL",
842                                         "POLYCRISTAL",
843                                      ) ),
844           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
845           SANS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
846           CORR_ACIER      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),        
847           VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
848           VISC_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
849           VMIS_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
850           VISC_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
851           VMIS_ECMI_TRAC  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
852           VMIS_ECMI_LINE  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
853           LABORD_1D       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
854           ENDO_FRAGILE    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
855           ENDO_ISOT_BETON =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
856           ENDO_ORTH_BETON =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
857           MAZARS          =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
858           JOINT_BA        =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
859           RUPT_FRAG       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
860           BARENBLATT      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
861           META_P_IL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
862           META_P_IL_PT       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
863           META_P_IL_RE       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
864           META_P_IL_PT_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
865           META_V_IL          =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
866           META_V_IL_PT       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
867           META_V_IL_RE       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
868           META_V_IL_PT_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
869           META_P_INL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
870           META_P_INL_PT      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
871           META_P_INL_RE      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
872           META_P_INL_PT_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
873           META_V_INL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
874           META_V_INL_PT      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
875           META_V_INL_RE      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
876           META_V_INL_PT_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
877           META_P_CL          =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
878           META_P_CL_PT       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
879           META_P_CL_RE       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
880           META_P_CL_PT_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
881           META_V_CL          =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
882           META_V_CL_PT       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
883           META_V_CL_RE       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
884           META_V_CL_PT_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
885           VMIS_CINE_LINE  =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
886           CHABOCHE        =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
887           VISCOCHAB       =SIMP(statut='c',typ='I',defaut=28,into=(28,)),
888           VISC_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
889           VISC_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
890           POLY_CFC        =SIMP(statut='c',typ='I',defaut=1688,into=(1688,)),
891           LMARC           =SIMP(statut='c',typ='I',defaut=20,into=(20,)),
892           VISC_TAHERI     =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
893           ROUSSELIER      =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
894           ROUSS_PR        =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
895           ROUSS_VISC      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
896           VMIS_POU_LINE   =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
897           VMIS_POU_FLEJOU =SIMP(statut='c',typ='I',defaut=9 ,into=(9,)),
898           COULOMB         =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
899           ASSE_CORN       =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
900           ARME            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
901           NORTON_HOFF     =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
902           LEMAITRE        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
903           ZIRC_CYRA2      =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
904           ZIRC_EPRI       =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
905           VISC_IRRA_LOG   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
906           ASSE_COMBU      =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
907           NADAI_B         =SIMP(statut='c',typ='I',defaut=34,into=(34,)),
908           VENDOCHAB       =SIMP(statut='c',typ='I',defaut=10,into=(10,)),
909           GRILLE_ISOT_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
910           GRILLE_CINE_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
911           GRILLE_PINTO_MEN=SIMP(statut='c',typ='I',defaut=16,into=(16,)),
912           DIS_CONTACT     =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
913           DIS_CHOC        =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
914           DIS_GOUJ2E_PLAS =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
915           DIS_GOUJ2E_ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
916           PINTO_MENEGOTTO =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
917           CJS             =SIMP(statut='c',typ='I',defaut=16,into=(16,)),
918           CAM_CLAY        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
919           BARCELONE       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
920           LAIGLE          =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
921           DRUCKER_PRAGER  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
922           OHNO            =SIMP(statut='c',typ='I',defaut=32,into=(32,)),
923           GRANGER_FP      =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
924           GRANGER_FP_INDT =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
925           GRANGER_FP_V    =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
926           BAZANT_FD       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
927           BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
928           KIT_HM          =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
929           KIT_HHM         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
930           KIT_THH         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
931           KIT_THV         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
932           KIT_THM         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
933           KIT_THHM        =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
934           VMIS_ASYM_LINE  =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
935           BETON_UMLV_FP   =SIMP(statut='c',typ='I',defaut=21,into=(21,)),
936           GLRC            =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
937
938            b_monox     = BLOC(condition = "RELATION == 'MONOCRISTAL' ",
939                                  fr="SD issue de DEFI_COMPOR",
940                    COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
941 #          
942            b_polyx     = BLOC(condition = "RELATION == 'POLYCRISTAL' ",
943                                  fr="SD issue de DEFI_COMPOR",
944                    COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
945 #          
946
947
948
949            RELATION_KIT    =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
950                                  into=(
951 # MECA
952                                        "ELAS",
953                                        "CJS",
954                                        "CAM_CLAY",
955                                        "BARCELONE",
956                                        "LAIGLE",
957                                        "DRUCKER_PRAGER",
958                                        "ELAS_THM",
959                                        "SURF_ETAT_NSAT",
960                                        "SURF_ETAT_SATU",
961                                        "CAM_CLAY_THM",
962                                        "MAZARS",
963                                        "ENDO_ISOT_BETON",
964 # THMC
965                                        "GAZ",
966                                        "LIQU_SATU",
967                                        "LIQU_SATU_GAT",
968                                        "LIQU_GAZ_ATM",
969                                        "LIQU_VAPE_GAZ",
970                                        "LIQU_AD_GAZ_VAPE",
971                                        "LIQU_VAPE",
972                                        "LIQU_NSAT_GAT",
973                                        "LIQU_GAZ",
974 # HYDR
975                                        "HYDR_UTIL",
976                                        "HYDR",
977                                        "HYDR_ENDO",
978 # MECA_META
979                                        "ACIER",
980                                        "ZIRC",
981 # MECA KIT_DDI
982                                        "VMIS_ISOT_TRAC",
983                                        "VMIS_ISOT_LINE",
984                                        "VMIS_ISOT_CINE",
985                                        "GRANGER_FP",
986                                        "GRANGER_FP_INDT",
987                                        "GRANGER_FP_V",
988                                        "BETON_UMLV_FP",
989                                        "ROUSS_PR",
990                                        "CHABOCHE",
991                                        "OHNO",
992                                        "NADAI_B",
993                                        "BETON_DOUBLE_DP",
994                                        ),),
995                             
996                                         
997            ELAS_THM        =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
998            SURF_ETAT_NSAT  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
999            SURF_ETAT_SATU  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
1000            CAM_CLAY_THM    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
1001            GAZ             =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
1002            LIQU_SATU       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
1003            LIQU_SATU_GAT   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
1004            LIQU_GAZ_ATM    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
1005            LIQU_VAPE_GAZ   =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
1006            LIQU_AD_GAZ_VAPE=SIMP(statut='c',typ='I',defaut=3,into=(3,)),
1007            LIQU_VAPE       =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
1008            LIQU_NSAT_GAT   =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
1009            LIQU_GAZ        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
1010            HYDR_UTIL       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
1011            HYDR            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
1012            HYDR_ENDO       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
1013            ACIER           =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
1014            ZIRC            =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
1015
1016            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC","SIMO_MIEHE","GREEN_GR","GREEN",)),
1017            ALGO_C_PLAN     =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
1018            ALGO_1D         =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
1019       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
1020            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1021            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1022            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1023          ) ;
1024 #& MODIF COMMUN  DATE 06/04/2004   AUTEUR DURAND C.DURAND 
1025 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1026 # ======================================================================
1027 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
1028 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
1029 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
1030 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
1031 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
1032 #                                                                       
1033 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
1034 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
1035 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
1036 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
1037 #                                                                       
1038 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
1039 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
1040 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
1041 # ======================================================================
1042 # RESPONSABLE VABHHTS J.PELLET
1043 # ce fichier contient la liste des "into" possibles pour le mot cle NOM_CHAM
1044 # c'est a dire les noms de champs des SD RESULTAT (DATA de la routine RSCRSD)
1045 def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
1046                         "ACCE_ABSOLU",
1047                         "ALPH0_ELGA_EPSP",
1048                         "ALPHP_ELGA_ALPH0",
1049                         "COMPORTEMENT",
1050                         "COMPORTHER",
1051                         "CRIT_ELNO_RUPT",
1052                         "DCHA_ELGA_SIGM",
1053                         "DCHA_ELNO_SIGM",
1054                         "DCHA_NOEU_SIGM",
1055                         "DEDE_ELNO_DLDE",
1056                         "DEDE_NOEU_DLDE",
1057                         "DEGE_ELNO_DEPL",
1058                         "DEGE_NOEU_DEPL",
1059                         "DEPL",
1060                         "DEPL_ABSOLU",
1061                         "DESI_ELNO_DLSI",
1062                         "DESI_NOEU_DLSI",
1063                         "DETE_ELNO_DLTE",
1064                         "DETE_NOEU_DLTE",
1065                         "DURT_ELGA_META",
1066                         "DURT_ELNO_META",
1067                         "DURT_NOEU_META",
1068                         "ECIN_ELEM_DEPL",
1069                         "EFGE_ELNO_CART",
1070                         "EFGE_ELNO_DEPL",
1071                         "EFGE_NOEU_CART",
1072                         "EFGE_NOEU_DEPL",
1073                         "ENDO_ELGA",
1074                         "ENDO_ELNO_ELGA",
1075                         "ENDO_ELNO_SIGA",
1076                         "ENDO_ELNO_SINO",
1077                         "ENDO_NOEU_SINO",
1078                         "ENEL_ELGA",
1079                         "ENEL_ELNO_ELGA",
1080                         "ENEL_NOEU_ELGA",
1081                         "EPEQ_ELNO_TUYO",
1082                         "EPGR_ELGA",
1083                         "EPGR_ELNO",
1084                         "EPME_ELGA_DEPL",
1085                         "EPME_ELNO_DEPL",
1086                         "EPMG_ELGA_DEPL",
1087                         "EPMG_ELNO_DEPL",
1088                         "EPMG_NOEU_DEPL",
1089                         "EPOT_ELEM_DEPL",
1090                         "EPSA_ELNO",
1091                         "EPSA_NOEU",
1092                         "EPSG_ELGA_DEPL",
1093                         "EPSG_ELNO_DEPL",
1094                         "EPSG_NOEU_DEPL",
1095                         "EPSI_ELGA_DEPL",
1096                         "EPSI_ELNO_DEPL",
1097                         "EPSI_ELNO_TUYO",
1098                         "EPSI_NOEU_DEPL",
1099                         "EPSP_ELGA",
1100                         "EPSP_ELNO",
1101                         "EPSP_ELNO_ZAC",
1102                         "EPSP_NOEU",
1103                         "EPSP_NOEU_ZAC",
1104                         "EQUI_ELGA_EPME",
1105                         "EQUI_ELGA_EPSI",
1106                         "EQUI_ELGA_SIGM",
1107                         "EQUI_ELNO_EPME",
1108                         "EQUI_ELNO_EPSI",
1109                         "EQUI_ELNO_SIGM",
1110                         "EQUI_NOEU_EPME",
1111                         "EQUI_NOEU_EPSI",
1112                         "EQUI_NOEU_SIGM",
1113                         "ERRE_ELEM_NOZ1",
1114                         "ERRE_ELEM_NOZ2",
1115                         "ERRE_ELGA_NORE",
1116                         "ERRE_ELNO_ELGA",
1117                         "ERRE_NOEU_ELGA",
1118                         "ERTH_ELEM_TEMP",
1119                         "ERTH_ELNO_ELEM",
1120                         "ETOT_ELEM",
1121                         "ETOT_ELGA",
1122                         "ETOT_ELNO_ELGA",
1123                         "FLUX_ELGA_TEMP",
1124                         "FLUX_ELNO_TEMP",
1125                         "FLUX_NOEU_TEMP",
1126                         "FORC_NODA",
1127                         "FSUR_2D",
1128                         "FSUR_3D",
1129                         "FVOL_2D",
1130                         "FVOL_3D",
1131                         "GRAD_NOEU_THETA",
1132                         "HYDR_ELGA",
1133                         "HYDR_ELNO_ELGA",
1134                         "HYDR_NOEU_ELGA",
1135                         "INDI_LOCA_ELGA",
1136                         "INTE_ELNO_ACTI",
1137                         "INTE_ELNO_REAC",
1138                         "INTE_NOEU_ACTI",
1139                         "INTE_NOEU_REAC",
1140                         "IRRA",
1141                         "LANL_ELGA",
1142                         "META_ELGA_TEMP",
1143                         "META_ELNO_TEMP",
1144                         "META_NOEU_TEMP",
1145                         "MODE_FLAMB",
1146                         "PMPB_ELGA_SIEF",
1147                         "PMPB_ELNO_SIEF",
1148                         "PMPB_NOEU_SIEF",
1149                         "PRES",
1150                         "PRES_DBEL_DEPL",
1151                         "PRES_ELNO_DBEL",
1152                         "PRES_ELNO_IMAG",
1153                         "PRES_ELNO_REEL",
1154                         "PRES_NOEU_DBEL",
1155                         "PRES_NOEU_IMAG",
1156                         "PRES_NOEU_REEL",
1157                         "RADI_ELGA_SIGM",
1158                         "RADI_ELNO_SIGM",
1159                         "RADI_NOEU_SIGM",
1160                         "REAC_NODA",
1161                         "SIEF_ELGA",
1162                         "SIEF_ELGA_DEPL",
1163                         "SIEF_ELNO",
1164                         "SIEF_ELNO_ELGA",
1165                         "SIEF_NOEU",
1166                         "SIEF_NOEU_ELGA",
1167                         "SIEQ_ELNO_TUYO",
1168                         "SIGM_ELNO_CART",
1169                         "SIGM_ELNO_COQU",
1170                         "SIGM_ELNO_DEPL",
1171                         "SIGM_ELNO_SIEF",
1172                         "SIGM_ELNO_TUYO",
1173                         "SIGM_ELNO_ZAC",
1174                         "SIGM_NOEU_CART",
1175                         "SIGM_NOEU_COQU",
1176                         "SIGM_NOEU_DEPL",
1177                         "SIGM_NOEU_SIEF",
1178                         "SIGM_NOEU_ZAC",
1179                         "SIGM_NOZ1_ELGA",
1180                         "SIGM_NOZ2_ELGA",
1181                         "SIPO_ELNO_DEPL",
1182                         "SIPO_ELNO_SIEF",
1183                         "SIPO_NOEU_DEPL",
1184                         "SIPO_NOEU_SIEF",
1185                         "SIRE_ELNO_DEPL",
1186                         "SIRE_NOEU_DEPL",
1187                         "SOUR_ELGA_ELEC",
1188                         "TEMP",
1189                         "THETA",
1190                         "VALE_CONT",
1191                         "VALE_NCOU_MAXI",
1192                         "VARI_ELGA",
1193                         "VARI_ELGA_ZAC",
1194                         "VARI_ELNO",
1195                         "VARI_ELNO_COQU",
1196                         "VARI_ELNO_ELGA",
1197                         "VARI_ELNO_TUYO",
1198                         "VARI_NOEU",
1199                         "VARI_NOEU_ELGA",
1200                         "VARI_NON_LOCAL",
1201                         "VITE",
1202                         "VITE_ABSOLU",
1203                         "VITE_VENT",
1204                         )
1205 #& MODIF COMMUN  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
1206 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1207 # ======================================================================
1208 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
1209 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
1210 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
1211 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
1212 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
1213 #                                                                       
1214 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
1215 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
1216 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
1217 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
1218 #                                                                       
1219 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
1220 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
1221 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
1222 # ======================================================================
1223 # ce fichier contient la liste des PARA possibles pour les fonctions et les nappes
1224 def C_PARA_FONCTION() : return  ( #COMMUN#
1225                    "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC",
1226                    "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP",
1227                    "AMOR","ABSC","SIGM","HYDR","SECH","PORO","SAT",
1228                    "PGAZ","PCAP","VITE","ENDO","NORM","EPAIS",)
1229 #& MODIF COMMUN  DATE 03/11/2004   AUTEUR CIBHHPD L.SALMONA 
1230 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1231 # ======================================================================
1232 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
1233 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
1234 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
1235 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
1236 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
1237 #                                                                       
1238 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
1239 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
1240 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
1241 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
1242 #                                                                       
1243 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
1244 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
1245 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
1246 # ======================================================================
1247 #
1248 # ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM
1249 # c'est a dire les noms des types de champ des SD RESULTAT (DATA de la routine RSCRSD)
1250 def C_TYPE_CHAM_INTO() : return  ("ACCE",    #COMMUN#
1251              "CART_CORR_R",
1252                              "NOEU_DBEL_R",  "ELEM_DBEL_R",  "ELNO_DBEL_R",  "ELGA_DBEL_R",
1253                              "NOEU_DEPL_C",  "ELEM_DEPL_C",  "ELNO_DEPL_C",  "ELGA_DEPL_C",
1254              "CART_DEPL_F",  "NOEU_DEPL_F",  "ELEM_DEPL_F",  "ELNO_DEPL_F",  "ELGA_DEPL_F",
1255              "CART_DEPL_R",  "NOEU_DEPL_R",  "ELEM_DEPL_R",  "ELNO_DEPL_R",  "ELGA_DEPL_R",
1256                              "NOEU_DURT_R",  "ELEM_DURT_R",  "ELNO_DURT_R",  "ELGA_DURT_R",
1257              "CART_ENER_R",  "NOEU_ENER_R",  "ELEM_ENER_R",  "ELNO_ENER_R",  "ELGA_ENER_R",
1258                              "NOEU_EPSI_R",  "ELEM_EPSI_R",  "ELNO_EPSI_R",  "ELGA_EPSI_R",
1259                              "NOEU_ERREUR",  "ELEM_ERREUR",  "ELNO_ERREUR",  "ELGA_ERREUR",
1260                              "NOEU_FLUX_R",  "ELEM_FLUX_R",  "ELNO_FLUX_R",  "ELGA_FLUX_R",
1261              "CART_GEOM_R",  "NOEU_GEOM_R",  "ELEM_GEOM_R",  "ELNO_GEOM_R",  "ELGA_GEOM_R",
1262                              "NOEU_G_DEPL_R","ELEM_G_DEPL_R","ELNO_G_DEPL_R","ELGA_G_DEPL_R",
1263                              "NOEU_HYDR_R",  "ELEM_HYDR_R",  "ELNO_HYDR_R",  "ELGA_HYDR_R",
1264                              "NOEU_INST_R",  "ELEM_INST_R",  "ELNO_INST_R",  "ELGA_INST_R",
1265                              "NOEU_INTE_R",  "ELEM_INTE_R",  "ELNO_INTE_R",  "ELGA_INTE_R",
1266              "CART_IRRA_R",  "NOEU_IRRA_R",  "ELEM_IRRA_R",  "ELNO_IRRA_R",  "ELGA_IRRA_R",
1267                              "NOEU_META_R",  "ELEM_META_R",  "ELNO_META_R",  "ELGA_META_R",
1268                              "NOEU_NEUT_F",  "ELEM_NEUT_F",  "ELNO_NEUT_F",  "ELGA_NEUT_F",
1269              "CART_NEUT_R",  "NOEU_NEUT_R",  "ELEM_NEUT_R",  "ELNO_NEUT_R",  "ELGA_NEUT_R",
1270                              "NOEU_PRES_R",  "ELEM_PRES_R",  "ELNO_PRES_R",  "ELGA_PRES_R",
1271              "CART_SIEF_R",  "NOEU_SIEF_R",  "ELEM_SIEF_R",  "ELNO_SIEF_R",  "ELGA_SIEF_R",
1272                              "NOEU_SOUR_R",  "ELEM_SOUR_R",  "ELNO_SOUR_R",  "ELGA_SOUR_R",
1273              "CART_TEMP_F",  "NOEU_TEMP_F",  "ELEM_SPMA_R",  "ELNO_TEMP_F",  "ELGA_TEMP_F",
1274              "CART_TEMP_R",  "NOEU_TEMP_R",  "ELEM_TEMP_F",  "ELNO_TEMP_R",  "ELGA_TEMP_R",
1275              "CART_VAR2_R",  "NOEU_VAR2_R",  "ELEM_TEMP_R",  "ELNO_VARI_R",  "ELGA_VARI_R",
1276                              "NOEU_VNOR_C",  "ELEM_VARI_R",  "ELNO_VNOR_C",  "ELGA_VNOR_C",
1277                                              "ELEM_VNOR_C",
1278                                  )
1279 #& MODIF COMMANDE  DATE 04/04/2006   AUTEUR CIBHHLV L.VIVAN 
1280 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1281 # ======================================================================
1282 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1283 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1284 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1285 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1286 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1287 #
1288 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1289 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1290 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1291 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1292 #
1293 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1294 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1295 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1296 # ======================================================================
1297 # RESPONSABLE JMBHH01 J.M.PROIX
1298 AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
1299                     fr="Affectation de caractéristiques à des éléments de structure",
1300                     reentrant='n',
1301             UIinfo={"groupes":("Modélisation",)},
1302          regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF',
1303                              'ASSE_GRIL','GRILLE','AFFE_SECT','AFFE_FIBRE'),),
1304          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1305          INFO            =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
1306          VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ),
1307
1308 #============================================================================
1309          POUTRE          =FACT(statut='f',max='**',
1310            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1311            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1312            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1313            SECTION         =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ),
1314            PREC_AIRE       =SIMP(statut='f',typ='R',defaut=0.01),
1315            PREC_INERTIE    =SIMP(statut='f',typ='R',defaut=0.1),
1316            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
1317              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
1318              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1319                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=4 ,max=15,
1320                                  fr="A,IY,IZ,JX sont des paramètres obligatoires",
1321                                  into=("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT",
1322                                        "JG","IYR2","IZR2","AI") ),
1323                VALE            =SIMP(statut='o',typ='R',min=4 ,max=15),
1324              ),
1325              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1326                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=8 ,max=30,
1327                                  fr="A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires",
1328                                  into=("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1",
1329                                        "RZ1","RT1","JG1","IYR21","IZR21","AI1",
1330                                        "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2",
1331                                        "RZ2","RT2","JG2","IYR22","IZR22","AI2") ),
1332                VALE            =SIMP(statut='o',typ='R',min=8 ,max=30),
1333              ),
1334            ),
1335            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
1336              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut="CONSTANT"),
1337              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1338                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=4,
1339                                  into=("H","EP", "HY","HZ","EPY","EPZ") ),
1340                VALE            =SIMP(statut='o',typ='R',min=1 ,max=4),
1341              ),
1342              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1343                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=8,
1344                                      into=("H1","HZ1","HY1","EP1","EPY1","EPZ1",
1345                                            "H2","HZ2","HY2","EP2","EPY2","EPZ2") ),
1346                VALE            =SIMP(statut='o',typ='R',min=2 ,max=8),
1347              ),
1348              b_affine =BLOC( condition = "VARI_SECT=='AFFINE'",
1349                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=3 ,max=6,
1350                                      into=("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ),
1351                VALE            =SIMP(statut='o',typ='R',min=3 ,max=6),
1352              ),
1353            ),
1354            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
1355              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
1356              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1357                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=2,
1358                                  fr="R est un paramètre obligatoire",
1359                                      into=("R","EP") ),
1360                VALE            =SIMP(statut='o',typ='R',min=1 ,max=2),
1361              ),
1362              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1363                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=4,
1364                                  fr="R1, R2 sont des paramètres obligatoires",
1365                                      into=("R1","R2","EP1","EP2") ),
1366                VALE            =SIMP(statut='o',typ='R',min=2 ,max=4),
1367              ),
1368              MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
1369              FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1370              TUYAU_NSEC      =SIMP(statut='f',typ='I',val_max=32,defaut=16),
1371              TUYAU_NCOU      =SIMP(statut='f',typ='I',val_max=10,defaut=3),
1372            ),
1373          ),
1374
1375 #============================================================================
1376          BARRE           =FACT(statut='f',max='**',
1377            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1378            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1379            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1380            SECTION         =SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ),
1381            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
1382              CARA            =SIMP(statut='o',typ='TXM',into=("A",) ),
1383              VALE            =SIMP(statut='o',typ='R',min=1,max=1 ),
1384            ),
1385            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
1386              CARA            =SIMP(statut='o',typ='TXM',into=("H","EP",
1387                                                               "HZ","HY","EPY","EPZ"),
1388                                                         validators=NoRepeat(),min=1,max=4 ),
1389              VALE            =SIMP(statut='o',typ='R',min=1,max=4 ),
1390            ),
1391            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
1392              CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ),
1393              VALE            =SIMP(statut='o',typ='R',min=1,max=2 ),
1394            ),
1395            FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1396          ),
1397
1398 #============================================================================
1399          COQUE           =FACT(statut='f',max='**',
1400            regles=(UN_PARMI('MAILLE','GROUP_MA' ),
1401                    PRESENT_PRESENT( 'EXCENTREMENT','INER_ROTA' ),),
1402            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1403            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1404            EPAIS           =SIMP(statut='o',typ='R' ),
1405            ANGL_REP        =SIMP(statut='f',typ='R',min=2,max=2),
1406            A_CIS           =SIMP(statut='c',typ='R',defaut= 0.8333333E0),
1407            COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-5 ),
1408            COQUE_NCOU      =SIMP(statut='f',typ='I',defaut= 1 ),
1409            EXCENTREMENT    =SIMP(statut='f',typ='R' ),
1410            INER_ROTA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1411            MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
1412          ),
1413
1414 #============================================================================
1415          CABLE           =FACT(statut='f',max='**',
1416            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1417            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1418            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1419            N_INIT          =SIMP(statut='f',typ='R',defaut= 5000. ),
1420            SECTION         =SIMP(statut='f',typ='R' ),
1421            FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1422          ),
1423
1424 #============================================================================
1425          DISCRET         =FACT(statut='f',max='**',
1426            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1427            AMOR_HYST       =SIMP(statut='f',typ='R' ),
1428            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
1429           fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
1430                                  into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
1431                                        "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
1432                                        "M_T_D_N","M_TR_D_N","M_T_N",
1433                                        "M_T_L",  "M_TR_N",  "M_TR_L",
1434                                        "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
1435                                        "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
1436
1437 # affection des caractéristiques de RIGIDITE/AMORTISSEMENT
1438               b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
1439                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1440                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1441                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1442                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1443                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1444                                VALE     =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1445               b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
1446                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1447                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1448                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1449                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1450               b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
1451                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1452                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1453                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1454                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1455                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1456                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1457               b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
1458                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1459                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1460                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1461                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1462               b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
1463                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1464                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1465                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1466                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1467                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1468                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1469               b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
1470                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1471                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1472                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1473                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1474               b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
1475                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1476                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1477                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1478                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1479                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1480                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1481               b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
1482                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1483                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1484                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1485                                VALE =SIMP(statut='o',typ='R',min=78,max=78),),
1486
1487 # affection des caractéristiques de MASSE
1488               b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
1489           fr="NOEUD: 1 valeur de masse",
1490                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1491                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1492                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1493                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1494                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1495                                VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),),
1496               b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
1497           fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentricité",
1498                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1499                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1500                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1501                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1502                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1503                                VALE =SIMP(statut='o',typ='R',min=10,max=10),),
1504               b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
1505           fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
1506                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1507                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1508                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1509                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1510                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1511                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1512               b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
1513           fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
1514                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1515                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1516                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1517                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1518               b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
1519           fr="NOEUD: 21 valeurs de masse (triangulaire supérieure par colonne)",
1520                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1521                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1522                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1523                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1524                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1525                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1526               b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
1527           fr="SEGMENT: 78 valeurs de masse (triangulaire supérieure par colonne)",
1528                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1529                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1530                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1531                                VALE =SIMP(statut='o',typ='R',min=78,max=78),),
1532          ),
1533
1534 #============================================================================
1535          DISCRET_2D      =FACT(statut='f',max='**',
1536            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1537            AMOR_HYST       =SIMP(statut='f',typ='R' ),
1538            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
1539           fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
1540                                  into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
1541                                        "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
1542                                        "M_T_D_N","M_T_N",  "M_TR_D_N",
1543                                        "M_T_L",  "M_TR_N",  "M_TR_L",
1544                                        "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
1545                                        "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
1546
1547 # affection des caractéristiques de RIGIDITE/AMORTISSEMENT
1548               b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
1549                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1550                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1551                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1552                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1553                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1554                                VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),),
1555               b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
1556                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1557                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1558                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1559                                VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),),
1560               b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
1561                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1562                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1563                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1564                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1565                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1566                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1567               b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
1568                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1569                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1570                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1571                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1572               b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
1573                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1574                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1575                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1576                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1577                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1578                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1579               b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
1580                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1581                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1582                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1583                                VALE =SIMP(statut='o',typ='R',min=10,max=10),),
1584               b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
1585                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1586                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1587                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1588                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1589                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1590                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6),),
1591               b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
1592                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1593                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1594                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1595                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1596
1597 # affection des caractéristiques de MASSE
1598               b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
1599           fr="NOEUD: 1 valeur de masse",
1600                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1601                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1602                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1603                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1604                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1605                                VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),),
1606               b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
1607           fr="NOEUD: 1 valeur de masse(m), 1 valeur d'inertie(Izz), 2 composantes du vecteur d'excentricité(ex,ey) ",
1608                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1609                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1610                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1611                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1612                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1613                                VALE =SIMP(statut='o',typ='R',min=4 ,max=4 ),),
1614               b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
1615           fr="NOEUD: 3 valeurs de masse (triangulaire supérieure par colonne)",
1616                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1617                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1618                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1619                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1620                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1621                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1622               b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
1623           fr="SEGMENT: 10 valeurs de masse (triangulaire supérieure par colonne)",
1624                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1625                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1626                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1627                                VALE =SIMP(statut='o',typ='R',min=10,max=10),),
1628               b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
1629           fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
1630                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1631                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1632                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1633                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1634                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1635                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1636               b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
1637           fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
1638                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1639                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1640                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1641                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1642          ),
1643
1644 #============================================================================
1645          ORIENTATION     =FACT(statut='f',max='**',
1646            regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),),
1647            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1648            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1649            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1650            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1651            CARA            =SIMP(statut='o',typ='TXM',
1652                                  into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ),
1653            VALE            =SIMP(statut='o',typ='R',max='**'),
1654            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-4 ),
1655            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
1656          ),
1657
1658 #============================================================================
1659          DEFI_ARC        =FACT(statut='f',max='**',
1660            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1661                    UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE',
1662                             'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'),
1663                    PRESENT_PRESENT('ORIE_ARC','RAYON'),
1664                    EXCLUS('COEF_FLEX','COEF_FLEX_XY'),
1665                    EXCLUS('COEF_FLEX','COEF_FLEX_XZ'),
1666                    EXCLUS('INDI_SIGM','INDI_SIGM_XY'),
1667                    EXCLUS('INDI_SIGM','INDI_SIGM_XZ'),
1668                    PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'),
1669                    PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),),
1670            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1671            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1672            ORIE_ARC        =SIMP(statut='f',typ='R'),
1673            CENTRE          =SIMP(statut='f',typ='R',max='**'),
1674            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
1675            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
1676            POIN_TANG       =SIMP(statut='f',typ='R',max='**'),
1677            NOEUD_POIN_TANG =SIMP(statut='f',typ=no),
1678            GROUP_NO_POIN_TG=SIMP(statut='f',typ=grno),
1679            RAYON           =SIMP(statut='f',typ='R'),
1680            COEF_FLEX       =SIMP(statut='f',typ='R'),
1681            INDI_SIGM       =SIMP(statut='f',typ='R'),
1682            COEF_FLEX_XY    =SIMP(statut='f',typ='R'),
1683            INDI_SIGM_XY    =SIMP(statut='f',typ='R'),
1684            COEF_FLEX_XZ    =SIMP(statut='f',typ='R'),
1685            INDI_SIGM_XZ    =SIMP(statut='f',typ='R'),
1686            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
1687            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
1688          ),
1689
1690 #============================================================================
1691          MASSIF          =FACT(statut='f',max='**',
1692            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1693                    UN_PARMI('ANGL_REP','ANGL_AXE'),
1694                    EXCLUS('ANGL_REP','ANGL_AXE'),
1695                    EXCLUS('ANGL_REP','ORIG_AXE'),
1696                    PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ),
1697            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1698            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1699            ANGL_REP        =SIMP(statut='f',typ='R',max=3),
1700            ANGL_AXE        =SIMP(statut='f',typ='R',max=2),
1701            ORIG_AXE        =SIMP(statut='f',typ='R',max=3),
1702          ),
1703
1704 #============================================================================
1705          POUTRE_FLUI     =FACT(statut='f',max='**',
1706            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1707            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1708            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1709            B_T             =SIMP(statut='o',typ='R'),
1710            B_N             =SIMP(statut='o',typ='R'),
1711            B_TN            =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
1712            A_FLUI          =SIMP(statut='o',typ='R'),
1713            A_CELL          =SIMP(statut='o',typ='R'),
1714            COEF_ECHELLE    =SIMP(statut='o',typ='R'),
1715          ),
1716
1717 #============================================================================
1718          GRILLE          =FACT(statut='f',max='**',
1719            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1720                    EXCLUS('ANGL_REP','ORIG_AXE'),
1721                    ENSEMBLE('ORIG_AXE','AXE')),
1722            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1723            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1724            SECTION         =SIMP(statut='o',typ='R'),
1725            ANGL_REP        =SIMP(statut='f',typ='R',max=2),
1726            EXCENTREMENT    =SIMP(statut='f',typ='R'),
1727            ORIG_AXE        =SIMP(statut='f',typ='R',max='**'),
1728            AXE             =SIMP(statut='f',typ='R',max='**'),
1729            COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-10 ),
1730            GRILLE_NCOU     =SIMP(statut='f',typ='I',defaut= 1,),
1731          ),
1732
1733 #============================================================================
1734          RIGI_PARASOL    =FACT(statut='f',max='**',
1735            regles=(UN_PARMI('COEF_GROUP','FONC_GROUP'),
1736                    UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
1737            GROUP_MA        =SIMP(statut='o',typ=ma,validators=NoRepeat(),max='**'),
1738            GROUP_MA_POI1   =SIMP(statut='f',typ=ma),
1739            FONC_GROUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1740            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
1741            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1742            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,
1743                                  into=("K_TR_D_N","A_TR_D_N",
1744                                        "K_T_D_N", "A_T_D_N") ),
1745            VALE            =SIMP(statut='o',typ='R',max='**'),
1746            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
1747            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
1748            COOR_CENTRE     =SIMP(statut='f',typ='R',max='**'),
1749          ),
1750          
1751 #============================================================================
1752          RIGI_MISS_3D    =FACT(statut='f',max='**',
1753            GROUP_MA_POI1   =SIMP(statut='o',typ=ma,max=1),
1754            GROUP_MA_SEG2   =SIMP(statut='f',typ=ma,max=1),
1755            FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
1756            UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
1757          ),
1758          
1759 #============================================================================
1760          ASSE_GRIL       =FACT(statut='f',max='**',
1761            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1762            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1763            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1764            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
1765                                  into=("K_TR_D_N","K_TR_D_L_T","K_TR_D_L_N",) ),
1766            VALE            =SIMP(statut='o',typ='R',max='**'),
1767            PAS_T           =SIMP(statut='o',typ='R'),
1768            PAS_N           =SIMP(statut='o',typ='R'),
1769            ANGL_REP        =SIMP(statut='o',typ='R',max='**'),
1770            COEF_ECHELLE    =SIMP(statut='o',typ='R'),
1771          ),
1772
1773
1774 #============================================================================
1775          AFFE_SECT     =FACT(statut='f',max='**',
1776               regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
1777                       AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),
1778                       PRESENT_ABSENT('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),),
1779
1780               NOM             =SIMP(statut='f',typ='TXM'),
1781
1782               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1783               MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1784
1785               TOUT_SECT         =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1786               GROUP_MA_SECT     =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1787               MAILLE_SECT       =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1788
1789               MAILLAGE_SECT     =SIMP(statut='o',typ=maillage_sdaster),
1790               COOR_AXE_POUTRE    =SIMP(statut='o',typ='R',min=2,max=2),
1791          ),
1792
1793
1794 #============================================================================
1795          AFFE_FIBRE     =FACT(statut='f',max='**',
1796               regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
1797
1798               NOM             =SIMP(statut='f',typ='TXM'),
1799
1800               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1801               MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1802
1803               CARA              =SIMP(statut='f',typ='TXM',defaut='SURFACE',into=('SURFACE','DIAMETRE',)),
1804               VALE              =SIMP(statut='o',typ='R',max='**'),
1805               COOR_AXE_POUTRE    =SIMP(statut='o',typ='R',min=2,max=2),
1806          ),
1807
1808
1809 ) ;
1810 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
1811 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1812 # ======================================================================
1813 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1814 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1815 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1816 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1817 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1818 #
1819 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1820 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1821 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1822 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1823 #
1824 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1825 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1826 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1827 # ======================================================================
1828 AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op=  68,sd_prod=char_acou,
1829                     fr="Affectation de charges et conditions aux limites acoustiques constantes",
1830                     reentrant='n',
1831             UIinfo={"groupes":("Modélisation",)},
1832          regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),),
1833          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1834          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1835          PRES_IMPO       =FACT(statut='f',max='**',
1836            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
1837            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1838            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1839            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1840            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1841            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1842            PRES            =SIMP(statut='o',typ='C' ),
1843          ),
1844          VITE_FACE       =FACT(statut='f',max='**',
1845              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
1846                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
1847            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1848            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1849            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1850            VNOR            =SIMP(statut='o',typ='C' ),
1851          ),
1852          IMPE_FACE       =FACT(statut='f',max='**',
1853              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
1854                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
1855            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1856            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1857            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1858            IMPE            =SIMP(statut='o',typ='C' ),
1859          ),
1860          LIAISON_UNIF    =FACT(statut='f',max='**',
1861            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),),
1862            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1863            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1864            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1865            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1866            DDL             =SIMP(statut='o',typ='TXM',max='**'),
1867          ),
1868 )  ;
1869 #& MODIF COMMANDE  DATE 23/05/2006   AUTEUR CIBHHPD L.SALMONA 
1870 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1871 # ======================================================================
1872 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1873 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1874 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1875 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1876 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1877 #
1878 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1879 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1880 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1881 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1882 #
1883 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1884 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1885 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1886 # ======================================================================
1887 # RESPONSABLE VABHHTS J.PELLET
1888 def affe_char_cine_prod(MECA_IMPO,THER_IMPO,**args):
1889   if MECA_IMPO != None  : return char_cine_meca
1890   if THER_IMPO != None  : return char_cine_ther
1891   raise AsException("type de concept resultat non prevu")
1892
1893 AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
1894                     ,fr="Affectation de conditions aux limites cinématiques pour traitement sans dualisation",
1895                      reentrant='n',
1896             UIinfo={"groupes":("Modélisation",)},
1897          regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO'),
1898                  EXCLUS('MECA_IMPO','THER_IMPO'),),
1899          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1900          MECA_IMPO       =FACT(statut='f',max='**',
1901            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1902                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),),
1903            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1904            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1905            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1906            DX              =SIMP(statut='f',typ='R' ),
1907            DY              =SIMP(statut='f',typ='R' ),
1908            DZ              =SIMP(statut='f',typ='R' ),
1909            DRX             =SIMP(statut='f',typ='R' ),
1910            DRY             =SIMP(statut='f',typ='R' ),
1911            DRZ             =SIMP(statut='f',typ='R' ),
1912            GRX             =SIMP(statut='f',typ='R' ),
1913            PRES            =SIMP(statut='f',typ='R' ),
1914            TEMP            =SIMP(statut='f',typ='R' ),
1915            PHI             =SIMP(statut='f',typ='R' ),
1916          ),
1917          THER_IMPO       =FACT(statut='f',max='**',
1918            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1919                    AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP'),),
1920            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1921            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1922            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1923            TEMP_SUP        =SIMP(statut='f',typ='R' ),
1924            TEMP            =SIMP(statut='f',typ='R' ),
1925            TEMP_INF        =SIMP(statut='f',typ='R' ),
1926          ),
1927          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
1928 )  ;
1929 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
1930 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1931 # ======================================================================
1932 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1933 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1934 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1935 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1936 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1937 #
1938 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1939 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1940 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1941 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1942 #fon
1943 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1944 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1945 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1946 # ======================================================================
1947 def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args):
1948   if MECA_IMPO != None  : return char_cine_meca
1949   if THER_IMPO != None  : return char_cine_ther
1950   raise AsException("type de concept resultat non prevu")
1951
1952 AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_prod
1953                     ,fr="Affectation de conditions aux limites cinématiques pour traitement sans dualisation",
1954                      reentrant='n',
1955             UIinfo={"groupes":("Modélisation",)},
1956          regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO'),
1957                  EXCLUS('MECA_IMPO','THER_IMPO'),),
1958          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1959          MECA_IMPO       =FACT(statut='f',max='**',
1960            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1961                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),),
1962            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1963            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1964            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1965            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1966            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1967            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1968            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1969            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1970            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1971            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1972            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1973            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1974            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1975          ),
1976          THER_IMPO       =FACT(statut='f',max='**',
1977            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1978                    AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP' ),),
1979            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1980            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1981            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1982            TEMP_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1983            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1984            TEMP_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1985          ),
1986          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
1987 )  ;
1988 #& MODIF COMMANDE  DATE 08/03/2005   AUTEUR LAMARCHE S.LAMARCHE 
1989 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1990 # ======================================================================
1991 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1992 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1993 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1994 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1995 # (AT YOUR OPTION) ANY LATER VERSION.
1996 #
1997 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1998 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1999 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2000 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2001 #
2002 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2003 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2004 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2005 # ======================================================================
2006 # RESPONSABLE G8BHHXD X.DESROCHES
2007
2008 AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca
2009                     ,fr="Affectation de charges et conditions aux limites mécaniques constantes",
2010                      reentrant='n',
2011             UIinfo={"groupes":("Modélisation",)},
2012          regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','LIAISON_XFEM','FORCE_NODALE',
2013                              'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
2014                              'PRES_REP','FORCE_POUTRE','FORCE_COQUE','LIAISON_OBLIQUE',
2015                              'FORCE_ELEC','INTE_ELEC','PESANTEUR','ROTATION','IMPE_FACE',
2016                              'VITE_FACE','TEMP_CALCULEE','RELA_CINE_BP','EPSI_INIT','CONTACT',
2017                              'LIAISON_GROUP','LIAISON_UNIF','FLUX_THM_REP',
2018                              'LIAISON_SOLIDE','LIAISON_ELEM','ONDE_FLUI','PRES_CALCULEE',
2019                              'EPSA_CALCULEE','LIAISON_CHAMNO','VECT_ASSE','LIAISON_COQUE',
2020                              'LIAISON_MAIL','FORCE_TUYAU','SECH_CALCULEE','HYDR_CALCULEE',
2021                              'EFFE_FOND','EVOL_CHAR','ARLEQUIN','DDL_POUTRE','GRAPPE_FLUIDE'),
2022                  EXCLUS('PRES_CALCULEE','EVOL_CHAR'),),
2023          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2024          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2025          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
2026          TEMP_CALCULEE   =SIMP(statut='f',fr="Champ de température issu d'un autre calcul",
2027                                typ=(evol_ther,cham_no_temp_r,carte_temp_r,carte_temp_f ) ),
2028          HYDR_CALCULEE   =SIMP(statut='f',fr="Champ d hydratation issu d'un autre calcul",
2029                                typ=evol_ther ),
2030          SECH_CALCULEE   =SIMP(statut='f',fr="Champ de séchage issu d'un autre calcul",
2031                                typ=(evol_ther,cham_no_temp_r,carte_temp_r,carte_temp_f ) ),
2032          EPSA_CALCULEE   =SIMP(statut='f',fr="Champ de déformation anélastique issu d'un autre calcul",
2033                                typ=evol_noli ),
2034 #    A TERME PRES_CALCULEE N'EXISTERA PLUS
2035          EVOL_CHAR       =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul",
2036                                typ=evol_char ),
2037          PRES_CALCULEE   =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul",
2038                                typ=evol_char ),
2039
2040          PESANTEUR       =SIMP(statut='f',typ='R',fr="Champ de pesanteur",min=4,max=4),
2041          ROTATION        =SIMP(statut='f',typ='R',fr="Champ de rotation", min=4,max=4),
2042          b_rotation      =BLOC ( condition = "ROTATION != None",
2043            CENTRE          =SIMP(statut='f',typ='R',defaut=(0.,0.,0.),max=3),),
2044
2045          DDL_IMPO        =FACT(statut='f',max='**',
2046              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
2047                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
2048                                  'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
2049                                  'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
2050                                  'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
2051                                  'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON'),),
2052              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2053              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2054              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2055              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2056              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2057              LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)),
2058              DX              =SIMP(statut='f',typ='R' ),
2059              DY              =SIMP(statut='f',typ='R' ),
2060              DZ              =SIMP(statut='f',typ='R' ),
2061              DRX             =SIMP(statut='f',typ='R' ),
2062              DRY             =SIMP(statut='f',typ='R' ),
2063              DRZ             =SIMP(statut='f',typ='R' ),
2064              GRX             =SIMP(statut='f',typ='R' ),
2065              PRES            =SIMP(statut='f',typ='R' ),
2066              PHI             =SIMP(statut='f',typ='R' ),
2067              TEMP            =SIMP(statut='f',typ='R' ),
2068              PRE1            =SIMP(statut='f',typ='R' ),
2069              PRE2            =SIMP(statut='f',typ='R' ),
2070              UI2             =SIMP(statut='f',typ='R' ),
2071              UI3             =SIMP(statut='f',typ='R' ),
2072              UI4             =SIMP(statut='f',typ='R' ),
2073              UI5             =SIMP(statut='f',typ='R' ),
2074              UI6             =SIMP(statut='f',typ='R' ),
2075              UO2             =SIMP(statut='f',typ='R' ),
2076              UO3             =SIMP(statut='f',typ='R' ),
2077              UO4             =SIMP(statut='f',typ='R' ),
2078              UO5             =SIMP(statut='f',typ='R' ),
2079              UO6             =SIMP(statut='f',typ='R' ),
2080              VI2             =SIMP(statut='f',typ='R' ),
2081              VI3             =SIMP(statut='f',typ='R' ),
2082              VI4             =SIMP(statut='f',typ='R' ),
2083              VI5             =SIMP(statut='f',typ='R' ),
2084              VI6             =SIMP(statut='f',typ='R' ),
2085              VO2             =SIMP(statut='f',typ='R' ),
2086              VO3             =SIMP(statut='f',typ='R' ),
2087              VO4             =SIMP(statut='f',typ='R' ),
2088              VO5             =SIMP(statut='f',typ='R' ),
2089              VO6             =SIMP(statut='f',typ='R' ),
2090              WI2             =SIMP(statut='f',typ='R' ),
2091              WI3             =SIMP(statut='f',typ='R' ),
2092              WI4             =SIMP(statut='f',typ='R' ),
2093              WI5             =SIMP(statut='f',typ='R' ),
2094              WI6             =SIMP(statut='f',typ='R' ),
2095              WO2             =SIMP(statut='f',typ='R' ),
2096              WO3             =SIMP(statut='f',typ='R' ),
2097              WO4             =SIMP(statut='f',typ='R' ),
2098              WO5             =SIMP(statut='f',typ='R' ),
2099              WO6             =SIMP(statut='f',typ='R' ),
2100              WO              =SIMP(statut='f',typ='R' ),
2101              WI1             =SIMP(statut='f',typ='R' ),
2102              WO1             =SIMP(statut='f',typ='R' ),
2103              GONF            =SIMP(statut='f',typ='R' ),
2104            ),
2105
2106
2107
2108          DDL_POUTRE    =FACT(statut='f',max='**',
2109              regles=(AU_MOINS_UN('GROUP_NO','NOEUD'),
2110                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),
2111                      UN_PARMI('VECT_Y','ANGL_VRIL'),),
2112              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2113              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2114              DX              =SIMP(statut='f',typ='R' ),
2115              DY              =SIMP(statut='f',typ='R' ),
2116              DZ              =SIMP(statut='f',typ='R' ),
2117              DRX             =SIMP(statut='f',typ='R' ),
2118              DRY             =SIMP(statut='f',typ='R' ),
2119              DRZ             =SIMP(statut='f',typ='R' ),
2120 #  définition du repère local
2121              VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2122              ANGL_VRIL       =SIMP(statut='f',typ='R',),
2123 #  restriction sur les mailles servant à définir le repère local
2124              GROUP_MA        =SIMP(statut='f',typ=grma,),
2125              MAILLE          =SIMP(statut='f',typ=ma,),
2126                             ),
2127
2128
2129
2130            FACE_IMPO       =FACT(statut='f',max='**',
2131              regles=(UN_PARMI('GROUP_MA','MAILLE',),
2132                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
2133                                  'TEMP','PRE1','PRE2','DNOR','DTAN'),
2134                      EXCLUS('DNOR','DX'),
2135                      EXCLUS('DNOR','DY'),
2136                      EXCLUS('DNOR','DZ'),
2137                      EXCLUS('DNOR','DRX'),
2138                      EXCLUS('DNOR','DRY'),
2139                      EXCLUS('DNOR','DRZ'),
2140                      EXCLUS('DTAN','DX'),
2141                      EXCLUS('DTAN','DY'),
2142                      EXCLUS('DTAN','DZ'),
2143                      EXCLUS('DTAN','DRX'),
2144                      EXCLUS('DTAN','DRY'),
2145                      EXCLUS('DTAN','DRZ'),),
2146 #  rajout d'un mot clé REPERE :/ LOCAL /GLOBAL
2147              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2148              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2149              DX              =SIMP(statut='f',typ='R' ),
2150              DY              =SIMP(statut='f',typ='R' ),
2151              DZ              =SIMP(statut='f',typ='R' ),
2152              DRX             =SIMP(statut='f',typ='R' ),
2153              DRY             =SIMP(statut='f',typ='R' ),
2154              DRZ             =SIMP(statut='f',typ='R' ),
2155              DNOR            =SIMP(statut='f',typ='R' ),
2156              DTAN            =SIMP(statut='f',typ='R' ),
2157              GRX             =SIMP(statut='f',typ='R' ),
2158              PRES            =SIMP(statut='f',typ='R' ),
2159              PHI             =SIMP(statut='f',typ='R' ),
2160              TEMP            =SIMP(statut='f',typ='R' ),
2161              PRE1            =SIMP(statut='f',typ='R' ),
2162              PRE2            =SIMP(statut='f',typ='R' ),
2163            ),
2164
2165            LIAISON_DDL     =FACT(statut='f',max='**',
2166                                  fr="Définir une relation linéaire entre des ddls de deux ou plusieurs noeuds",
2167              regles=(UN_PARMI('GROUP_NO','NOEUD'),),
2168              GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
2169              NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
2170              DDL             =SIMP(statut='o',typ='TXM',max='**'),
2171              COEF_MULT       =SIMP(statut='o',typ='R'  ,max='**'),
2172              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2173            ),
2174
2175            LIAISON_OBLIQUE =FACT(statut='f',max='**',
2176                                  fr="Appliquer à des noeuds une valeur de déplacement dans un repere oblique",
2177              regles=(UN_PARMI('GROUP_NO','NOEUD'),
2178                      UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),),
2179              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2180              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2181              ANGL_NAUT       =SIMP(statut='o',typ='R',max=3),
2182              DX              =SIMP(statut='f',typ='R' ),
2183              DY              =SIMP(statut='f',typ='R' ),
2184              DZ              =SIMP(statut='f',typ='R' ),
2185              DRX             =SIMP(statut='f',typ='R' ),
2186              DRY             =SIMP(statut='f',typ='R' ),
2187              DRZ             =SIMP(statut='f',typ='R' ),
2188            ),
2189
2190            LIAISON_GROUP   =FACT(statut='f',max='**',
2191                                  fr="Définir des relations linéaires entre certains ddls de couples de noeuds",
2192              regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
2193                      UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
2194                      EXCLUS('GROUP_MA_1','GROUP_NO_2'),
2195                      EXCLUS('GROUP_MA_1','NOEUD_2'),
2196                      EXCLUS('GROUP_NO_1','GROUP_MA_2'),
2197                      EXCLUS('GROUP_NO_1','MAILLE_2'),
2198                      EXCLUS('MAILLE_1','GROUP_NO_2'),
2199                      EXCLUS('MAILLE_1','NOEUD_2'),
2200                      EXCLUS('NOEUD_1','GROUP_MA_2'),
2201                      EXCLUS('NOEUD_1','MAILLE_2'),
2202                      EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
2203
2204                GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2205                MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2206                GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2207                MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2208                GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2209                NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2210                GROUP_NO_2      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2211                NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2212
2213              SANS_NOEUD      =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
2214              SANS_GROUP_NO   =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
2215              DDL_1           =SIMP(statut='o',typ='TXM',max='**'),
2216              COEF_MULT_1     =SIMP(statut='o',typ='R'  ,max='**'),
2217              DDL_2           =SIMP(statut='o',typ='TXM',max='**'),
2218              COEF_MULT_2     =SIMP(statut='o',typ='R'  ,max='**'),
2219              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2220              SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2221              TRAN            =SIMP(statut='f',typ='R',max=3),
2222              ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
2223              CENTRE          =SIMP(statut='f',typ='R',max=3),
2224            ),
2225
2226            LIAISON_MAIL    =FACT(statut='f',max='**',
2227              regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'),
2228                      AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'),
2229                      PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),),
2230               GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2231               MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2232               GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2233               MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2234               GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2235               NOEUD_ESCL      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2236               TRAN            =SIMP(statut='f',typ='R',max=3 ),
2237               ANGL_NAUT       =SIMP(statut='f',typ='R',max=3 ),
2238               CENTRE          =SIMP(statut='f',typ='R',max=3 ),
2239               DDL_MAIT        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
2240               DDL_ESCL        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
2241          ),
2242
2243
2244            LIAISON_SOLIDE  =FACT(statut='f',fr="Modéliser une partie indéformable d'une structure",max='**',
2245              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
2246              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2247              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2248              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2249              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2250              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2251            ),
2252
2253            LIAISON_ELEM    =FACT(statut='f',fr="Raccorder une poutre à une partie massive 3D ou une coque",max='**',
2254              regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
2255                      UN_PARMI('GROUP_NO_2','NOEUD_2'),),
2256              OPTION          =SIMP(statut='o',typ='TXM',into=("3D_TUYAU","3D_POU","COQ_POU","COQ_TUYAU") ),
2257              GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2258              MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2259              GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2260              NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2261              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2262              CARA_ELEM       =SIMP(statut='f',typ=(cara_elem) ),
2263              AXE_POUTRE      =SIMP(statut='f',typ='R',max=3),
2264              ANGL_MAX        =SIMP(statut='f',typ='R',defaut= 1. ),
2265            ),
2266
2267            LIAISON_UNIF    =FACT(statut='f',max='**',
2268                                  fr="Imposer une meme valeur (inconnue) à des ddls d'un emsemble de noeuds",
2269              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
2270              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2271              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2272              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2273              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2274              DDL             =SIMP(statut='o',typ='TXM',max='**'),
2275            ),
2276
2277          LIAISON_CHAMNO  =FACT(statut='f',max='**',
2278                                fr="définir une relation linéaire entre tous les ddls d'un concept cham_no_sdaster",
2279 #  type de cham_no_sdaster CO()
2280              CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster), #CO()
2281              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2282              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2283            ),
2284
2285          LIAISON_XFEM      =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
2286
2287          VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
2288
2289          CONTACT         =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**',
2290            regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
2291            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
2292                                  into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
2293            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
2294            LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),                 
2295            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")),
2296            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",    
2297                                  into=("CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE") ),           
2298            PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","QUADRATIQUE") ),
2299            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2300            MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2301            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2302            MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2303            TOLE_PROJ_EXT   =SIMP(statut='f',typ='R',defaut=0.50),
2304            TOLE_PROJ_INT   =SIMP(statut='f',typ='R',defaut=0.001),
2305            ITER_MULT_MAXI  =SIMP(statut='f',typ='I',defaut=4),
2306              
2307            b_active        =BLOC(condition = "METHODE == 'CONTRAINTE' ",
2308                                  fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
2309                 regles=(EXCLUS('DIST_ESCL','COEF_IMPO'),
2310                         EXCLUS('DIST_MAIT','COEF_IMPO'),),
2311                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")),
2312                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), 
2313                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
2314                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2315                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2316                                  fr="Paramètre de la réactualisation géométrique",
2317                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2318                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2319                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2320                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2321                 COEF_IMPO       =SIMP(statut='f',typ='R'),
2322                 COEF_MULT_ESCL  =SIMP(statut='f',typ='R'),
2323                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
2324                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2325                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2326                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2327                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),),
2328            b_lagrangien    =BLOC(condition = "METHODE == 'LAGRANGIEN' ",
2329                                  fr="Paramètres de la méthode Lagrangienne (contact avec ou sans frottement)",
2330                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
2331                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
2332                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ), 
2333                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2334                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2335                                  fr="Paramètre de la réactualisation géométrique",
2336                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2337                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2338                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2339                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2340                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2341                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2342                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2343                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
2344                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2345                      COULOMB         =SIMP(statut='o',typ='R',),
2346                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
2347                      ),),
2348            b_penalisation       =BLOC(condition = "METHODE == 'PENALISATION' ",
2349                                       fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)",
2350                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
2351                 E_N             =SIMP(statut='f',typ='R'), 
2352                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
2353                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
2354                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2355                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2356                                  fr="Paramètre de la réactualisation géométrique",
2357                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2358                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2359                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2360                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2361                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2362                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2363                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2364                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
2365                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2366                      COULOMB         =SIMP(statut='o',typ='R',),
2367                      E_T             =SIMP(statut='f',typ='R',
2368                                            fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"),
2369                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
2370                      ),),
2371            b_continue      =BLOC(condition = "METHODE == 'CONTINUE' ",
2372                                  fr="Paramètres de la méthode continue (contact avec ou sans frottement)",
2373                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),
2374                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
2375                 INTEGRATION     =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2")),
2376                 COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2377                 MODL_AXIS       =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
2378                 FORMULATION     =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),                
2379                 DIRE_APPA       =SIMP(statut='f',typ='R',max=3,defaut=(0.,0.,0.,)),
2380                 ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=2),
2381                 ITER_CONT_MAXI  =SIMP(statut='f',typ='I',defaut=30),
2382                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2383                      COULOMB         =SIMP(statut='o',typ='R',),
2384                      ITER_FROT_MAXI  =SIMP(statut='f',typ='I',defaut=2),
2385                      COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2386                      SEUIL_INIT      =SIMP(statut='f',typ='R',defaut=0.E+0),),),
2387          ),      
2388
2389          FORCE_NODALE    =FACT(statut='f',fr="Imposer des forces nodales en des noeuds",max='**',
2390            regles=(AU_MOINS_UN('GROUP_NO','NOEUD'),
2391                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
2392            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2393            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2394            FX              =SIMP(statut='f',typ='R' ),
2395            FY              =SIMP(statut='f',typ='R' ),
2396            FZ              =SIMP(statut='f',typ='R' ),
2397            MX              =SIMP(statut='f',typ='R' ),
2398            MY              =SIMP(statut='f',typ='R' ),
2399            MZ              =SIMP(statut='f',typ='R' ),
2400            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
2401          ),
2402
2403          FORCE_FACE      =FACT(statut='f',max='**',
2404                                fr="Appliquer des forces surfaciques sur une face d'éléments volumiques",
2405              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
2406                      AU_MOINS_UN('FX','FY','FZ'),),
2407              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2408              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2409              FX              =SIMP(statut='f',typ='R' ),
2410              FY              =SIMP(statut='f',typ='R' ),
2411              FZ              =SIMP(statut='f',typ='R' ),
2412            ),
2413
2414          FORCE_ARETE     =FACT(statut='f',max='**',
2415                                fr="Appliquer des forces linéiques à une arete d élément volumique ou de coque",
2416              regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),
2417                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
2418              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2419              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2420              FX              =SIMP(statut='f',typ='R' ),
2421              FY              =SIMP(statut='f',typ='R' ),
2422              FZ              =SIMP(statut='f',typ='R' ),
2423              MX              =SIMP(statut='f',typ='R' ),
2424              MY              =SIMP(statut='f',typ='R' ),
2425              MZ              =SIMP(statut='f',typ='R' ),
2426            ),
2427
2428          FORCE_CONTOUR   =FACT(statut='f',max='**',
2429                                fr="Appliquer des forces linéiques au bord d'un domaine 2D ou AXIS_FOURIER",
2430              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
2431                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
2432              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2433              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2434              FX              =SIMP(statut='f',typ='R' ),
2435              FY              =SIMP(statut='f',typ='R' ),
2436              FZ              =SIMP(statut='f',typ='R' ),
2437              MX              =SIMP(statut='f',typ='R' ),
2438              MY              =SIMP(statut='f',typ='R' ),
2439              MZ              =SIMP(statut='f',typ='R' ),
2440            ),
2441
2442          FORCE_INTERNE   =FACT(statut='f',max='**',
2443                                fr="Appliquer des forces volumiques (2D ou 3D) à un domaine volumique",
2444              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2445                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2446                      AU_MOINS_UN('FX','FY','FZ' ),),
2447              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2448              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2449              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2450              FX              =SIMP(statut='f',typ='R' ),
2451              FY              =SIMP(statut='f',typ='R' ),
2452              FZ              =SIMP(statut='f',typ='R' ),
2453            ),
2454
2455          PRES_REP        =FACT(statut='f',max='**',
2456                                fr="Appliquer une pression à un domaine de milieu continu 2D ou 3D",
2457              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2458                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2459                      AU_MOINS_UN('PRES','CISA_2D' ),),
2460              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2461              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2462              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2463              PRES            =SIMP(statut='f',typ='R' ),
2464              CISA_2D         =SIMP(statut='f',typ='R' ),
2465            ),
2466
2467          EFFE_FOND       =FACT(statut='f',fr="Imposer un effet de fond",max='**',
2468            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2469            GROUP_MA_INT    =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
2470            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2471            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2472            PRES            =SIMP(statut='o',typ='R' ),
2473          ),
2474
2475          EPSI_INIT       =FACT(statut='f',max='**',
2476                                fr="Appliquer un chargement de déformation initiale à un volume 3D ou 2D",
2477              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2478                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2479                      AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ','EPX',
2480                                  'KY','KZ','EXX','EYY','EXY','KXX','KYY','KXY'),),
2481              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2482              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2483              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2484              EPXX            =SIMP(statut='f',typ='R' ),
2485              EPYY            =SIMP(statut='f',typ='R' ),
2486              EPZZ            =SIMP(statut='f',typ='R' ),
2487              EPXY            =SIMP(statut='f',typ='R' ),
2488              EPXZ            =SIMP(statut='f',typ='R' ),
2489              EPYZ            =SIMP(statut='f',typ='R' ),
2490              EPX             =SIMP(statut='f',typ='R' ),
2491              KY              =SIMP(statut='f',typ='R' ),
2492              KZ              =SIMP(statut='f',typ='R' ),
2493              EXX             =SIMP(statut='f',typ='R' ),
2494              EYY             =SIMP(statut='f',typ='R' ),
2495              EXY             =SIMP(statut='f',typ='R' ),
2496              KXX             =SIMP(statut='f',typ='R' ),
2497              KYY             =SIMP(statut='f',typ='R' ),
2498              KXY             =SIMP(statut='f',typ='R' ),
2499            ),
2500
2501          ARLEQUIN        =FACT(statut='f',min=1,max='**',
2502            GROUP_MA_1     =SIMP(statut='o',typ=grma,max='**'),
2503            GROUP_MA_2     =SIMP(statut='o',typ=grma,max='**'),
2504            GROUP_MA_COLL  =SIMP(statut='f',typ=grma,max='**'),
2505            CARA_ELEM      =SIMP(statut='f',typ=cara_elem ),
2506            COND_LIM       =SIMP(statut='f',typ=char_meca ),
2507            COLLAGE        =SIMP(statut='f',typ='TXM',defaut="GROSSIER",into=("GROSSIER","FIN","GROUP_MA_1","GROUP_MA_2"),),
2508            regles         =(UN_PARMI('POIDS_1','POIDS_2','POIDS_GROSSIER','POIDS_FIN',),),
2509            POIDS_1        =SIMP(statut='f',typ='R'),
2510            POIDS_2        =SIMP(statut='f',typ='R'),
2511            POIDS_GROSSIER =SIMP(statut='f',typ='R'),
2512            POIDS_FIN      =SIMP(statut='f',typ='R'),),
2513
2514         FORCE_POUTRE    =FACT(statut='f',fr="Appliquer des forces linéiques sur des poutres",max='**',
2515              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2516                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2517                      AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'),
2518                      PRESENT_ABSENT('FX','N','VY','VZ'),
2519                      PRESENT_ABSENT('FY','N','VY','VZ'),
2520                      PRESENT_ABSENT('FZ','N','VY','VZ'),
2521                      PRESENT_ABSENT('N','FX','FY','FZ'),
2522                      PRESENT_ABSENT('VY','FX','FY','FZ'),
2523                      PRESENT_ABSENT('VZ','FX','FY','FZ'),),
2524              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2525              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2526              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2527              TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE",) ),
2528 #  rajour d'un mot clé REPERE :/ LOCAL /GLOBAL
2529                FX              =SIMP(statut='f',typ='R' ),
2530                FY              =SIMP(statut='f',typ='R' ),
2531                FZ              =SIMP(statut='f',typ='R' ),
2532
2533                N               =SIMP(statut='f',typ='R' ),
2534                VY              =SIMP(statut='f',typ='R' ),
2535                VZ              =SIMP(statut='f',typ='R' ),
2536
2537            ),
2538
2539          FORCE_TUYAU     =FACT(statut='f',fr="imposer une pression dans un élément TUYAU",max='**',
2540              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2541                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
2542              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2543              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2544              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2545              PRES            =SIMP(statut='f',typ='R' ),
2546            ),
2547
2548          FORCE_COQUE     =FACT(statut='f',fr="Appliquer des forces surfaciques sur des coques",max='**',
2549              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2550                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2551                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),
2552                      PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
2553                      PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
2554                      PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
2555                      PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
2556                      PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
2557                      PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
2558                      PRESENT_ABSENT('F1','FX','FY','FZ','MX','MY','MZ','PRES'),
2559                      PRESENT_ABSENT('F2','FX','FY','FZ','MX','MY','MZ','PRES'),
2560                      PRESENT_ABSENT('F3','FX','FY','FZ','MX','MY','MZ','PRES'),
2561                      PRESENT_ABSENT('MF1','FX','FY','FZ','MX','MY','MZ','PRES'),
2562                      PRESENT_ABSENT('MF2','FX','FY','FZ','MX','MY','MZ','PRES'),
2563                      PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
2564 #  rajour d'un mot clé REPERE :/ LOCAL /GLOBAL
2565              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2566              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2567              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2568
2569                FX              =SIMP(statut='f',typ='R' ),
2570                FY              =SIMP(statut='f',typ='R' ),
2571                FZ              =SIMP(statut='f',typ='R' ),
2572                MX              =SIMP(statut='f',typ='R' ),
2573                MY              =SIMP(statut='f',typ='R' ),
2574                MZ              =SIMP(statut='f',typ='R' ),
2575
2576                F1              =SIMP(statut='f',typ='R' ),
2577                F2              =SIMP(statut='f',typ='R' ),
2578                F3              =SIMP(statut='f',typ='R' ),
2579                MF1             =SIMP(statut='f',typ='R' ),
2580                MF2             =SIMP(statut='f',typ='R' ),
2581
2582              PRES            =SIMP(statut='f',typ='R' ),
2583              PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL",) ),
2584            ),
2585
2586
2587            GRAPPE_FLUIDE   =FACT(statut='f',max='**',
2588              regles=(EXCLUS('GROUP_NO_EXTR','NOEUD_EXTR'),
2589                      EXCLUS('GROUP_NO_ORIG','NOEUD_ORIG'),
2590                      PRESENT_PRESENT('CARA_HYDR','VALE_HYDR'),
2591                      PRESENT_PRESENT('CARA_GRAPPE','VALE_GRAPPE'),
2592                      PRESENT_PRESENT('CARA_COMMANDE','VALE_COMMANDE'),
2593                      PRESENT_PRESENT('CARA_MANCHETTE','VALE_MANCHETTE'),
2594                      PRESENT_PRESENT('CARA_GUIDE','VALE_GUIDE'),
2595                      PRESENT_PRESENT('CARA_ASSEMBLAGE','VALE_ASSEMBLAGE'),
2596                      PRESENT_PRESENT('CARA_PDC','VALE_PDC'),),
2597              GROUP_MA        =SIMP(statut='f',typ=grma,max=1),
2598              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,max=1),
2599              NOEUD_EXTR      =SIMP(statut='f',typ=no,max=1),
2600              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,max=1),
2601              NOEUD_ORIG      =SIMP(statut='f',typ=no,max=1),
2602              Z0              =SIMP(statut='f',typ='R' ),
2603              CARA_HYDR       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2604                                  fr="définition des données hydrauliques",
2605                                  into=("Q","ROC","ROD","ROP","ROM","ROML","ROG","NUC","NUM",
2606                                        "NUML","NUG","P2","P3","P4","CGG","G") ),
2607              VALE_HYDR       =SIMP(statut='f',typ='R',max='**',
2608                                  fr="valeurs des données hydrauliques",),
2609              CARA_GRAPPE     =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2610                                  fr="définition des données géométriques de la grappe",
2611                                  into=("M","DTIGE","DTMOY","ROTIGE","LTIGE","LLT","LCT",
2612                                        "VARAI","RORAI","DCRAY","ROCRAY","LCRAY","LCHUT",
2613                                        "CFCM","CFCI","CFCG","HRUGC","HRUGTC","NCA") ),
2614              VALE_GRAPPE     =SIMP(statut='f',typ='R',max='**',
2615                                  fr="valeurs des données géométriques de la grappe",),
2616              CARA_COMMANDE   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2617                                  fr="définition des données géométriques du mécanisme de commande",
2618                                  into=("LI","LML","LG","LIG","DIML","DEML","DCSP",
2619                                        "DG","HRUGML","HRUGCSP","HRUGG") ),
2620              VALE_COMMANDE   =SIMP(statut='f',typ='R',max='**',
2621                                  fr="valeurs des données géométriques du mécanisme de commande",),
2622              CARA_MANCHETTE  =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2623                                  fr="définition des données géométriques de la manchette et son adaptateur",
2624                                  into=("LM","LA","LIM","DIMT","DEMT","DCMT","VMT",
2625                                        "ROMT","DA","HRUGM","HRUGA") ),
2626              VALE_MANCHETTE  =SIMP(statut='f',typ='R',max='**',
2627                                  fr="valeurs des données géométriques de la manchette et son adaptateur",),
2628              CARA_GUIDE      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2629                                  fr="définition des données géométriques des tubes guides",
2630                                  into=("NRET","L0","L1","L2","L3","L4","DTG","DR",
2631                                        "DOR","D0","D00","HRUGTG") ),
2632              VALE_GUIDE      =SIMP(statut='f',typ='R',max='**',
2633                                  fr="valeurs des données géométriques des tubes guides",),
2634              CARA_ASSEMBLAGE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2635                                  fr="définition des données géométriques des assemblages",
2636                                  into=("SASS","DCC","DTI","NGM","NGMDP","KM","KS","KI",
2637                                        "KES","KEI","KF") ),
2638              VALE_ASSEMBLAGE =SIMP(statut='f',typ='R',max='**',
2639                                  fr="valeurs des données géométriques des assemblages",),
2640              CARA_PDC        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2641                                  fr="définition des coefficients de perte de charge singulière",
2642                                  into=("CD0","CD1","CD2","CDELARG","CDRET","CDM","CDA","CDML",
2643                                        "CDI","CDG") ),
2644              VALE_PDC        =SIMP(statut='f',typ='R',max='**',
2645                                  fr="valeurs des coefficients de perte de charge singulière",),
2646              APPL_FORC_ARCHI  =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2647                                  fr="application de la force d'archimède",
2648                                  into=("REPARTIE","CDG") ),
2649              APPL_FORC_FPLAQ  =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2650                                  fr="application de la force de plaquage dans le guidage continu",
2651                                  into=("REPARTIE","CDG","ZONE","MILIEU","DISTRI") ),
2652              APPL_FORC_FMEC   =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2653                                  fr="application de la force dans le mécanisme de levée",
2654                                  into=("REPARTIE","CDG","ZONE","PTREP") ),
2655              APPL_FORC_FTG    =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2656                                  fr="application de la force tube_guide",
2657                                  into=("REPARTIE","CDG","ZONE","PTREP") ),
2658              DIRE_FORC_FPLAQ  =SIMP(statut='f',typ='R',min=3,max=3,
2659                                  fr="direction d'application de la force de plaquage",),
2660              b_CDG    =BLOC(condition = "(APPL_FORC_ARCHI == 'CDG') or (APPL_FORC_FPLAQ == 'CDG') or \
2661                                          (APPL_FORC_FMEC  == 'CDG') or (APPL_FORC_FTG   == 'CDG')",
2662                 MASS_INER        =SIMP(statut='o',typ=tabl_mass_iner ),
2663              ),
2664              UNITE_IMPR_FORCE =SIMP(statut='f',typ='I',
2665                                  fr="unité d'impression des forces",),
2666              UNITE_IMPR_NOEUD =SIMP(statut='f',typ='I',
2667                                  fr="unité d'impression des noeuds par zone",),
2668            ),
2669
2670            LIAISON_COQUE   =FACT(statut='f',max='**',
2671              GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2672              MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2673              GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2674              NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2675              GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2676              MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2677              GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2678              NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2679              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2680            ),
2681
2682          RELA_CINE_BP    =FACT(statut='f',max='**',
2683            CABLE_BP        =SIMP(statut='o',typ=cabl_precont ),
2684            SIGM_BPEL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
2685            RELA_CINE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2686          ),
2687
2688          FORCE_ELEC      =FACT(statut='f',max='**',
2689                                fr="Force de Laplace due à la présence d'un conducteur rectiligne secondaire non maillé",
2690              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2691                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
2692
2693              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2694              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2695              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2696
2697              POSITION        =SIMP(statut='f',typ='TXM',fr="Direction prédéfinie",into=("PARA","INFI","FINI",) ),
2698              b_fxyz  =BLOC ( condition = "POSITION == None",
2699                   FX   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2700                   FY   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2701                   FZ   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2702                        ),
2703
2704              b_para     =BLOC ( condition = "POSITION == 'PARA'",
2705                regles=(UN_PARMI('TRANS','DIST'),),
2706                TRANS           =SIMP(statut='f',typ='R',max=3),
2707                DIST            =SIMP(statut='f',typ='R' ),
2708                b_point2        =BLOC ( condition = "DIST != None",
2709                  POINT2           =SIMP(statut='o',typ='R',max=3),
2710                ),
2711              ),
2712              b_fini_infi     =BLOC ( condition = "(POSITION == 'FINI') or (POSITION == 'INFI')",
2713                POINT1          =SIMP(statut='o',typ='R',max=3),
2714                POINT2          =SIMP(statut='o',typ='R',max=3),
2715              ),
2716            ),
2717
2718
2719
2720
2721         INTE_ELEC       =FACT(statut='f',max='**',
2722                               fr="Force de Laplace due à la présence d'un conducteur non rectiligne secondaire",
2723              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2724                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2725                      AU_MOINS_UN('GROUP_MA_2','MAILLE_2','TRANS','SYME'),
2726                      EXCLUS('TRANS','SYME'),),
2727              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2728              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2729              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2730              GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2731              MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2732              TRANS           =SIMP(statut='f',typ='R' ,max='**'),
2733              SYME            =SIMP(statut='f',typ='R' ,max='**'),
2734            ),
2735
2736
2737          IMPE_FACE       =FACT(statut='f',fr="Appliquer une impédance acoustique à une face",max='**',
2738              regles=(AU_MOINS_UN('GROUP_MA','MAILLE' ),),
2739              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2740              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2741              IMPE            =SIMP(statut='o',typ='R' ),
2742            ),
2743
2744          VITE_FACE       =FACT(statut='f',fr="Imposer des vitesses acoustiquesnormales à une face",max='**',
2745              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2746              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2747              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2748              VNOR            =SIMP(statut='o',typ='R' ),
2749            ),
2750
2751
2752
2753          ONDE_FLUI       =FACT(statut='f',fr="Appliquer une amplitude de pression d onde incidente",max='**',
2754              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2755              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2756              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2757              PRES            =SIMP(statut='o',typ='R' ),
2758            ),
2759
2760          FLUX_THM_REP    =FACT(statut='f',max='**',
2761              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2762                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2763                      AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
2764              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2765              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2766              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2767              FLUN            =SIMP(statut='f',typ='R' ),
2768              FLUN_HYDR1      =SIMP(statut='f',typ='R' ),
2769              FLUN_HYDR2      =SIMP(statut='f',typ='R' ),
2770            ),
2771
2772          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
2773 )  ;
2774
2775
2776 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
2777 #            CONFIGURATION MANAGEMENT OF EDF VERSION
2778 # ======================================================================
2779 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
2780 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2781 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2782 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
2783 # (AT YOUR OPTION) ANY LATER VERSION.                                 
2784 #
2785 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
2786 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
2787 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
2788 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
2789 #
2790 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
2791 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
2792 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
2793 # ======================================================================
2794 # RESPONSABLE G8BHHXD X.DESROCHES
2795 AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op=   7,sd_prod=char_meca,
2796                      fr="Affectation de charges et conditions aux limites mécaniques complexes",
2797                      reentrant='n',
2798             UIinfo={"groupes":("Modélisation",)},
2799          regles=(AU_MOINS_UN('DDL_IMPO','FORCE_POUTRE','LIAISON_DDL', ),),
2800          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
2801          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2802          DDL_IMPO        =FACT(statut='f',max='**',
2803            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),
2804                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','LIAISON', ),),
2805            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2806            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2807            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2808            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2809            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2810            LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), 
2811            DX              =SIMP(statut='f',typ='C' ),
2812            DY              =SIMP(statut='f',typ='C' ),
2813            DZ              =SIMP(statut='f',typ='C' ),
2814            DRX             =SIMP(statut='f',typ='C' ),
2815            DRY             =SIMP(statut='f',typ='C' ),
2816            DRZ             =SIMP(statut='f',typ='C' ),
2817            GRX             =SIMP(statut='f',typ='C' ),
2818            PRES            =SIMP(statut='f',typ='C' ),
2819            PHI             =SIMP(statut='f',typ='C' ),
2820          ),
2821          FORCE_POUTRE    =FACT(statut='f',max='**',
2822            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2823                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2824                    AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',),
2825                    PRESENT_ABSENT('FX','N','VY','VZ',),
2826                    PRESENT_ABSENT('FY','N','VY','VZ',),
2827                    PRESENT_ABSENT('FZ','N','VY','VZ',),
2828                    PRESENT_ABSENT('N','FX','FY','FZ',),
2829                    PRESENT_ABSENT('VY', 'FX','FY','FZ',),
2830                    PRESENT_ABSENT('VZ','FX','FY','FZ', ),),
2831            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2832            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2833            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2834            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
2835            FX              =SIMP(statut='f',typ='C' ),
2836            FY              =SIMP(statut='f',typ='C' ),
2837            FZ              =SIMP(statut='f',typ='C' ),
2838            N               =SIMP(statut='f',typ='C' ),
2839            VY              =SIMP(statut='f',typ='C' ),
2840            VZ              =SIMP(statut='f',typ='C' ),
2841          ),
2842          LIAISON_DDL     =FACT(statut='f',max='**',
2843            regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
2844            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2845            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
2846            DDL             =SIMP(statut='o',typ='TXM',max='**'),
2847            COEF_MULT       =SIMP(statut='o',typ='R'  ,max='**'),
2848            COEF_IMPO       =SIMP(statut='o',typ='C' ),
2849          ),
2850          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
2851 )  ;
2852 #& MODIF COMMANDE  DATE 02/11/2004   AUTEUR MABBAS M.ABBAS 
2853 #            CONFIGURATION MANAGEMENT OF EDF VERSION
2854 # ======================================================================
2855 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
2856 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2857 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2858 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
2859 # (AT YOUR OPTION) ANY LATER VERSION.                                 
2860 #
2861 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
2862 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
2863 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
2864 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
2865 #
2866 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
2867 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
2868 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
2869 # ======================================================================
2870 # RESPONSABLE G8BHHXD X.DESROCHES
2871 AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
2872                       fr="Affectation de charges et conditions aux limites mécaniques fonction d une grandeur",
2873                       reentrant='n',
2874             UIinfo={"groupes":("Modélisation",)},
2875         regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE',
2876                             'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
2877                             'PRES_REP','FORCE_POUTRE','VITE_FACE','IMPE_FACE','ONDE_PLANE',
2878                             'LIAISON_OBLIQUE','EPSI_INIT','LIAISON_GROUP','LIAISON_UNIF',
2879                             'LIAISON_SOLIDE','FORCE_COQUE','LIAISON_COQUE','FORCE_TUYAU',
2880                             'CONTACT','EFFE_FOND','FLUX_THM_REP'),),
2881          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2882          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2883          MODELE          =SIMP(statut='o',typ=modele_sdaster),
2884
2885          DDL_IMPO        =FACT(statut='f',max='**',
2886            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
2887                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
2888                                'TEMP','PRE1','PRE2','LIAISON',),),
2889            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2890            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2891            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2892            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2893            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2894            LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), 
2895            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2896            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2897            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2898            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2899            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2900            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2901            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2902            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2903            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2904            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2905            PRE1            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2906            PRE2            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2907          ),
2908
2909          FACE_IMPO       =FACT(statut='f',max='**',
2910            regles=(UN_PARMI('GROUP_MA','MAILLE'),
2911                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','TEMP','PRE1','PRE2','DNOR','DTAN'),
2912                    EXCLUS('DNOR','DX'),
2913                    EXCLUS('DNOR','DY'),
2914                    EXCLUS('DNOR','DZ'),
2915                    EXCLUS('DNOR','DRX'),
2916                    EXCLUS('DNOR','DRY'),
2917                    EXCLUS('DNOR','DRZ'),
2918                    EXCLUS('DTAN','DX'),
2919                    EXCLUS('DTAN','DY'),
2920                    EXCLUS('DTAN','DZ'),
2921                    EXCLUS('DTAN','DRX'),
2922                    EXCLUS('DTAN','DRY'),
2923                    EXCLUS('DTAN','DRZ'),),
2924 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
2925            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2926            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2927            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2928            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2929            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2930            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2931            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2932            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2933            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2934            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2935            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2936            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2937            PRE1            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2938            PRE2            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2939            DNOR            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2940            DTAN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2941          ),
2942          
2943          LIAISON_DDL     =FACT(statut='f',max='**',
2944                                fr="Définir une relation linéaire entre des ddls de deux ou plusieurs noeuds",
2945            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
2946            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2947            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
2948            DDL             =SIMP(statut='o',typ='TXM',max='**'),
2949            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
2950            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2951          ),
2952
2953          LIAISON_OBLIQUE =FACT(statut='f',max='**',
2954                                fr="Définir des relations linéaires entre certains ddls de couples de noeuds",
2955            regles=(UN_PARMI('GROUP_NO','NOEUD'),
2956                    UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),),
2957            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2958            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
2959            ANGL_NAUT       =SIMP(statut='o',typ='R',max=3),
2960            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2961            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2962            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2963            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2964            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2965            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2966          ),         
2967          
2968          LIAISON_GROUP   =FACT(statut='f',max='**',
2969                                fr="Définir des relations linéaires entre certains ddls de couples de noeuds",
2970            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
2971                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
2972                    EXCLUS('GROUP_MA_1','GROUP_NO_2'),
2973                    EXCLUS('GROUP_MA_1','NOEUD_2'),
2974                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
2975                    EXCLUS('GROUP_NO_1','MAILLE_2'),
2976                    EXCLUS('MAILLE_1','GROUP_NO_2'),
2977                    EXCLUS('MAILLE_1','NOEUD_2'),
2978                    EXCLUS('NOEUD_1','GROUP_MA_2'),
2979                    EXCLUS('NOEUD_1','MAILLE_2'),
2980                    EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
2981            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2982            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2983            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2984            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2985            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2986            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2987            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2988            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2989            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2990            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2991            DDL_1           =SIMP(statut='o',typ='TXM',max='**'),
2992            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
2993            DDL_2           =SIMP(statut='o',typ='TXM',max='**'),
2994            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
2995            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2996            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2997            TRAN            =SIMP(statut='f',typ='R',max=3),
2998            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
2999            CENTRE          =SIMP(statut='f',typ='R',max=3),
3000          ),
3001
3002          CONTACT         =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**',
3003            regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
3004            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
3005                                  into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
3006            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
3007            LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),                 
3008            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")),
3009            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",    
3010                                  into=("CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE") ),           
3011            PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","QUADRATIQUE") ),
3012            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3013            MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3014            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3015            MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3016            TOLE_PROJ_EXT   =SIMP(statut='f',typ='R',defaut=0.50),  
3017            TOLE_PROJ_INT   =SIMP(statut='f',typ='R',defaut=0.001), 
3018            ITER_MULT_MAXI  =SIMP(statut='f',typ='I',defaut=4),           
3019            b_active        =BLOC(condition = "METHODE == 'CONTRAINTE' ",
3020                                  fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
3021                 regles=(EXCLUS('DIST_ESCL','COEF_IMPO'),
3022                         EXCLUS('DIST_MAIT','COEF_IMPO'),),
3023                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")),
3024                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), 
3025                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
3026                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
3027                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
3028                                  fr="Paramètre de la réactualisation géométrique",
3029                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
3030                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3031                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3032                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
3033                 COEF_IMPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3034                 COEF_MULT_ESCL  =SIMP(statut='f',typ='R'),
3035                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
3036                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
3037                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3038                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3039                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),),
3040            b_lagrangien    =BLOC(condition = "METHODE == 'LAGRANGIEN' ",
3041                                  fr="Paramètres de la méthode Lagrangienne (contact avec ou sans frottement)",
3042                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
3043                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
3044                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ), 
3045                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
3046                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
3047                                  fr="Paramètre de la réactualisation géométrique",
3048                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
3049                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3050                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3051                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
3052                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3053                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3054                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
3055                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
3056                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
3057                      COULOMB         =SIMP(statut='o',typ='R',),
3058                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
3059                      ),),
3060            b_penalisation       =BLOC(condition = "METHODE == 'PENALISATION' ",
3061                                       fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)",
3062                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
3063                 E_N             =SIMP(statut='f',typ='R'), 
3064                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
3065                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ), 
3066                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
3067                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
3068                                  fr="Paramètre de la réactualisation géométrique",
3069                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
3070                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3071                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3072                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
3073                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3074                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3075                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
3076                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
3077                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
3078                      COULOMB         =SIMP(statut='o',typ='R',),
3079                      E_T             =SIMP(statut='f',typ='R',
3080                                            fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"),
3081                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
3082                      ),),
3083            b_continue      =BLOC(condition = "METHODE == 'CONTINUE' ",
3084                                  fr="Paramètres de la méthode continue (contact avec ou sans frottement)",
3085                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
3086                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
3087                 INTEGRATION     =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2")),
3088                 COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
3089                 FORMULATION     =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),
3090                 MODL_AXIS       =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
3091                 DIRE_APPA       =SIMP(statut='f',typ='R',max=3),
3092                 ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=2),
3093                 ITER_CONT_MAXI  =SIMP(statut='f',typ='I',defaut=30),
3094                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
3095                      COULOMB         =SIMP(statut='o',typ='R',),
3096                      ITER_FROT_MAXI  =SIMP(statut='f',typ='I',defaut=2),
3097                      COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
3098                      SEUIL_INIT      =SIMP(statut='f',typ='I',defaut=0),),),
3099          ),        
3100          
3101           LIAISON_UNIF    =FACT(statut='f',max='**',
3102                                fr="Imposer une meme valeur (inconnue) a des ddls d un emsemble de noeuds",
3103            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3104            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3105            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3106            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3107            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3108            DDL             =SIMP(statut='o',typ='TXM',max='**'),
3109          ),
3110
3111          LIAISON_SOLIDE  =FACT(statut='f',max='**',
3112                                fr="Modéliser une partie indéformable d une structure",
3113            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3114            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3115            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3116            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3117            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3118            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
3119          ),
3120
3121
3122
3123          FORCE_NODALE    =FACT(statut='f',max='**',
3124            regles=(UN_PARMI('GROUP_NO','NOEUD'),
3125                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
3126            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3127            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3128            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3129            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3130            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3131            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3132            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3133            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3134            ANGL_NAUT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max=3 ),
3135          ),
3136
3137          FORCE_FACE      =FACT(statut='f',max='**',
3138            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3139                    AU_MOINS_UN('FX','FY','FZ'),),
3140            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3141            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3142            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3143            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3144            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3145          ),
3146          FORCE_ARETE     =FACT(statut='f',max='**',
3147            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3148                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
3149            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3150            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3151            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3152            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3153            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3154            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3155            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3156            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3157          ),
3158          FORCE_CONTOUR   =FACT(statut='f',max='**',
3159            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3160                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
3161            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3162            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3163            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3164            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3165            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3166            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3167            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3168            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3169          ),
3170
3171          FORCE_INTERNE   =FACT(statut='f',max='**',
3172            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3173                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3174                    AU_MOINS_UN('FX','FY','FZ'),),
3175            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3176            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3177            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3178            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3179            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3180            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3181          ),
3182          
3183          PRES_REP        =FACT(statut='f',max='**',
3184            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3185                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3186                    AU_MOINS_UN('PRES','CISA_2D'),),
3187            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3188            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3189            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3190            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3191            CISA_2D         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3192          ),
3193
3194          EFFE_FOND       =FACT(statut='f',fr="Imposer un effet de fond",max='**',
3195            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
3196            GROUP_MA_INT    =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
3197            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3198            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3199            PRES            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3200          ),
3201
3202          EPSI_INIT       =FACT(statut='f',max='**',
3203            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3204                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3205                    AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ'),),
3206            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3207            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3208            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3209            EPXX            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3210            EPYY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3211            EPZZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3212            EPXY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3213            EPXZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3214            EPYZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3215          ),
3216          
3217          FORCE_POUTRE    =FACT(statut='f',max='**',
3218            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3219                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3220                    AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'),
3221                    PRESENT_ABSENT('FX','N','VY','VZ'),
3222                    PRESENT_ABSENT('FY','N','VY','VZ'),
3223                    PRESENT_ABSENT('FZ','N','VY','VZ'),
3224                    PRESENT_ABSENT('N','FX','FY','FZ'),
3225                    PRESENT_ABSENT('VY','FX','FY','FZ'),
3226                    PRESENT_ABSENT('VZ','FX','FY','FZ'),),
3227 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
3228            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3229            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3230            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3231            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
3232            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3233            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3234            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3235            N               =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3236            VY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3237            VZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3238          ),
3239
3240          FORCE_TUYAU     =FACT(statut='f',max='**',
3241            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3242                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3243            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3244            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3245            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3246            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3247          ),
3248          
3249          FORCE_COQUE     =FACT(statut='f',max='**',
3250            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3251                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3252                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),
3253                    PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
3254                    PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
3255                    PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
3256                    PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
3257                    PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
3258                    PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
3259                    PRESENT_ABSENT('F1','PRES','FX','FY','FZ','MX','MY','MZ'),
3260                    PRESENT_ABSENT('F2','PRES','FX','FY','FZ','MX','MY','MZ'),
3261                    PRESENT_ABSENT('F3','PRES','FX','FY','FZ','MX','MY','MZ'),
3262                    PRESENT_ABSENT('MF1','PRES','FX','FY','FZ','MX','MY','MZ'),
3263                    PRESENT_ABSENT('MF2','PRES','FX','FY','FZ','MX','MY','MZ'),
3264                    PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
3265 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
3266            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3267            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3268            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3269            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3270            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3271            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3272            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3273            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3274            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3275            F1              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3276            F2              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3277            F3              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3278            MF1             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3279            MF2             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3280            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3281            PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",
3282                                  into=("SUP","INF","MOY","MAIL") ),
3283          ),
3284
3285          LIAISON_COQUE   =FACT(statut='f',max='**',
3286            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3287            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3288            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3289            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3290            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3291            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3292            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3293            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3294            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
3295          ),         
3296          
3297
3298          VITE_FACE       =FACT(statut='f',max='**',
3299            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3300                    PRESENT_ABSENT('GROUP_MA','MAILLE'),),
3301            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3302            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3303            VNOR            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3304          ),
3305          IMPE_FACE       =FACT(statut='f',max='**',
3306            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3307                    PRESENT_ABSENT('GROUP_MA','MAILLE'),),
3308            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3309            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3310            IMPE            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3311          ),
3312          ONDE_PLANE      =FACT(statut='f',max='**',
3313            DIRECTION       =SIMP(statut='o',typ='R',max='**'),
3314            TYPE_ONDE       =SIMP(statut='o',typ='TXM' ),
3315            FONC_SIGNAL     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3316            DIST_ORIG       =SIMP(statut='o',typ='R' ),
3317          ),
3318
3319
3320
3321          FLUX_THM_REP    =FACT(statut='f',max='**',
3322            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3323                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3324                    AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
3325            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3326            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3327            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3328            FLUN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3329            FLUN_HYDR1      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3330            FLUN_HYDR2      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3331          ),
3332
3333          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
3334 )  ;
3335
3336
3337 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3338 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3339 # ======================================================================
3340 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3341 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3342 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3343 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3344 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3345 #
3346 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3347 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3348 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3349 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3350 #
3351 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3352 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3353 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3354 # ======================================================================
3355 AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther,
3356                       fr=" ",
3357                       reentrant='n',
3358             UIinfo={"groupes":("Outils métier",)},
3359          regles=(AU_MOINS_UN('CARA_TORSION', ),),
3360          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
3361          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",
3362                                into=("OUI","NON") ),
3363          CARA_TORSION    =FACT(statut='f',max='**',
3364            regles=(UN_PARMI('TOUT','GROUP_MA'),),
3365            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3366            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3367          ),
3368          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
3369 )  ;
3370 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3371 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3372 # ======================================================================
3373 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3374 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3375 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3376 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3377 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3378 #
3379 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3380 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3381 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3382 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3383 #
3384 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3385 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3386 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3387 # ======================================================================
3388 AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther
3389                     ,fr="Affectation de charges et conditions aux limites thermiques constantes",
3390                     reentrant='n',
3391             UIinfo={"groupes":("Modélisation",)},
3392       regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','ECHANGE',
3393                           'ECHANGE_PAROI','GRAD_TEMP_INIT','LIAISON_DDL','LIAISON_GROUP',
3394                           'LIAISON_UNIF','LIAISON_CHAMNO','RAYONNEMENT','LIAISON_MAIL' ),),
3395          VERI_DDL        =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="OUI"),
3396          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
3397
3398          TEMP_IMPO       =FACT(statut='f',max='**',
3399            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
3400                    AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF'),),
3401            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3402            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3403            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3404            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3405            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3406            TEMP            =SIMP(statut='f',typ='R'),
3407            TEMP_INF        =SIMP(statut='f',typ='R'),
3408            TEMP_SUP        =SIMP(statut='f',typ='R'), ),
3409
3410          FLUX_REP        =FACT(statut='f',max='**',
3411            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3412                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3413                    PRESENT_PRESENT('CARA_TORSION','GROUP_MA'),
3414                    AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','CARA_TORSION') ),
3415            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3416            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3417            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3418            FLUN            =SIMP(statut='f',typ='R'),
3419            FLUN_INF        =SIMP(statut='f',typ='R'),
3420            FLUN_SUP        =SIMP(statut='f',typ='R'),
3421            CARA_TORSION    =SIMP(statut='f',typ=tabl_aire_int ),
3422          ),
3423         
3424
3425          RAYONNEMENT     =FACT(statut='f',max='**',
3426            fr="Attention, exprimer les températures en Celsius si rayonnement",
3427            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3428                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3429            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3430            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3431            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3432            SIGMA           =SIMP(statut='o',typ='R'),
3433            EPSILON         =SIMP(statut='o',typ='R'),
3434            TEMP_EXT        =SIMP(statut='o',typ='R'),
3435          ),
3436          
3437          ECHANGE         =FACT(statut='f',max='**',
3438            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3439                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3440                    AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
3441                    ENSEMBLE('COEF_H','TEMP_EXT',),
3442                    ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
3443                              ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
3444            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3445            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3446            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3447            COEF_H          =SIMP(statut='f',typ='R'),
3448            TEMP_EXT        =SIMP(statut='f',typ='R'),
3449            COEF_H_INF      =SIMP(statut='f',typ='R'),
3450            TEMP_EXT_INF    =SIMP(statut='f',typ='R'),
3451            COEF_H_SUP      =SIMP(statut='f',typ='R'),
3452            TEMP_EXT_SUP    =SIMP(statut='f',typ='R'),
3453          ),         
3454          
3455          SOURCE          =FACT(statut='f',max='**',
3456            regles=(UN_PARMI('SOUR','SOUR_CALCULEE',),
3457                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3458                    PRESENT_ABSENT('SOUR_CALCULEE','TOUT','GROUP_MA','MAILLE'),),
3459            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3460            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3461            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3462            SOUR            =SIMP(statut='f',typ='R'),
3463            SOUR_CALCULEE   =SIMP(statut='f',typ=(cham_elem_sour_r) ),
3464          ),
3465          
3466          GRAD_TEMP_INIT  =FACT(statut='f',max='**',
3467            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3468                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3469                    AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
3470            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3471            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3472            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3473            FLUX_X          =SIMP(statut='f',typ='R' ),
3474            FLUX_Y          =SIMP(statut='f',typ='R' ),
3475            FLUX_Z          =SIMP(statut='f',typ='R' ),
3476                          ),
3477                          
3478          LIAISON_DDL     =FACT(statut='f',max='**',
3479            regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
3480            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3481            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
3482            DDL             =SIMP(statut='f',typ='TXM',max='**',
3483                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3484            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
3485            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3486          ),
3487          
3488          LIAISON_GROUP   =FACT(statut='f',max='**',
3489            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
3490                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
3491                              EXCLUS('GROUP_MA_1','GROUP_NO_2'),
3492                              EXCLUS('GROUP_MA_1','NOEUD_2'),
3493                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
3494                              EXCLUS('GROUP_NO_1','MAILLE_2'),
3495                              EXCLUS('MAILLE_1','GROUP_NO_2'),
3496                              EXCLUS('MAILLE_1','NOEUD_2'),
3497                              EXCLUS('NOEUD_1','GROUP_MA_2'),
3498                              EXCLUS('NOEUD_1','MAILLE_2'),
3499                              EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
3500            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3501            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3502            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3503            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3504            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3505            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3506            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3507            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3508            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3509            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3510            DDL_1           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3511                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3512            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
3513            DDL_2           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3514                                  into=("TEMP","TEMP_INF","TEMP_SUP",) ),
3515            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
3516            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3517            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3518            TRAN            =SIMP(statut='f',typ='R',max='**'),
3519            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
3520            CENTRE          =SIMP(statut='f',typ='R',max='**'),
3521          ),
3522
3523          LIAISON_MAIL    =FACT(statut='f',max='**',
3524            regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'),
3525                    AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL',
3526                                'NOEUD_ESCL'),),
3527            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3528            MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3529            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3530            MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3531            GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3532            NOEUD_ESCL      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3533            TRAN            =SIMP(statut='f',typ='R',max='**' ),
3534            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**' ),
3535            CENTRE          =SIMP(statut='f',typ='R',max='**' ),
3536          ),      
3537          
3538          ECHANGE_PAROI   =FACT(statut='f',max='**',
3539            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
3540                    UN_PARMI('GROUP_MA_2','MAILLE_2'),),
3541            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3542            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3543            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3544            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3545            COEF_H          =SIMP(statut='f',typ='R'),
3546            TRAN            =SIMP(statut='f',typ='R',min=2,max=3),
3547            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
3548            CENTRE          =SIMP(statut='f',typ='R',min=2,max=3),
3549                          ),
3550
3551          LIAISON_UNIF    =FACT(statut='f',max='**',
3552            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3553            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3554            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3555            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3556            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3557            DDL             =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3558                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3559          ),
3560
3561          LIAISON_CHAMNO  =FACT(statut='f',max='**',
3562            CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),# CO()# "il faut definir une structure de donnee generique chamno"
3563            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3564            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
3565          ),
3566
3567          CONVECTION      =FACT(statut='f',max='**',
3568            VITESSE         =SIMP(statut='o',typ=(cham_no_depl_r) ),
3569          ),
3570
3571
3572          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
3573 )  ;
3574 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
3575 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3576 # ======================================================================
3577 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3578 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3579 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3580 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3581 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3582 #
3583 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3584 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3585 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3586 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3587 #
3588 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3589 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3590 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3591 # ======================================================================
3592 AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=33,sd_prod=char_ther,
3593                      fr="Affectation de charges et conditions aux limites thermiques fonction dune grandeur (temps, ...)",
3594                      reentrant='n',
3595             UIinfo={"groupes":("Modélisation",)},
3596       regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','FLUX_NL','ECHANGE',
3597                           'ECHANGE_PAROI','LIAISON_DDL','LIAISON_GROUP','LIAISON_UNIF',
3598                           'GRAD_TEMP_INIT','RAYONNEMENT'),),
3599          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
3600          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
3601
3602          TEMP_IMPO       =FACT(statut='f',max='**',
3603            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
3604                    AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF','EVOL_THER'),
3605                    PRESENT_ABSENT('EVOL_THER','TEMP','TEMP_INF','TEMP_SUP'),),
3606            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3607            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3608            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3609            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3610            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3611            EVOL_THER       =SIMP(statut='f',typ=(evol_ther) ),
3612            DDL             =SIMP(statut='f',typ='TXM',into=("TEMP",) ),
3613            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3614            TEMP_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3615            TEMP_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3616          ),
3617          
3618          FLUX_REP        =FACT(statut='f',max='**',
3619            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3620                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3621                    AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','FLUX_X','FLUX_Y','FLUX_Z'),),
3622            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3623            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3624            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3625            FLUN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3626            FLUN_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3627            FLUN_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3628            FLUX_X          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3629            FLUX_Y          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3630            FLUX_Z          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3631          ),
3632
3633          FLUX_NL         =FACT(statut='f',max='**',
3634            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3635                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3636            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3637            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3638            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3639            FLUN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3640          ), 
3641          
3642
3643          RAYONNEMENT     =FACT(statut='f',max='**',
3644            fr="Attention, exprimer les températures en Celsius si rayonnement",
3645            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3646                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3647            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3648            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3649            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3650            SIGMA           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3651            EPSILON         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3652            TEMP_EXT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3653          ),
3654          
3655
3656
3657          ECHANGE         =FACT(statut='f',max='**',
3658            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3659                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3660                    AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
3661                    ENSEMBLE('COEF_H','TEMP_EXT'),
3662                    ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
3663                    ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
3664            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3665            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3666            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3667            COEF_H          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3668            TEMP_EXT        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3669            COEF_H_INF      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3670            TEMP_EXT_INF    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3671            COEF_H_SUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3672            TEMP_EXT_SUP    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3673          ),
3674          
3675
3676          SOURCE          =FACT(statut='f',max='**',
3677            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
3678            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3679            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3680            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3681            SOUR            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3682          ),
3683          
3684          GRAD_TEMP_INIT  =FACT(statut='f',max='**',
3685            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3686                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3687                    AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
3688            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3689            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3690            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3691            FLUX_X          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3692            FLUX_Y          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3693            FLUX_Z          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3694          ),
3695          
3696          ECHANGE_PAROI   =FACT(statut='f',max='**',
3697            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
3698                         UN_PARMI('GROUP_MA_2','MAILLE_2'),),
3699            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3700            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3701            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3702            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3703            COEF_H          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3704            TRAN            =SIMP(statut='f',typ='R',min=2,max=3),
3705            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
3706            CENTRE          =SIMP(statut='f',typ='R',min=2,max=3),
3707          ),
3708
3709         LIAISON_DDL     =FACT(statut='f',max='**',
3710            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
3711            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3712            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
3713            DDL             =SIMP(statut='f',typ='TXM',max='**',into=("TEMP","TEMP_INF","TEMP_SUP") ),
3714            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
3715            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3716          ),
3717
3718          LIAISON_GROUP   =FACT(statut='f',max='**',
3719            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
3720                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
3721                              EXCLUS('GROUP_MA_1','GROUP_NO_2'),
3722                         EXCLUS('GROUP_MA_1','NOEUD_2'),
3723                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
3724                         EXCLUS('GROUP_NO_1','MAILLE_2'),
3725                         EXCLUS('MAILLE_1','GROUP_NO_2'),
3726                         EXCLUS('MAILLE_1','NOEUD_2'),
3727                         EXCLUS('NOEUD_1','GROUP_MA_2'),
3728                         EXCLUS('NOEUD_1','MAILLE_2'),
3729                         EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
3730            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3731            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3732            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3733            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3734            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3735            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3736            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3737            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3738            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3739            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3740            DDL_1           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3741                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3742            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
3743            DDL_2           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3744                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3745            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
3746            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3747            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3748            TRAN            =SIMP(statut='f',typ='R',max='**'),
3749            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
3750            CENTRE          =SIMP(statut='f',typ='R',max='**'),
3751          ),
3752
3753          LIAISON_UNIF    =FACT(statut='f',max='**',
3754            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3755            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3756            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3757            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3758            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3759            DDL             =SIMP(statut='f',typ='TXM',defaut="TEMP",
3760                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3761          ),
3762
3763          CONVECTION      =FACT(statut='f',max='**',
3764            VITESSE         =SIMP(statut='o',typ=(cham_no_depl_r) ),
3765          ),
3766
3767          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
3768 )  ;
3769 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3770 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3771 # ======================================================================
3772 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3773 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3774 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3775 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3776 # (AT YOUR OPTION) ANY LATER VERSION.
3777 #
3778 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3779 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3780 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3781 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3782 #
3783 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3784 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3785 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3786 # ======================================================================
3787 # RESPONSABLE VABHHTS J.PELLET
3788 AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
3789                    fr="Affectation de caractéristiques de matériaux à un maillage",
3790                          reentrant='n',
3791             UIinfo={"groupes":("Modélisation",)},
3792          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
3793          MODELE          =SIMP(statut='f',typ=modele_sdaster),
3794          AFFE            =FACT(statut='o',max='**',
3795            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
3796            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3797            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3798            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3799            MATER           =SIMP(statut='o',typ=mater_sdaster,max=30),
3800            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
3801            SECH_REF        =SIMP(statut='f',typ='R',val_min=0.E+0),
3802          ),
3803 )  ;
3804 #& MODIF COMMANDE  DATE 12/04/2005   AUTEUR REZETTE C.REZETTE 
3805 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3806 # ======================================================================
3807 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3808 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3809 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3810 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3811 # (AT YOUR OPTION) ANY LATER VERSION.
3812 #
3813 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3814 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3815 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3816 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3817 #
3818 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3819 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3820 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3821 # ======================================================================
3822 # RESPONSABLE JMBHH01 J.M.PROIX
3823 AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
3824             UIinfo={"groupes":("Modélisation",)},
3825                  fr="Affectation des éléments finis sur le maillage",reentrant='n',
3826          regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),),
3827          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
3828          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
3829          VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ),
3830          AFFE_SOUS_STRUC =FACT(statut='f',
3831            regles=(UN_PARMI('TOUT','MAILLE'),),
3832            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3833            MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
3834            PHENOMENE       =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ),
3835          ),
3836          AFFE            =FACT(statut='f',max='**',
3837            regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),),
3838            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3839            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3840            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3841            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3842            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3843            PHENOMENE       =SIMP(statut='o',typ='TXM',
3844                                  into=("MECANIQUE","THERMIQUE","ACOUSTIQUE") ),
3845                 b_mecanique     =BLOC( condition = "PHENOMENE=='MECANIQUE'",
3846                                         fr="modelisations mécaniques",
3847                     MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
3848                                                                       "2D_DIS_T",
3849                                                                       "2D_DIS_TR",
3850                                                                       "2D_FLUI_ABSO",
3851                                                                       "2D_FLUI_PESA",
3852                                                                       "2D_FLUI_STRU",
3853                                                                       "2D_FLUIDE",
3854                                                                       "3D",
3855                                                                       "3D_ABSO",
3856                                                                       "3D_FAISCEAU",
3857                                                                       "3D_FLUI_ABSO",
3858                                                                       "3D_FLUIDE",
3859                                                                       "3D_HHM" ,
3860                                                                       "3D_HM",
3861                                                                       "3D_INCO",
3862                                                                       "3D_JOINT_CT",
3863                                                                       "3D_SI",
3864                                                                       "3D_THH",
3865                                                                       "3D_THHM",
3866                                                                       "3D_THM",
3867                                                                       "3D_GRAD_EPSI",
3868                                                                       "3D_GRAD_VARI",
3869                                                                       "APPUI_REP",
3870                                                                       "ASSE_GRIL",
3871                                                                       "AXIS",
3872                                                                       "AXIS_FLUI_STRU",
3873                                                                       "AXIS_FLUIDE",
3874                                                                       "AXIS_FOURIER",
3875                                                                       "AXIS_HHM",
3876                                                                       "AXIS_HM",
3877                                                                       "AXIS_INCO",
3878                                                                       "AXIS_NS",
3879                                                                       "AXIS_SI",
3880                                                                       "AXIS_THH",
3881                                                                       "AXIS_THHM",
3882                                                                       "AXIS_THM",
3883                                                                       "AXIS_GRAD_VARI",
3884                                                                       "AXIS_FISSURE",
3885                                                                       "BARRE",
3886                                                                       "2D_BARRE",
3887                                                                       "C_PLAN",
3888                                                                       "C_PLAN_NS",
3889                                                                       "C_PLAN_SI",
3890                                                                       "C_PLAN_GRAD_EPSI",
3891                                                                       "C_PLAN_GRAD_VARI",
3892                                                                       "CABLE",
3893                                                                       "CABLE_POULIE",
3894                                                                       "COQUE_3D",
3895                                                                       "COQUE_AXIS",
3896                                                                       "COQUE_C_PLAN",
3897                                                                       "COQUE_D_PLAN",
3898                                                                       "D_PLAN",
3899                                                                       "D_PLAN_GRAD_EPSI",
3900                                                                       "D_PLAN_GRAD_VARI",
3901                                                                       "D_PLAN_NS",
3902                                                                       "PLAN_FISSURE",
3903                                                                       "D_PLAN_ABSO",
3904                                                                       "D_PLAN_HHM",
3905                                                                       "D_PLAN_HM",
3906                                                                       "D_PLAN_INCO",
3907                                                                       "D_PLAN_SI",
3908                                                                       "D_PLAN_THH",
3909                                                                       "D_PLAN_THHM",
3910                                                                       "D_PLAN_THM",
3911                                                                        "3D_HHMD",
3912                                                                        "3D_HMD",
3913                                                                        "3D_THHD",
3914                                                                        "3D_THVD",
3915                                                                        "3D_THHMD",
3916                                                                        "3D_THMD",
3917                                                                        "AXIS_HH2MD",
3918                                                                        "AXIS_HHMD",
3919                                                                        "AXIS_HMD",
3920                                                                        "AXIS_THHD",
3921                                                                        "AXIS_THH2D",
3922                                                                        "AXIS_THVD",
3923                                                                        "AXIS_THHMD",
3924                                                                        "AXIS_THH2MD",
3925                                                                        "AXIS_THMD",
3926                                                                        "D_PLAN_HHMD",
3927                                                                        "D_PLAN_HH2MD",
3928                                                                        "D_PLAN_HMD",
3929                                                                        "D_PLAN_THHD",
3930                                                                        "D_PLAN_THH2D",
3931                                                                        "D_PLAN_THVD",
3932                                                                        "D_PLAN_THH2MD",
3933                                                                        "D_PLAN_THHMD",
3934                                                                        "D_PLAN_THMD", 
3935                                                                       "DIS_T",
3936                                                                       "DIS_TR",
3937                                                                       "DKT",
3938                                                                       "DKTG",
3939                                                                       "DST",
3940                                                                       "FLUI_STRU",
3941                                                                       "GRILLE",
3942                                                                       "GRILLE_MEMBRANE",
3943                                                                       "POU_C_T",
3944                                                                       "POU_D_E",
3945                                                                       "POU_D_EM",
3946                                                                       "POU_D_T",
3947                                                                       "POU_D_T_GD",
3948                                                                       "POU_D_TG",
3949                                                                       "POU_D_TGM",
3950                                                                       "Q4G",
3951                                                                       "TUYAU_3M",
3952                                                                       "TUYAU_6M",
3953                                                                       "SHB8"
3954                                                                      )  )  ),
3955
3956                 b_thermique     =BLOC( condition = "PHENOMENE=='THERMIQUE'",
3957                                         fr="modelisations thermiques",
3958                     MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
3959                                                                       "3D",
3960                                                                       "3D_DIAG",
3961                                                                       "AXIS",
3962                                                                       "AXIS_DIAG",
3963                                                                       "AXIS_FOURIER",
3964                                                                       "COQUE",
3965                                                                       "COQUE_AXIS",
3966                                                                       "COQUE_PLAN",
3967                                                                       "PLAN",
3968                                                                       "PLAN_DIAG",
3969                                                                       ),),),
3970
3971                 b_acoustique    =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'",
3972                                         fr="modelisations acoustiques",
3973                      MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
3974                                                                        "3D",
3975                                                                        "PLAN"
3976                                                                        ), ),),
3977
3978          ),
3979 ) ;
3980 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
3981 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3982 # ======================================================================
3983 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3984 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3985 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3986 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3987 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3988 #
3989 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3990 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3991 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3992 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3993 #
3994 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3995 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3996 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3997 # ======================================================================
3998 AIDE=PROC(nom="AIDE",op=42,
3999        UIinfo={"groupes":("Modélisation",)},
4000        fr="Interrogation sur le catalogue des commandes et les concepts produits",
4001        regles=(AU_MOINS_UN('CONCEPT','TYPE_ELEM', ),),
4002        UNITE       =SIMP(statut='f',typ='I',defaut=8),  
4003        TYPE_ELEM   =FACT(fr="couple type_elem option",statut='f',
4004          INITEL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
4005                         ),
4006        CONCEPT     =FACT(statut='f',max='**',
4007          NOM          =SIMP(fr="liste des noms de concept",statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="*"),
4008          OPTION       =SIMP(fr="option d'édition de concept",statut='f',typ='TXM',defaut="TOUT_TYPE",
4009                                  into=("TOUT_TYPE","CREER","A_CREER",) ),
4010          ),
4011 ) ;
4012 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4013 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4014 # ======================================================================
4015 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4016 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4017 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4018 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4019 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4020 #
4021 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4022 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4023 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4024 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4025 #
4026 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4027 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4028 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4029 # ======================================================================
4030 # RESPONSABLE VABHHTS J.PELLET
4031 ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster,
4032                    fr="Assembler deux maillages sous un seul nom",
4033                    reentrant='n',
4034                    UIinfo={"groupes":("Maillage",)},
4035          MAILLAGE_1 =  SIMP(statut='o',typ=maillage_sdaster,),
4036          MAILLAGE_2 =  SIMP(statut='o',typ=maillage_sdaster,),
4037          OPERATION  =  SIMP(statut='o',typ='TXM',into=("SOUS_STR","SUPERPOSE","COLLAGE"),),
4038          b_collage  =  BLOC(condition = "OPERATION == 'COLLAGE'",
4039            COLLAGE  =  FACT(statut='o',
4040               GROUP_MA_1     =SIMP(statut='o',typ=grma),
4041               GROUP_MA_2     =SIMP(statut='o',typ=grma),
4042                              ),
4043                            ),
4044 )  ;
4045 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4046 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4047 # ======================================================================
4048 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4049 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4050 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4051 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4052 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4053 #
4054 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4055 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4056 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4057 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4058 #
4059 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4060 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4061 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4062 # ======================================================================
4063 ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=matr_asse_gene_r,
4064                     fr="Assemblage des matrices généralisées de macro éléments pour construction de la matrice globale généralisée",
4065                     reentrant='n',
4066             UIinfo={"groupes":("Matrices/vecteurs",)},
4067          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
4068          OPTION          =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","MASS_GENE","AMOR_GENE") ),
4069 )  ;
4070 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4071 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4072 # ======================================================================
4073 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4074 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4075 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4076 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4077 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4078 #
4079 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4080 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4081 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4082 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4083 #
4084 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4085 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4086 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4087 # ======================================================================
4088 # RESPONSABLE VABHHTS J.PELLET
4089 def asse_matrice_prod(MATR_ELEM,**args):
4090   if AsType(MATR_ELEM) == matr_elem_depl_r : return matr_asse_depl_r
4091   if AsType(MATR_ELEM) == matr_elem_depl_c : return matr_asse_depl_c
4092   if AsType(MATR_ELEM) == matr_elem_temp_r : return matr_asse_temp_r
4093   if AsType(MATR_ELEM) == matr_elem_pres_c : return matr_asse_pres_c
4094   raise AsException("type de concept resultat non prevu")
4095
4096 ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod,
4097                   fr="Construction d une matrice assemblée",reentrant='n',
4098             UIinfo={"groupes":("Matrices/vecteurs",)},
4099          MATR_ELEM       =SIMP(statut='o',
4100                                typ=(matr_elem_depl_r,matr_elem_depl_c,matr_elem_temp_r,matr_elem_pres_c) ),
4101          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster),
4102          CHAR_CINE       =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ),
4103          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
4104 )  ;
4105 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4106 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4107 # ======================================================================
4108 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4109 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4110 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4111 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4112 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4113 #
4114 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4115 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4116 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4117 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4118 #
4119 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4120 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4121 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4122 # ======================================================================
4123 # RESPONSABLE VABHHTS J.PELLET
4124 def asse_vecteur_prod(VECT_ELEM,**args):
4125   if AsType(VECT_ELEM) == vect_elem_depl_r : return cham_no_depl_r
4126   if AsType(VECT_ELEM) == vect_elem_temp_r : return cham_no_temp_r
4127   if AsType(VECT_ELEM) == vect_elem_pres_r : return cham_no_pres_r
4128   if AsType(VECT_ELEM) == vect_elem_pres_c : return cham_no_pres_c
4129   raise AsException("type de concept resultat non prevu ")
4130
4131 ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=asse_vecteur_prod,
4132                   fr="Assemblage d un second membre",reentrant='n',
4133             UIinfo={"groupes":("Matrices/vecteurs",)},
4134          VECT_ELEM       =SIMP(statut='o',typ=vect_elem,max='**'),
4135          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
4136          INFO            =SIMP(statut='f',typ='I',into=(1,2,) ),
4137 )  ;
4138 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4139 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4140 # ======================================================================
4141 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4142 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4143 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4144 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4145 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4146 #
4147 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4148 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4149 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4150 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4151 #
4152 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4153 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4154 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4155 # ======================================================================
4156 ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene,
4157                     fr="Assemblage de vecteurs de chargement en coordonnées généralisées",
4158                     reentrant='n',
4159             UIinfo={"groupes":("Matrices/vecteurs",)},
4160          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
4161          CHAR_SOUS_STRUC =FACT(statut='o',max='**',
4162            SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
4163            VECT_ASSE       =SIMP(statut='o',typ=cham_no_depl_r ),
4164          ),
4165 )  ;
4166 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
4167 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4168 # ======================================================================
4169 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4170 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4171 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4172 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4173 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4174 #
4175 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4176 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4177 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4178 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4179 #
4180 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4181 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4182 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4183 # ======================================================================
4184 CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster,
4185                      fr="Création d'une liste d'amortissements modaux calculés selon la règle du RCC-G",
4186                      reentrant='n',
4187             UIinfo={"groupes":("Résolution",)},
4188          ENER_SOL        =FACT(statut='o',
4189            regles=(UN_PARMI('GROUP_NO_RADIER','GROUP_MA_RADIER'),
4190                    PRESENT_ABSENT('COEF_GROUP','FONC_GROUP'),
4191 #  Peut-on remplacer les deux règles suivantes par un ENSEMBLE_('KRX','KRY','KRZ')
4192                    PRESENT_PRESENT('KRX','KRY'),
4193                    PRESENT_PRESENT('KRX','KRZ'),
4194                    PRESENT_ABSENT('COOR_CENTRE','NOEUD_CENTRE'),
4195                    PRESENT_ABSENT('GROUP_NO_CENTRE','NOEUD_CENTRE'),
4196                    PRESENT_ABSENT('GROUP_NO_CENTRE','COOR_CENTRE'),),
4197            METHODE         =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","RIGI_PARASOL") ),
4198            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
4199            GROUP_NO_RADIER =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4200            GROUP_MA_RADIER =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4201            FONC_GROUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4202            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
4203            KX              =SIMP(statut='o',typ='R' ),
4204            KY              =SIMP(statut='o',typ='R' ),
4205            KZ              =SIMP(statut='o',typ='R' ),
4206            KRX             =SIMP(statut='f',typ='R' ),
4207            KRY             =SIMP(statut='f',typ='R' ),
4208            KRZ             =SIMP(statut='f',typ='R' ),
4209            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
4210            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
4211            COOR_CENTRE     =SIMP(statut='f',typ='R',max=3),
4212          ),
4213          AMOR_INTERNE    =FACT(statut='o',
4214            ENER_POT        =SIMP(statut='o',typ=tabl_ener_pot ),
4215            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
4216            AMOR_REDUIT     =SIMP(statut='o',typ='R',max='**'),
4217          ),
4218          AMOR_SOL        =FACT(statut='o',
4219            AMOR_REDUIT     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4220            FONC_AMOR_GEO   =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
4221            HOMOGENE        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
4222            SEUIL           =SIMP(statut='f',typ='R',defaut= 0.3 ),
4223          ),
4224 )  ;
4225 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
4226 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4227 # ======================================================================
4228 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4229 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4230 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4231 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4232 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4233 #
4234 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4235 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4236 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4237 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4238 #
4239 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4240 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4241 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4242 # ======================================================================
4243 # RESPONSABLE JMBHH01 J.M.PROIX
4244 def calc_cham_elem_prod(OPTION,**args):
4245
4246
4247 # options thermiques
4248
4249   if OPTION == "FLUX_ELGA_TEMP" : return cham_elem_flux_r
4250   if OPTION == "FLUX_ELNO_TEMP" : return cham_elem_flux_r
4251   if OPTION == "SOUR_ELGA_ELEC" : return cham_elem_sour_r
4252
4253 # options acoustiques
4254
4255   if OPTION == "PRES_ELNO_DBEL" : return cham_elem_dbel_r
4256   if OPTION == "PRES_ELNO_REEL" : return cham_elem_pres_r
4257   if OPTION == "PRES_ELNO_IMAG" : return cham_elem_pres_r
4258
4259 # autres options
4260
4261   if OPTION == "COOR_ELGA" :      return cham_elem_geom_r
4262
4263   raise AsException("type de concept resultat non prevu")
4264
4265 CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=calc_cham_elem_prod,
4266                     fr="Calcul de champs par éléments à partir de champs solution ou de champs par éléments",
4267                     reentrant='n',
4268             UIinfo={"groupes":("Post traitements",)},
4269          MODELE          =SIMP(statut='o',typ=modele_sdaster),
4270          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
4271          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
4272
4273          regles=(EXCLUS('TOUT','GROUP_MA',),EXCLUS('TOUT','MAILLE',),),
4274          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4275          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4276          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4277
4278 #
4279 #
4280 #  introduire un mot cle de type modelisation : mécanique,thermique,...
4281 #
4282
4283          OPTION          =SIMP(statut='o',typ='TXM',
4284                                into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC",
4285                                      "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG",
4286                                      "COOR_ELGA"), ),
4287
4288          b_thermique  =BLOC(condition="OPTION in ('FLUX_ELNO_TEMP','FLUX_ELGA_TEMP','SOUR_ELGA_ELEC',)",
4289            TEMP            =SIMP(statut='o',typ=(cham_no_temp_r,)),
4290          ),
4291
4292          b_acoustique  =BLOC(condition="OPTION in ('PRES_ELNO_DBEL','PRES_ELNO_REEL','PRES_ELNO_IMAG',)",
4293            PRES            =SIMP(statut='o',typ=(cham_no_pres_c,)),
4294          ),
4295
4296
4297
4298          EXCIT           =FACT(statut='f',max='**',
4299                regles=(EXCLUS('FONC_MULT','COEF_MULT', ),),
4300                CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou)),
4301                FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4302                COEF_MULT       =SIMP(statut='f',typ='R'), ),
4303
4304          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0),
4305          ACCE            =SIMP(statut='f',typ=cham_no_depl_r),
4306          NUME_COUCHE     =SIMP(statut='f',typ='I',defaut= 1),
4307          NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY") ),
4308          MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
4309          ANGLE           =SIMP(statut='f',typ='I',defaut= 0),
4310 )  ;
4311 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4312 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4313 # ======================================================================
4314 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4315 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4316 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4317 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4318 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4319 #
4320 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4321 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4322 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4323 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4324 #
4325 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4326 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4327 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4328 # ======================================================================
4329 # RESPONSABLE VABHHTS J.PELLET
4330 def calc_char_cine_prod(CHAR_CINE,**args):
4331   if AsType(CHAR_CINE) == char_cine_meca : return cham_no_depl_r
4332   if AsType(CHAR_CINE) == char_cine_ther : return cham_no_temp_r
4333   if AsType(CHAR_CINE) == char_cine_acou : return cham_no_pres_c
4334   raise AsException("type de concept resultat non prevu")
4335
4336 CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=calc_char_cine_prod,
4337                     fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)",
4338                     reentrant='n',
4339             UIinfo={"groupes":("Matrices/vecteurs",)},
4340          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
4341          CHAR_CINE       =SIMP(statut='o',typ=(char_cine_meca,char_cine_ther,char_cine_acou ) ),
4342          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4343          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
4344 )  ;
4345 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4346 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4347 # ======================================================================
4348 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4349 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4350 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4351 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4352 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4353 #
4354 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4355 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4356 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4357 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4358 #
4359 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4360 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4361 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4362 # ======================================================================
4363 def calc_char_seisme_prod(MATR_MASS,**args ):
4364   if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_depl_r
4365   raise AsException("type de concept resultat non prevu")
4366
4367 CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op=  92,sd_prod=calc_char_seisme_prod,
4368                       reentrant='n',
4369             UIinfo={"groupes":("Matrices/vecteurs",)},
4370          regles=(UN_PARMI('MONO_APPUI','MODE_STAT' ),),
4371          MATR_MASS       =SIMP(statut='o',typ=matr_asse_depl_r,fr="Matrice de masse" ),
4372          DIRECTION       =SIMP(statut='o',typ='R',max=6,fr="Directions du séisme imposé"),
4373          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),         
4374          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
4375          b_mode_stat     =BLOC ( condition = "MODE_STAT != None",
4376            regles=(UN_PARMI('NOEUD','GROUP_NO' ),),
4377            NOEUD           =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),
4378            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4379          ),
4380          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4381 )  ;
4382 #& MODIF COMMANDE  DATE 23/11/2004   AUTEUR ASSIRE A.ASSIRE 
4383 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4384 # ======================================================================
4385 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4386 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4387 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4388 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4389 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4390 #
4391 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4392 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4393 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4394 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4395 #
4396 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4397 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4398 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4399 # ======================================================================
4400 # RESPONSABLE JMBHH01 J.M.PROIX
4401 def calc_elem_prod(RESULTAT,**args):
4402    if AsType(RESULTAT) != None : return AsType(RESULTAT)
4403    raise AsException("type de concept resultat non prevu")
4404
4405 CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
4406             UIinfo={"groupes":("Post traitements",)},
4407             fr="Compléter ou créer un résultat en calculant des champs par éléments (contraintes, déformations,... )",
4408      MODELE          =SIMP(statut='f',typ=modele_sdaster),
4409      CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
4410      CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
4411
4412      RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca,
4413                                 mode_stat,mode_stat_depl,mode_stat_acce,mode_stat_forc,
4414                                 evol_noli,mult_elas,fourier_elas,
4415                                 evol_ther,base_modale,
4416                                 acou_harmo,mode_acou,mode_flamb) ,
4417                 fr="Résultat d'une commande globale"),
4418                                            
4419      regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
4420                     'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),),
4421      TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4422      NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
4423      NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
4424      NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
4425      NOM_CAS         =SIMP(statut='f',typ='TXM' ),
4426
4427      INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
4428      FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
4429      LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
4430      LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
4431      PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
4432      CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
4433      LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
4434      
4435      TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4436      GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
4437                            fr="le calcul ne sera effectué que sur ces mailles là"),
4438      MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**',
4439                            fr="le calcul ne sera effectué que sur ces mailles là"),
4440
4441 #    options pour des resultats lineaire 
4442
4443      b_lineaire =BLOC( condition = "AsType(RESULTAT) in (evol_elas,dyna_trans,dyna_harmo,mode_meca,\
4444                                                                mode_stat,mode_stat_depl,mode_stat_acce,mode_stat_forc,\
4445                                                                mult_elas,fourier_elas,base_modale,mode_flamb)",
4446                                                                fr="options mecaniques lineaires",
4447           TYPE_OPTION =SIMP(statut='f',typ='TXM',defaut='TOUTES',fr="type d'options mecaniques lineaires",
4448                            into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT","DERIVEES",
4449                                  "INDI_ERRE","AUTRES","TOUTES"),
4450                            ),
4451           b_toutes=BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol elas",
4452                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="SIEF_ELNO_ELGA",
4453                               #  contraintes
4454                            into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
4455                                   "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART",
4456                                   "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","SIGM_ELNO_TUYO",
4457                               # déformations
4458                                  "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELGA_DEPL","EPSG_ELNO_DEPL",
4459                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",
4460                               #  ENER    
4461                                  "EPOT_ELEM_DEPL","ECIN_ELEM_DEPL","ENEL_ELGA","ENEL_ELNO_ELGA",
4462                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM",
4463                               #  estimateurs erreur 
4464                                  "SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2",
4465                                  "SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA",
4466                               #  CRIT    
4467                                  "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","CRIT_ELNO_RUPT",
4468                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4469                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
4470                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4471                               #  derivees    
4472                                  "DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI",
4473                               #  autres      
4474                                  "VNOR_ELEM_DEPL","VALE_NCOU_MAXI","PRES_DBEL_DEPL"),),
4475
4476                NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4477                                 fr="numero de couche dans l'épaisseur de la coque ou du tuyau" ),
4478                NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4479                                 fr="position dans l'épaisseur de la coque, ou de la couche" ),
4480                ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice"),
4481                NOM_CHAM  =SIMP(statut='f',typ='TXM',fr="nom du champ pour VALE_NCOU_MAXI", ),
4482                NOM_CMP   =SIMP(statut='f',typ='TXM',fr="nom de la composante pour VALE_NCOU_MAXI",  ),
4483                PLAN =     SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL"),
4484                                fr="Plan de calcul pour les plaques excentrées" ),
4485               
4486               
4487                EXCIT           =FACT(statut='f',max='**',
4488                                      fr="Charges contenant les températures, les efforts répartis pour les poutres...",
4489                                      regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4490                     CHARGE          =SIMP(statut='o',typ=char_meca ),
4491                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4492                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4493                     COEF_MULT       =SIMP(statut='f',typ='R'),
4494                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
4495                     PHAS_DEG        =SIMP(statut='f',typ='R'),
4496                     PUIS_PULS       =SIMP(statut='f',typ='I'),
4497                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4498                 
4499                                 
4500                             ),
4501 #             fin bloc b_toutes
4502
4503           b_sigm_massif =BLOC( condition = "TYPE_OPTION == 'SIGM_MASSIF'",
4504                                      fr="options de contraintes elasticite 2D et 3D",
4505               OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut='SIEF_ELNO_ELGA',
4506                             fr="option de calcul des contraintes",
4507                            into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",),),
4508                            
4509                     b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',) or \
4510                                       (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION ) or \
4511                                       (type(OPTION)==type(()) and  'SIEF_ELGA_DEPL' in OPTION ) ",
4512                                       fr="charge contenant les temperatures ou autre charge",
4513                          EXCIT           =FACT(statut='f',max='**',
4514                          CHARGE          =SIMP(statut='o',typ=char_meca ),),
4515                                     ),
4516                                   ),
4517                                   
4518           b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'",
4519                                       fr="options de contraintes elasticite poutres, coques, tuyaux",
4520                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut='SIEF_ELNO_ELGA',
4521                             fr="option de calcul des contraintes ou efforts generalises",
4522                             into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL","SIGM_ELNO_TUYO",
4523                                    "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART",
4524                                    "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF"),),
4525                            
4526                b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',\
4527                                                        'SIPO_ELNO_DEPL','EFGE_ELNO_DEPL',) or \
4528                                             (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION ) or \
4529                                             (type(OPTION)==type(()) and  'SIEF_ELGA_DEPL' in OPTION ) or \
4530                                             (type(OPTION)==type(()) and  'SIPO_ELNO_DEPL' in OPTION ) or \
4531                                             (type(OPTION)==type(()) and  'EFGE_ELNO_DEPL' in OPTION ) ",
4532                                             fr="charge contenant les temperatures ou les efforts répartis (poutres) ou autre",
4533                     EXCIT           =FACT(statut='f',max='**',
4534                                           regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4535                          CHARGE          =SIMP(statut='f',typ=char_meca ),
4536                          FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4537                          FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4538                          COEF_MULT       =SIMP(statut='f',typ='R'),
4539                          COEF_MULT_C     =SIMP(statut='f',typ='C'),
4540                          PHAS_DEG        =SIMP(statut='f',typ='R'),
4541                          PUIS_PULS       =SIMP(statut='f',typ='I'),
4542                          TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4543                              ),
4544                           
4545                b_niv_couche = BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL',) or \
4546                                                  (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION) ",
4547                                                  
4548                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4549                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4550                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4551                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4552                               ),     
4553                                  
4554                b_sigtuyo = BLOC( condition = "OPTION == 'SIGM_ELNO_TUYO' or \
4555                                   (type(OPTION)==type(()) and  'SIGM_ELNO_TUYO' in OPTION) ",
4556                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1 ,
4557                                            fr="numero de couche dans l'épaisseur du tuyau" ),
4558                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice" ),
4559                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4560                                            fr="position dans l'épaisseur de la couche" ),
4561                                ),
4562                b_plan_excentrement    =BLOC( condition = "OPTION=='EFGE_ELNO_DEPL' or \
4563                                             (type(OPTION)==type(()) and 'EFGE_ELNO_DEPL' in OPTION)",
4564                                              fr="Plan de calcul des efforts pour les plaques avec excentrement",
4565                          PLAN =     SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL"),
4566                                          fr="Plan de calcul des efforts pour les plaques avec excentrement",),
4567                          
4568                             ),
4569                             ),
4570 #          fin bloc contraintes struct
4571
4572           b_epsi         =BLOC( condition = "TYPE_OPTION=='EPSI'",
4573                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4574                            into=("EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPME_ELNO_DEPL","EPME_ELGA_DEPL",
4575                                  "DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",),
4576                                  ),
4577                b_niv_couche = BLOC( condition = "OPTION =='EPSI_ELNO_DEPL' or \
4578                                   (type(OPTION)==type(()) and  'EPSI_ELNO_DEPL' in OPTION) ",
4579                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4580                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4581                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4582                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4583                                  ) ,
4584                b_epstuyo = BLOC( condition = "OPTION == 'EPSI_ELNO_TUYO' or \
4585                                   (type(OPTION)==type(()) and  'EPSI_ELNO_TUYO' in OPTION) ",
4586                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1 ,
4587                                            fr="numero de couche dans l'épaisseur du tuyau" ),
4588                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice" ),
4589                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4590                                            fr="position dans l'épaisseur de la couche" ),
4591                                ),
4592 b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ELGA_DEPL','EPSI_ELNO_DEPL','EPSI_ELNO_TUYO' ) or \
4593                                       (type(OPTION)==type(()) and  'EPSI_ELNO_DEPL' in OPTION ) or \
4594                                       (type(OPTION)==type(()) and  'EPSI_ELNO_TUYO' in OPTION ) or \
4595                                       (type(OPTION)==type(()) and  'EPSI_ELGA_DEPL' in OPTION ) or \
4596                                       (type(OPTION)==type(()) and  'EPME_ELNO_DEPL' in OPTION ) or \
4597                                       (type(OPTION)==type(()) and  'EPME_ELGA_DEPL' in OPTION ) ",
4598                                       fr="charge contenant les temperatures",
4599                     EXCIT           =FACT(statut='f',max='**',
4600                          CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4601                                  ),
4602                                        ),
4603           b_ener         =BLOC( condition = "TYPE_OPTION=='ENER'",
4604                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4605                            into=("EPOT_ELEM_DEPL","ECIN_ELEM_DEPL","ENEL_ELGA","ENEL_ELNO_ELGA",
4606                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM",),
4607                                  ),
4608                b_charge =BLOC( condition = "OPTION in ('EPOT_ELEM_DEPL','ECIN_ELEM_DEPL','ENEL_ELGA','ENEL_ELNO_ELGA',) or \
4609                                       (type(OPTION)==type(()) and  'EPOT_ELEM_DEPL' in OPTION ) or \
4610                                       (type(OPTION)==type(()) and  'ENEL_ELGA' in OPTION ) or \
4611                                       (type(OPTION)==type(()) and  'ENEL_ELNO_ELGA' in OPTION ) or \
4612                                       (type(OPTION)==type(()) and  'ECIN_ELEM_DEPL' in OPTION ) ",
4613                                       fr="charge contenant les temperatures",
4614                     EXCIT           =FACT(statut='f',max='**',
4615                          CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),),
4616                               ),
4617                                  ),
4618                                  
4619           b_crit         =BLOC( condition = "TYPE_OPTION=='CRIT'",
4620                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4621                            into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
4622                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4623                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
4624                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","CRIT_ELNO_RUPT","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4625                                  ) ),
4626                b_niv_couche = BLOC( condition = "OPTION in ('CRIT_ELNO_RUPT','EQUI_ELNO_SIGM') or \
4627                                   (type(OPTION)==type(()) and  'EQUI_ELNO_SIGM' in OPTION) or \
4628                                   (type(OPTION)==type(()) and  'SIEQ_ELNO_TUYO' in OPTION) or \
4629                                   (type(OPTION)==type(()) and  'CRIT_ELNO_RUPT' in OPTION) ",
4630                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4631                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4632                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4633                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4634                                   ),        
4635                 EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4636                      CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4637                                  ),
4638                                  
4639           b_derivees         =BLOC( condition = "TYPE_OPTION=='DERIVEES'",
4640                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4641                            into=("DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI",
4642                                  ) ),),
4643
4644           b_autres         =BLOC( condition = "TYPE_OPTION=='AUTRES'",
4645                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4646                            into=("VALE_NCOU_MAXI","PRES_DBEL_DEPL","VNOR_ELEM_DEPL",
4647                                  ) ),
4648                b_maxi    =BLOC( condition = "OPTION=='VALE_NCOU_MAXI' or \
4649                                 (type(OPTION)==type(()) and 'VALE_NCOU_MAXI' in OPTION)",
4650                     NOM_CHAM  =SIMP(statut='o',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI" ),
4651                     NOM_CMP   =SIMP(statut='o',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),),
4652                                  ),
4653
4654           b_indi_erre         =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'",
4655                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELGA_NORE",
4656                            into=("SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2",
4657                                  "SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA",
4658                                  ) ),
4659                 EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4660                      CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4661                                  ),
4662                                  ),
4663 #    fin bloc lineaire                                
4664                             
4665                                  
4666 #    statique ou dynamique non lineaire : evol_noli                                
4667      b_noli          =BLOC( condition = "AsType(RESULTAT) == evol_noli",fr="options evol noli",
4668           TYPE_OPTION =SIMP(statut='f',typ='TXM',defaut='TOUTES',
4669                            into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT",
4670                                  "VARI","INDI_ERRE","TOUTES","AUTRES"),
4671                           ),
4672           b_toutes =BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol elas",
4673                OPTION      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4674                            into=( "SIEF_ELNO_ELGA",
4675                                   "SIGM_ELNO_TUYO","SIGM_ELNO_COQU",
4676                                   "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","EFGE_ELNO_CART",
4677                                   # EPSI
4678                                   "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL",
4679                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL",
4680                                  "DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",
4681                                  "EPSP_ELNO","EPSP_ELGA",
4682                                  "EPGR_ELNO","EPGR_ELGA",
4683                                  "VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU","CRIT_ELNO_RUPT",
4684                                  # CRIT
4685                                  "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4686                                  "ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2",
4687                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4688                                  "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM",
4689                                  "ENDO_ELGA","ENDO_ELNO_ELGA","INDI_LOCA_ELGA",
4690                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO",
4691                                  "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF","ENEL_ELGA","ENEL_ELNO_ELGA",
4692                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","VALE_NCOU_MAXI"),
4693                                ),
4694                NORME =SIMP(statut='f',typ='TXM',defaut="VMIS",
4695                                  into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE"),
4696                                  fr="Type de norme pour les options RADI_ et DCHA_"),
4697                                  
4698                NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,fr="numéro de couche pour coques et tuyaux" ),
4699                NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4700                                  fr="choix du point d'intégration dans la couche" ),
4701                ANGLE       =SIMP(statut='f',typ='I',defaut= 0 ,fr="angle de dépouillement pour les tuyaux"),
4702                NOM_CHAM  =SIMP(statut='f',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI"),
4703                NOM_CMP   =SIMP(statut='f',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),
4704                PLAN =     SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL") ),
4705               
4706                EXCIT           =FACT(statut='f',max='**',
4707                                       regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4708                     CHARGE          =SIMP(statut='o',typ=char_meca ),
4709                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4710                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4711                     COEF_MULT       =SIMP(statut='f',typ='R'),
4712                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
4713                     PHAS_DEG        =SIMP(statut='f',typ='R'),
4714                     PUIS_PULS       =SIMP(statut='f',typ='I'),
4715                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4716                          ),
4717                          
4718           b_sigm_massif =BLOC( condition = "TYPE_OPTION == 'SIGM_MASSIF'",
4719                                       fr="options de contraintes non lin 2D et 3D",
4720                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4721                               #  contraintes
4722                            into=( "SIEF_ELNO_ELGA",),),
4723                             ),
4724                             
4725           b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'",
4726                                        fr="options de contraintes non lin poutres, coques",
4727                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4728                               #  contraintes
4729                            into=( "SIEF_ELNO_ELGA","EFGE_ELNO_CART","SIGM_ELNO_TUYO","SIGM_ELNO_COQU",
4730                            "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF",),),
4731                b_sigcoqu = BLOC( condition = "OPTION in ('SIGM_ELNO_COQU',) or \
4732                                   (type(OPTION)==type(()) and  'SIGM_ELNO_COQU' in OPTION) ",
4733                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4734                          fr="numéro de couche dans l'épaisseur de la coque"  ),
4735                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4736                          fr="choix du point d'intégration dans la couche"  ),
4737                               ),        
4738                b_sigtuyo = BLOC( condition = "OPTION in ('SIGM_ELNO_TUYO',) or \
4739                                   (type(OPTION)==type(()) and  'SIGM_ELNO_TUYO' in OPTION)",
4740                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4741                          fr="numéro de couche dans l'épaisseur du tuyau" ),
4742                     ANGLE       =SIMP(statut='f',typ='I',defaut= 0,
4743                          fr="angle de dépouillement pour les tuyaux, en degres" ),
4744                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4745                          fr="choix du point d'intégration dans la couche"),
4746                                ),
4747                              ),
4748                              
4749           b_epsi         =BLOC( condition = "TYPE_OPTION=='EPSI'",
4750                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4751                            into=( "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL",
4752                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL",
4753                                  "EPSP_ELNO","EPSP_ELGA","EPGR_ELNO","EPGR_ELGA",
4754                                  "DEGE_ELNO_DEPL",),
4755                                  ),
4756                b_niv_couche = BLOC( condition = "OPTION =='EPSI_ELNO_DEPL' or \
4757                                   (type(OPTION)==type(()) and  'EPSI_ELNO_DEPL' in OPTION) ",
4758                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4759                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4760                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4761                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4762                                  ) ,
4763                EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4764                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4765                                  ),
4766                b_epstuyo = BLOC( condition = "OPTION == 'EPSI_ELNO_TUYO' or \
4767                                   (type(OPTION)==type(()) and  'EPSI_ELNO_TUYO' in OPTION) ",
4768                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1 ,
4769                                            fr="numero de couche dans l'épaisseur du tuyau" ),
4770                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice" ),
4771                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4772                                            fr="position dans l'épaisseur de la couche" ),
4773               EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4774                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4775                                ),
4776                                  
4777           b_vari         =BLOC( condition = "TYPE_OPTION=='VARI'",
4778                                        fr="Calcul et extraction des variables internes",
4779                    OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4780                                    into=("VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU",),
4781                                  ),
4782                b_varcoqu = BLOC( condition = "OPTION in ('VARI_ELNO_COQU',) or \
4783                                   (type(OPTION)==type(()) and  'VARI_ELNO_COQU' in OPTION) ",
4784                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4785                          fr="numéro de couche dans l'épaisseur de la coque"),
4786                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4787                          fr="choix du point d'intégration dans la couche" ),
4788                               ),        
4789                b_vartuyo = BLOC( condition = "OPTION in ('VARI_ELNO_TUYO',) or \
4790                                   (type(OPTION)==type(()) and  'VARI_ELNO_TUYO' in OPTION) ",
4791                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4792                          fr="numéro de couche dans l'épaisseur de tuyau" ),
4793                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,
4794                          fr="angle de dépouillement pour les tuyaux, en degres"),
4795                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4796                          fr="choix du point d'intégration dans la couche" ),
4797                                ),
4798                                  ),
4799                                  
4800           b_ener         =BLOC( condition = "TYPE_OPTION=='ENER'",
4801                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4802                            into=("ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","ENEL_ELGA","ENEL_ELNO_ELGA",),
4803                                  ),
4804                EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4805                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4806                                  ),
4807                                  
4808           b_crit         =BLOC( condition = "TYPE_OPTION=='CRIT'",
4809                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4810                            into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
4811                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4812                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","CRIT_ELNO_RUPT",
4813                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
4814                                  "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4815                                  ) ),
4816                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,fr="numéro de couche dans l'épaisseur de la coque"),
4817                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4818                          fr="choix du point d'intégration dans la couche" ),
4819                                  ),
4820                                  
4821           b_autres         =BLOC( condition = "TYPE_OPTION=='AUTRES'",
4822                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4823                            into=("VALE_NCOU_MAXI",) ),
4824                b_maxi    =BLOC( condition = "OPTION=='VALE_NCOU_MAXI' or \
4825                                 (type(OPTION)==type(()) and 'VALE_NCOU_MAXI' in OPTION)",
4826                     NOM_CHAM  =SIMP(statut='o',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI" ),
4827                     NOM_CMP   =SIMP(statut='o',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),),
4828                                  ),
4829
4830
4831           b_indi_erre         =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'",
4832                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELGA_NORE",
4833                            into=("ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2",
4834                                  "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM",
4835                                  ) ),
4836                b_indic = BLOC( condition ="OPTION in ('DCHA_ELNO_SIGM','DCHA_ELGA_SIGM','RADI_ELNO_SIGM','RADI_ELGA_SIGM') or\
4837                                             (type(OPTION)==type(()) and 'DCHA_ELNO_SIGM' in OPTION) or\
4838                                             (type(OPTION)==type(()) and 'DCHA_ELGA_SIGM' in OPTION) or\
4839                                             (type(OPTION)==type(()) and 'RADI_ELNO_SIGM' in OPTION) or\
4840                                             (type(OPTION)==type(()) and 'RADI_ELGA_SIGM' in OPTION) ",
4841                     NORME =SIMP(statut='f',typ='TXM',defaut="VMIS",
4842                                  into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE") ),
4843                                  ),
4844                                  ),
4845                                  ),
4846 #          fin bloc evol_noli
4847
4848 #           thermique : evol_ther                                
4849      b_ther          =BLOC( condition = "AsType(RESULTAT) == evol_ther",fr="options thermiques",
4850           OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4851                            into=("DEUL_ELGA_TEMP","DETE_ELNO_DLTE","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP",
4852                                   "HYDR_ELNO_ELGA","DURT_ELGA_META","DURT_ELNO_META",
4853                                  "SOUR_ELGA_ELEC","ERTH_ELEM_TEMP","ERTH_ELNO_ELEM",),),
4854                EXCIT           =FACT(statut='f',max='**',
4855                     regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4856                     CHARGE          =SIMP(statut='o',typ=char_ther ),
4857                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4858                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4859                     COEF_MULT       =SIMP(statut='f',typ='R'),
4860                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
4861                     PHAS_DEG        =SIMP(statut='f',typ='R'),
4862                     PUIS_PULS       =SIMP(statut='f',typ='I'),
4863                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),
4864                                      ),
4865                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4866                                       fr="choix du point de calcul dans l'épaisseur des coques"  ),
4867                                  
4868                                  ),
4869                                  
4870 #    acoustique                                
4871      b_acou          =BLOC( condition = "AsType(RESULTAT) in (acou_harmo,mode_acou,)",fr="options acoustiques",
4872           OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4873                            into=("PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG",
4874                                  "INTE_ELNO_ACTI","INTE_ELNO_REAC",
4875                                  ),),
4876           EXCIT           =FACT(statut='f',max='**',
4877                 regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4878                 CHARGE          =SIMP(statut='o',typ=char_acou ),
4879                 FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4880                 FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4881                 COEF_MULT       =SIMP(statut='f',typ='R'),
4882                 COEF_MULT_C     =SIMP(statut='f',typ='C'),
4883                 PHAS_DEG        =SIMP(statut='f',typ='R'),
4884                 PUIS_PULS       =SIMP(statut='f',typ='I'),
4885                 TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4886                                  ),
4887                                  
4888      SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
4889                            fr="Liste des paramètres de sensibilité.",
4890                            ang="List of sensitivity parameters"),
4891      INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
4892      TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4893 ) ;
4894 #& MODIF COMMANDE  DATE 10/01/2005   AUTEUR F1BHHAJ J.ANGLES 
4895 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4896 # ======================================================================
4897 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4898 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4899 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4900 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4901 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4902 #
4903 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4904 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4905 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4906 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4907 #
4908 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4909 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4910 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4911 # ======================================================================
4912 def calc_fatigue_prod(TYPE_CALCUL,OPTION,**args):
4913   if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem_dommag
4914   if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem_facy_r
4915   if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_NOEUD": return cham_no_facy_r
4916   raise AsException("type de calcul non prevu")
4917
4918 CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant='n',
4919                   fr="Calcul d un cham de dommage ou d un cisaillement maximal dans le plan critique.",
4920             UIinfo={"groupes":("Post traitements",)},
4921
4922          TYPE_CALCUL = SIMP(statut='o',typ='TXM',
4923                                into=("CUMUL_DOMMAGE","FATIGUE_MULTI",) ),
4924
4925          b_cumul_domma   =BLOC(condition = "TYPE_CALCUL == 'CUMUL_DOMMAGE'",
4926                                fr="Calcul d un champ de dommage subi par une structure.",
4927            regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),),
4928            OPTION          =SIMP(statut='o',typ='TXM',
4929                                  into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM",
4930                                        "DOMA_ELNO_EPSI","DOMA_ELGA_EPSI",
4931                                        "DOMA_ELNO_EPME","DOMA_ELGA_EPME") ),
4932            HISTOIRE        =FACT(statut='o',
4933              RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,
4934                                                    evol_noli) ),
4935              EQUI_GD         =SIMP(statut='f',typ='TXM',defaut="VMIS_SG",
4936                                  into=("VMIS_SG","INVA_2_SG") ),
4937            ),
4938            DOMMAGE         =SIMP(statut='o',typ='TXM',
4939                                into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON",
4940                                      "TAHERI_MIXTE",) ),
4941            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
4942            TAHERI_NAPPE    =SIMP(statut='f',typ=(nappe_sdaster,formule) ),
4943            TAHERI_FONC     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4944          ),
4945
4946          b_fatigue_multi   =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_MULTI'",
4947                                  fr="Plan critique dans le cas de la fatigue multiaxiale à grand nombre de cycles.",
4948            TYPE_CHARGE   =SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE") ),
4949            OPTION        =SIMP(statut='o',typ='TXM',into=("DOMA_ELGA","DOMA_NOEUD") ),
4950            RESULTAT      =SIMP(statut='o',typ=(evol_elas, evol_noli) ),
4951            CHAM_MATER    =SIMP(statut='o',typ=(cham_mater) ),
4952            GROUP_MA      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ),
4953            MAILLE        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**' ),
4954            GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**' ),
4955            NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**' ),
4956            COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0),
4957            b_period       =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'",
4958                CRITERE       =SIMP(statut='o',typ='TXM',into=("MATAKE","DANG_VAN_MODI_AC") ),
4959                METHODE       =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ),
4960            ),
4961            b_non_period   =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'",
4962                CRITERE       =SIMP(statut='o',typ='TXM',into=("DOMM_MAXI","DANG_VAN_MODI_AV") ),
4963                PROJECTION    =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ),
4964                DELTA_OSCI    = SIMP(statut='f',typ='R',defaut= 0.0E+0),  
4965            ),
4966            b_fati_grmano  =BLOC(condition = "(GROUP_MA != None or MAILLE != None or GROUP_NO != None or NOEUD != None)",
4967                MAILLAGE      =SIMP(statut='o',typ=maillage_sdaster ),
4968            ),
4969          ),
4970
4971          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
4972 )  ;
4973 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4974 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4975 # ======================================================================
4976 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4977 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4978 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4979 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4980 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4981 #
4982 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4983 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4984 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4985 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4986 #
4987 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4988 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4989 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4990 # ======================================================================
4991 CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster,
4992                     reentrant='n',
4993             UIinfo={"groupes":("Matrices/vecteurs",)},
4994          VITE_FLUI       =FACT(statut='o',
4995                                fr="Définir la plage de vitesse fluide étudiée",
4996            VITE_MIN        =SIMP(statut='o',typ='R' ),
4997            VITE_MAX        =SIMP(statut='o',typ='R' ),
4998            NB_POIN         =SIMP(statut='o',typ='I' ),
4999          ),
5000          BASE_MODALE     =FACT(statut='o',
5001                                
5002            regles=(UN_PARMI('AMOR_REDUIT','AMOR_UNIF'),),
5003            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
5004            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
5005            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
5006            AMOR_UNIF       =SIMP(statut='f',typ='R' ),
5007          ),
5008          TYPE_FLUI_STRU  =SIMP(statut='o',typ=type_flui_stru ),
5009          IMPRESSION      =FACT(statut='f',
5010                                fr="Choix des informations à imprimer dans le fichier RESULTAT",
5011            PARA_COUPLAGE   =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5012            DEFORMEE        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5013          ),
5014 )  ;
5015 #& MODIF COMMANDE  DATE 23/05/2006   AUTEUR CIBHHPD L.SALMONA 
5016 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5017 # ======================================================================
5018 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5019 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5020 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5021 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5022 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5023 #
5024 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5025 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5026 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5027 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5028 #
5029 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5030 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5031 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5032 # ======================================================================
5033 def calc_fonc_interp_prod(FONCTION, NOM_PARA_FONC, **args):
5034   if   AsType(FONCTION)  ==nappe_sdaster  : return nappe_sdaster
5035   elif AsType(FONCTION)==fonction_sdaster : return fonction_sdaster
5036   elif AsType(FONCTION)==fonction_c       : return fonction_c
5037   elif AsType(FONCTION)==formule          : 
5038       if NOM_PARA_FONC != None:
5039          return nappe_sdaster
5040       return fonction_sdaster
5041   elif AsType(FONCTION)==para_sensi       : return para_sensi
5042   raise AsException("type de concept resultat non prevu")
5043
5044 CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod,
5045                       docu="U4.32.01-e",reentrant='n',
5046            UIinfo={"groupes":("Fonction",)},
5047          regles=(UN_PARMI('VALE_PARA','LIST_PARA'),),
5048          FONCTION        =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ),
5049          VALE_PARA       =SIMP(statut='f',typ='R',max='**'),
5050          LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
5051          NOM_RESU        =SIMP(statut='f',typ='TXM'),
5052          NOM_PARA        =SIMP(statut='f',typ='TXM'),
5053          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
5054          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5055          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5056          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM'),
5057          b_eval_nappe    =BLOC(condition = "NOM_PARA_FONC != None",             
5058             regles=(UN_PARMI('VALE_PARA_FONC','LIST_PARA_FONC'),),
5059             VALE_PARA_FONC  =SIMP(statut='f',typ='R',max='**'),
5060             LIST_PARA_FONC  =SIMP(statut='f',typ=listr8_sdaster ),
5061             INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG")),
5062             PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5063             PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5064          ),
5065          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5066          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5067 )  ;
5068 #& MODIF COMMANDE  DATE 09/11/2006   AUTEUR CIBHHLV L.VIVAN 
5069 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5070 # ======================================================================
5071 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5072 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5073 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5074 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5075 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5076 #
5077 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5078 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5079 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5080 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5081 #
5082 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5083 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5084 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5085 # ======================================================================
5086 # RESPONSABLE MCOURTOI M.COURTOIS
5087 def calc_fonction_prod(DERIVE,EXTRACTION,INTEGRE,ECART_TYPE,INVERSE,RMS,NOCI_SEISME,MAX,COMB,COMB_C,ENVELOPPE,
5088                        SPEC_OSCI,ASSE,FFT,COMPOSE,CORR_ACCE,PUISSANCE,LISS_ENVELOP,NORME,ABS, **args):
5089    if (RMS         != None): return table_sdaster
5090    if (MAX         != None): return table_sdaster
5091    if (NOCI_SEISME != None): return table_sdaster
5092    if (ECART_TYPE  != None): return table_sdaster
5093    if (INTEGRE     != None): return fonction_sdaster
5094    if (DERIVE      != None): return fonction_sdaster
5095    if (INVERSE     != None): return fonction_sdaster
5096    if (COMB        != None): return AsType(COMB[0]['FONCTION'])
5097    if (COMB_C      != None):
5098       vale=COMB_C[0]['FONCTION']
5099       if(AsType(vale) == nappe_sdaster):
5100          return nappe_sdaster
5101       else:
5102          return fonction_c
5103    if (ENVELOPPE   != None): return AsType(ENVELOPPE[0]['FONCTION'])
5104    if (EXTRACTION  != None): return fonction_sdaster
5105    if (SPEC_OSCI   != None): return nappe_sdaster
5106    if (COMPOSE     != None): return fonction_sdaster
5107    if (ASSE        != None): return fonction_sdaster
5108    if (FFT         != None):
5109       vale=FFT[0]['FONCTION']
5110       if (AsType(vale) == fonction_sdaster )  : return fonction_c
5111       if (AsType(vale) == fonction_c) : return fonction_sdaster
5112    if (CORR_ACCE   != None): return fonction_sdaster
5113    if (LISS_ENVELOP!= None): return AsType(LISS_ENVELOP[0]['FONCTION'])
5114    if (PUISSANCE   != None): return AsType(PUISSANCE[0]['FONCTION'])
5115    if (ABS         != None): return fonction_sdaster
5116    if (NORME       != None): return table_sdaster
5117    raise AsException("type de concept resultat non prevu")
5118
5119 CALC_FONCTION=OPER(nom="CALC_FONCTION",op=  91,sd_prod=calc_fonction_prod
5120                     ,fr="Opérations mathématiques sur des concepts de type fonction, fonction_c ou nappe",
5121                      reentrant='n',
5122             UIinfo={"groupes":("Fonction",)},
5123          regles=(UN_PARMI('DERIVE','INTEGRE','SPEC_OSCI','MAX','COMB','COMB_C','ENVELOPPE','RMS',
5124                           'NOCI_SEISME','COMPOSE','EXTRACTION','ASSE','FFT','CORR_ACCE', 'PUISSANCE',
5125                           'NORME','LISS_ENVELOP','ECART_TYPE','INVERSE','ABS'),),
5126          FFT             =FACT(statut='f',fr="Calcul de la transformee de Fourier ou de son inverse",
5127            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c) ),
5128            METHODE         =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE") ),
5129          ),
5130          DERIVE          =FACT(statut='f',fr="Calcul de la dérivée d une fonction",
5131            METHODE         =SIMP(statut='f',typ='TXM',defaut="DIFF_CENTREE",into=("DIFF_CENTREE",) ),
5132            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5133          ),
5134          INTEGRE         =FACT(statut='f',fr="Calcul de l intégrale d une fonction",
5135            METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
5136            FONCTION        =SIMP(statut='o',typ=fonction_sdaster),
5137            COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ),
5138          ),
5139          RMS             =FACT(statut='f',fr="Calcul de la valeur RMS d une fonction",max='**',
5140            METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
5141            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5142            INST_INIT       =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
5143            INST_FIN        =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
5144            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5145            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
5146          ),
5147          NOCI_SEISME     =FACT(statut='f',
5148            FONCTION        =SIMP(statut='f',typ=fonction_sdaster ),
5149            SPEC_OSCI       =SIMP(statut='f',typ=nappe_sdaster ),
5150            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(),max='**',
5151                                  into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU",
5152                                        "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",) ),
5153            INST_INIT       =SIMP(statut='f',typ='R'),
5154            INST_FIN        =SIMP(statut='f',typ='R'),
5155            NATURE          =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE") ),
5156            COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5157            PESANTEUR       =SIMP(statut='f',typ='R',defaut= 9.81E+0 ),
5158            FREQ_INIT       =SIMP(statut='f',typ='R',defaut= 4.E-1 ),
5159            FREQ_FIN        =SIMP(statut='f',typ='R',defaut= 10.E+0 ),
5160            AMOR_REDUIT     =SIMP(statut='f',typ='R'),
5161            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
5162            FREQ            =SIMP(statut='f',typ='R',max='**'),
5163            NORME           =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
5164            BORNE_INF       =SIMP(statut='f',typ='R',defaut= 0.05E+0 ),
5165            BORNE_SUP       =SIMP(statut='f',typ='R',defaut= 0.95E+0 ),
5166            b_acce_reel     =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)",
5167              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
5168              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5169            ),
5170          ),
5171          LISS_ENVELOP    = FACT(statut='f',fr="Lissage d une enveloppe",
5172            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ),
5173            AMOR            =SIMP(statut='f',typ='R',max='**'),
5174            FREQ_MIN        =SIMP(statut='f',typ='R'),
5175            FREQ_MAX        =SIMP(statut='f',typ='R'),
5176            FREQ_CREUX      =SIMP(statut='f',typ='R',max='**'),
5177            ELARG           =SIMP(statut='f',typ='TXM',defaut="GLOBAL",into=("GLOBAL","LOCAL") ),
5178               b_elarg_glob = BLOC ( condition = " (ELARG=='GLOBAL') ",
5179                    GAUCHE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5180                    DROITE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5181                 ),
5182               b_elarg_loc = BLOC ( condition = " (ELARG=='LOCAL') ",
5183                    FREQ_1       =SIMP(statut='o',typ='R'),  
5184                    FREQ_2       =SIMP(statut='o',typ='R' ),  
5185                    GAUCHE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5186                    DROITE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5187                 ),
5188            TOLE_LISS      =SIMP(statut='f',typ='R',defaut=25.0E0),
5189            ECH_FREQ_REF = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5190                b_oui    =BLOC ( condition = "(ECH_FREQ_REF=='OUI') ",
5191                     regles=(UN_PARMI("LIST_FREQ", "AMOR_ECH"),),
5192                        LIST_FREQ   =SIMP(statut='f',typ=listr8_sdaster ),
5193                        AMOR_ECH    =SIMP(statut='f',typ='R',max='**'),
5194                               ),
5195          ),
5196          SPEC_OSCI       =FACT(statut='f',fr="Calcul du spectre d oscillateur",
5197            METHODE         =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM",) ),
5198            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5199            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
5200            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
5201            FREQ            =SIMP(statut='f',typ='R',max='**'),
5202            NORME           =SIMP(statut='o',typ='R',fr="Valeur de la norme du spectre d oscillateur" ),
5203            NATURE          =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
5204            NATURE_FONC     =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
5205          ),
5206          MAX             =FACT(statut='f',fr="Calcul des extrémas locaux d une fonction",
5207            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ),
5208          ),
5209          ABS             =FACT(statut='f',fr="Calcul de la valeur absolue d une fonction",
5210            FONCTION        =SIMP(statut='o',typ=fonction_sdaster,),
5211          ),
5212          COMB            =FACT(statut='f',max='**',fr="Calcul d une combinaison linéaire réelle de fonctions",
5213            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ),
5214            COEF            =SIMP(statut='o',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
5215          ),
5216          COMB_C          =FACT(statut='f',max='**',fr="Calcul d une combinaison linéaire complexe de fonctions",
5217            regles=(UN_PARMI('COEF_R','COEF_C'),),
5218            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ),
5219            COEF_R          =SIMP(statut='f',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
5220            COEF_C          =SIMP(statut='f',typ='C',fr="Coefficient complexe de la combinaison linéaire associée à la fonction" ),
5221          ),
5222          b_comb          =BLOC ( condition = " (COMB != None) or (COMB_C != None)",
5223              LIST_PARA      =SIMP(statut='f',typ=listr8_sdaster ),  
5224          ),
5225          COMPOSE         =FACT(statut='f',fr="Calcul de la composition de deux fonctions FONC_RESU(FONC_PARA)",
5226            FONC_RESU       =SIMP(statut='o',typ=fonction_sdaster),
5227            FONC_PARA       =SIMP(statut='o',typ=fonction_sdaster),
5228          ),
5229          EXTRACTION      =FACT(statut='f',fr="Opération d extraction sur une fonction complexe",
5230            FONCTION        =SIMP(statut='o',typ=fonction_c),
5231            PARTIE          =SIMP(statut='o',typ='TXM',into=("REEL","IMAG","MODULE","PHASE"),fr="Partie à extraire"),
5232          ),
5233          ENVELOPPE       =FACT(statut='f',fr="Calcul de l enveloppe d une famille de fonctions",
5234            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
5235            CRITERE         =SIMP(statut='f',typ='TXM',defaut="SUP",into=("SUP","INF"),fr="Type de l enveloppe" ),
5236          ),
5237          ASSE            =FACT(statut='f',fr="Création à partir de la concatenation de fonctions",
5238            FONCTION        =SIMP(statut='o',typ=fonction_sdaster,max='**' ),
5239            SURCHARGE       =SIMP(statut='f',typ='TXM',defaut="DROITE",into=("DROITE","GAUCHE")),
5240          ),
5241          CORR_ACCE     =FACT(statut='f',fr="Correction d un accelerogramme reel",
5242             CORR_DEPL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
5243             FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5244          ),
5245          PUISSANCE       =FACT(statut='f',fr="Cacul du carré d'une fonction",
5246             FONCTION      =SIMP(statut='o', typ=(fonction_sdaster,nappe_sdaster) ),
5247             EXPOSANT      =SIMP(statut='f', typ='I', defaut=1 ),
5248          ),
5249          NORME           =FACT(statut='f',fr="Cacul de la norme L2 d'une fonction",
5250             FONCTION      =SIMP(statut='o', typ=nappe_sdaster),
5251          ),     
5252          INVERSE         =FACT(statut='f',fr="Cacul de l inverse d une fonction",
5253             FONCTION      =SIMP(statut='o', typ=fonction_sdaster),
5254          ),     
5255          ECART_TYPE      =FACT(statut='f',fr="Cacul de l ecart-type d une fonction",
5256             METHODE       =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
5257             FONCTION      =SIMP(statut='o',typ=fonction_sdaster),
5258             INST_INIT     =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
5259             INST_FIN      =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
5260             CRITERE       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5261             PRECISION     =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
5262          ),     
5263          NOM_PARA        =SIMP(statut='f',typ='TXM',),
5264          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
5265          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
5266          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5267          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5268          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',),
5269          INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
5270          PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5271          PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5272          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5273          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5274 )  ;
5275 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
5276 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5277 # ======================================================================
5278 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5279 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5280 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5281 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5282 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5283 #
5284 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5285 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5286 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5287 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5288 #
5289 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5290 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5291 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5292 # ======================================================================
5293 CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
5294                    fr="calcul de la force ajoutee ",
5295                    reentrant ='n',
5296             UIinfo={"groupes":("Matrices/vecteurs",)},
5297
5298         regles=(EXCLUS('MODE_MECA','MODELE_GENE'),
5299                 PRESENT_PRESENT( 'MODELE_GENE','NUME_DDL_GENE'),
5300                 UN_PARMI('MONO_APPUI', 'NOEUD','GROUP_NO'),
5301                 UN_PARMI('MONO_APPUI','MODE_STAT')),
5302
5303          MODELE_FLUIDE   =SIMP(statut='o',typ=modele_sdaster ),
5304          MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ),
5305          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
5306          CHARGE          =SIMP(statut='o',typ=char_ther ),
5307          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
5308          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
5309          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene ),
5310          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
5311          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5312          NUME_MODE_MECA  =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5313          POTENTIEL       =SIMP(statut='f',typ=evol_ther ),
5314          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5315
5316          DIRECTION       =SIMP(statut='o',typ='R',max=3),
5317          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",),),
5318          NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
5319          GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5320          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),),
5321
5322          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5323
5324          SOLVEUR         =FACT(statut='d',
5325            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
5326            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
5327              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
5328            ),
5329            b_ldlt          =BLOC( condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
5330              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
5331            ),
5332            b_ldlt_mult     =BLOC( condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
5333                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
5334              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
5335              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5336            ),
5337            b_gcpc          =BLOC (condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
5338              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
5339              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
5340              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
5341              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
5342              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
5343            ),
5344                            ),
5345
5346            ) ;
5347 #& MODIF COMMANDE  DATE 11/10/2004   AUTEUR LEBOUVIE F.LEBOUVIER 
5348 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5349 # ======================================================================
5350 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5351 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5352 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5353 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5354 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5355 #
5356 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5357 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5358 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5359 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5360 #
5361 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5362 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5363 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5364 # ======================================================================
5365 CALC_G_LOCAL_T=OPER(nom="CALC_G_LOCAL_T",op=77,sd_prod=tabl_calc_g_loca,
5366                     fr="Calcul du taux de restitution local d énergie",reentrant='n',
5367             UIinfo={"groupes":("Post traitements",)},
5368          MODELE          =SIMP(statut='f',typ=modele_sdaster),
5369          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
5370          regles=(UN_PARMI('RESULTAT','DEPL'),
5371                  PRESENT_PRESENT('VITE','ACCE'),
5372                  UN_PARMI('R_INF','R_INF_FO'),
5373                  PRESENT_PRESENT('R_INF','R_SUP'),
5374                  PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ),
5375          FOND_FISS       =SIMP(statut='f',typ=fond_fiss),               
5376          DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5377          VITE            =SIMP(statut='f',typ=cham_no_depl_r),
5378          ACCE            =SIMP(statut='f',typ=cham_no_depl_r),
5379          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans),),
5380          b_extrac        =BLOC(condition="RESULTAT != None",fr="extraction d un champ",
5381              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
5382              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5383              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5384              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
5385              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5386              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
5387              
5388              b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
5389                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
5390                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5391              ),
5392          ),
5393          EXCIT           =FACT(statut='f',max='**',
5394                CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
5395                FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5396                TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
5397          ),
5398          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ),
5399  
5400          COMP_ELAS       =FACT(statut='f',
5401                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5402                                      into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ),
5403                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5404                ELAS_VMIS_LINE  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5405                ELAS_VMIS_TRAC  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5406                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
5407       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5408                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5409                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5410                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5411          ),
5412  
5413          COMP_INCR       =FACT(statut='f',
5414                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5415                                      into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ),
5416                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5417                VMIS_ISOT_TRAC  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5418                VMIS_ISOT_LINE  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5419                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
5420       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5421                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5422                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5423                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5424          ),
5425          
5426          ETAT_INIT       =FACT(statut='f',
5427            SIGM            =SIMP(statut='f',typ=cham_elem_sief_r),
5428            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5429          ),
5430
5431          OPTION          =SIMP(statut='f',typ='TXM',defaut="CALC_G",
5432                                into=("CALC_G","CALC_K_G","CALC_G_LGLO","G_BILINEAIRE","CALC_G_MAX") ),
5433          b_g             =BLOC(condition="OPTION=='CALC_G'",
5434            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5435            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO",) ),
5436          ), 
5437          b_g_lglo        =BLOC(condition="OPTION=='CALC_G_LGLO'",
5438            PROPAGATION     =SIMP(statut='o',typ='R'),
5439            THETA           =SIMP(statut='o',typ=theta_geom),
5440            DIRE_THETA      =SIMP(statut='f',typ=cham_no_depl_r),
5441            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5442            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO",) ),
5443          ), 
5444          b_g_bilin       =BLOC(condition="OPTION=='G_BILINEAIRE'",
5445            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5446            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5447          ), 
5448          b_k_g           =BLOC(condition="OPTION=='CALC_K_G'",
5449            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5450            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5451            FISSURE         =SIMP(statut='o',typ=fiss_xfem,max=1),
5452          ),
5453          b_calc_g_max    =BLOC(condition="OPTION=='CALC_G_MAX'",
5454            BORNES          =FACT(statut='o',max='**',
5455               NUME_ORDRE     =SIMP(statut='o',typ='I'),
5456               VALE_MIN       =SIMP(statut='o',typ='R'),
5457               VALE_MAX       =SIMP(statut='o',typ='R'),
5458                                 ),
5459            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5460            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5461          ),
5462            
5463          DEGRE           =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ),
5464
5465          R_INF           =SIMP(statut='f',typ='R'),
5466          R_SUP           =SIMP(statut='f',typ='R'),
5467          R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5468          R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5469  
5470          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5471          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
5472 )  ;
5473 #& MODIF COMMANDE  DATE 11/10/2004   AUTEUR LEBOUVIE F.LEBOUVIER 
5474 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5475 # ======================================================================
5476 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5477 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5478 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5479 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5480 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5481 #
5482 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5483 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5484 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5485 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5486 #
5487 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5488 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5489 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5490 # ======================================================================
5491 CALC_G_THETA_T=OPER(nom="CALC_G_THETA_T",op=53,sd_prod=tabl_calc_g_th,
5492                     fr="Calcul du taux de restitution d énergie par la méthode theta en thermo-élasticité en 2D ou en 3D",
5493                     reentrant='f',
5494             UIinfo={"groupes":("Post traitements",)},
5495          regles=(UN_PARMI('RESULTAT','DEPL'),
5496                  PRESENT_PRESENT('VITE','ACCE'),
5497                  EXCLUS('COMP_ELAS','COMP_INCR'),),
5498          MODELE          =SIMP(statut='f',typ=modele_sdaster),
5499          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
5500          THETA           =SIMP(statut='o',typ=(theta_geom,cham_no_depl_r),),
5501          DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5502          VITE            =SIMP(statut='f',typ=cham_no_depl_r),
5503          ACCE            =SIMP(statut='f',typ=cham_no_depl_r),
5504          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans),),
5505
5506          b_extrac        =BLOC(condition="RESULTAT != None",fr="extraction d un champ",
5507            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
5508            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5509            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5510            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
5511            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5512            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
5513             
5514            b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
5515              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
5516              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5517            ),
5518          ),
5519          EXCIT           =FACT(statut='f',max='**',
5520                CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
5521                FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5522                TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
5523          ),
5524          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ),
5525  
5526          COMP_ELAS       =FACT(statut='f',
5527                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5528                                      into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ),
5529                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5530                ELAS_VMIS_LINE  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5531                ELAS_VMIS_TRAC  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5532                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
5533       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5534                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5535                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5536                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5537          ),  
5538          COMP_INCR       =FACT(statut='f',
5539                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5540                                      into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ),
5541                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5542                VMIS_ISOT_TRAC  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5543                VMIS_ISOT_LINE  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5544                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
5545       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5546                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5547                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5548                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5549          ),
5550          ETAT_INIT       =FACT(statut='f',
5551            SIGM            =SIMP(statut='f',typ=cham_elem_sief_r),
5552            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5553          ),
5554          OPTION          =SIMP(statut='f',typ='TXM',defaut="CALC_G",
5555                                into=("CALC_G","CALC_G_LAGR","CALC_K_G","G_BILINEAIRE","CALC_G_MAX",) ),
5556          b_calc_g_max    =BLOC(condition="OPTION=='CALC_G_MAX'",
5557            BORNES          =FACT(statut='o',max='**',
5558                 NUME_ORDRE     =SIMP(statut='o',typ='I'),
5559                 VALE_MIN       =SIMP(statut='o',typ='R'),
5560                 VALE_MAX       =SIMP(statut='o',typ='R'),
5561                                 ),
5562          ),
5563          b_calc_k_g      =BLOC(condition="OPTION=='CALC_K_G'",
5564            FOND_FISS       =SIMP(statut='o',typ=fond_fiss),
5565          ),
5566          b_calc_g_lagr   =BLOC(condition="OPTION=='CALC_G_LAGR'",
5567            PROPAGATION     =SIMP(statut='o',typ='R'),
5568          ),
5569
5570          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
5571                            fr="Liste des paramètres de sensibilité.",
5572                            ang="List of sensitivity parameters"),
5573
5574          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5575          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
5576 )  ;
5577 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
5578 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5579 # ======================================================================
5580 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5581 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5582 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5583 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5584 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5585 #
5586 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5587 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5588 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5589 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5590 #
5591 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5592 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5593 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5594 # ======================================================================
5595 CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=tabl_intsp,
5596                     fr="Calcul d une matrice interspectrale d une fonction du temps",
5597                     reentrant='n',
5598             UIinfo={"groupes":("Fonction",)},
5599          INST_INIT       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5600          INST_FIN        =SIMP(statut='o',typ='R' ),
5601          DUREE_ANALYSE   =SIMP(statut='f',typ='R' ),
5602          DUREE_DECALAGE  =SIMP(statut='f',typ='R' ),
5603          NB_POIN         =SIMP(statut='o',typ='I' ),
5604          FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
5605          TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
5606          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
5607 )  ;
5608 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
5609 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5610 # ======================================================================
5611 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5612 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5613 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5614 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5615 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5616 #
5617 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5618 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5619 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5620 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5621 #
5622 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5623 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5624 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5625 # ======================================================================
5626 CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
5627                     fr="Calcul des matrices de masse, d amortissement ou de raideur ajoutées",
5628                     reentrant='n',
5629             UIinfo={"groupes":("Matrices/vecteurs",)},
5630          regles=(EXCLUS('MODE_MECA','CHAM_NO','MODELE_GENE'),
5631                  PRESENT_ABSENT('NUME_DDL_GENE','CHAM_NO'),
5632                  PRESENT_PRESENT('MODELE_GENE','NUME_DDL_GENE'),),
5633          MODELE_FLUIDE   =SIMP(statut='o',typ=modele_sdaster ),
5634          MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ),
5635          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
5636          CHARGE          =SIMP(statut='o',typ=char_ther ),
5637          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
5638          CHAM_NO         =SIMP(statut='f',typ=cham_no_depl_r ),
5639          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
5640          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene ),
5641          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
5642          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5643          NUME_MODE_MECA  =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5644          OPTION          =SIMP(statut='o',typ='TXM',into=("MASS_AJOU","AMOR_AJOU","RIGI_AJOU") ),
5645          POTENTIEL       =SIMP(statut='f',typ=evol_ther ),
5646          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5647          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5648
5649          SOLVEUR         =FACT(statut='d',
5650            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
5651            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
5652              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
5653            ),
5654            b_ldlt          =BLOC( condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
5655              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
5656            ),
5657            b_ldlt_mult     =BLOC( condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
5658                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
5659              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
5660              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5661            ),
5662            b_gcpc          =BLOC (condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
5663              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
5664              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
5665              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
5666              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
5667              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
5668            ),
5669          ),
5670 )  ;
5671 #& MODIF COMMANDE  DATE 31/01/2006   AUTEUR ACBHHCD G.DEVESA 
5672 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5673 # ======================================================================
5674 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5675 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5676 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5677 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
5678 # (AT YOUR OPTION) ANY LATER VERSION.
5679 #
5680 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
5681 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
5682 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
5683 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
5684 #
5685 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
5686 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
5687 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
5688 # ======================================================================
5689 # RESPONSABLE VABHHTS J.PELLET
5690 def calc_matr_elem_prod(OPTION,**args):
5691   if OPTION == "RIGI_MECA"        : return matr_elem_depl_r
5692   if OPTION == "RIGI_FLUI_STRU"   : return matr_elem_depl_r
5693   if OPTION == "RIGI_MECA_LAGR"   : return matr_elem_depl_r
5694   if OPTION == "MASS_ID_MDEP_R"   : return matr_elem_depl_r
5695   if OPTION == "MASS_ID_MDNS_R"   : return matr_elem_depl_r
5696   if OPTION == "MASS_ID_MTEM_R"   : return matr_elem_temp_r
5697   if OPTION == "MASS_ID_MTNS_R"   : return matr_elem_temp_r
5698   if OPTION == "MASS_MECA"        : return matr_elem_depl_r
5699   if OPTION == "MASS_FLUI_STRU"   : return matr_elem_depl_r
5700   if OPTION == "RIGI_GEOM"        : return matr_elem_depl_r
5701   if OPTION == "RIGI_ROTA"        : return matr_elem_depl_r
5702   if OPTION == "AMOR_MECA"        : return matr_elem_depl_r
5703   if OPTION == "IMPE_MECA"        : return matr_elem_depl_r
5704   if OPTION == "ONDE_FLUI"        : return matr_elem_depl_r
5705   if OPTION == "AMOR_MECA_ABSO"   : return matr_elem_depl_r
5706   if OPTION == "RIGI_MECA_HYST"   : return matr_elem_depl_c
5707   if OPTION == "RIGI_THER"        : return matr_elem_temp_r
5708   if OPTION == "MASS_THER"        : return matr_elem_temp_r
5709   if OPTION == "MASS_MECA_DIAG"   : return matr_elem_depl_r
5710   if OPTION == "RIGI_ACOU"        : return matr_elem_pres_c
5711   if OPTION == "MASS_ACOU"        : return matr_elem_pres_c
5712   if OPTION == "AMOR_ACOU"        : return matr_elem_pres_c
5713   raise AsException("type de concept resultat non prevu")
5714
5715 CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op=   9,sd_prod=calc_matr_elem_prod
5716                     ,fr="Calcul des matrices élémentaires",reentrant='n',
5717             UIinfo={"groupes":("Matrices/vecteurs",)},
5718
5719          OPTION          =SIMP(statut='o',typ='TXM',
5720                                into=("RIGI_MECA","MASS_MECA","RIGI_GEOM",
5721                                      "AMOR_MECA","RIGI_THER","MASS_THER","IMPE_MECA",
5722                                      "ONDE_FLUI","AMOR_MECA_ABSO","MASS_FLUI_STRU","RIGI_FLUI_STRU",
5723                                      "RIGI_ROTA","MASS_MECA_DIAG","RIGI_ACOU",
5724                                      "MASS_ID_MDEP_R","MASS_ID_MDNS_R","MASS_ID_MTEM_R","MASS_ID_MTNS_R",
5725                                      "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST",
5726                                      "RIGI_MECA_LAGR") ),
5727
5728          # mots clés facultatifs que l'on a du mal à mettre dans les blocs
5729          # sans gener MACRO_MATR_ASSE :
5730          #------------------------------------------------------------------
5731          INST=SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5732
5733
5734          b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
5735            regles=(AU_MOINS_UN('MODELE','CHARGE' ),),
5736            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
5737            b_modele        =BLOC(condition = "MODELE != None",
5738              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
5739              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
5740              MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
5741            ),
5742            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
5743          ),
5744
5745          b_rigi_meca_lagr  =BLOC(condition = "OPTION=='RIGI_MECA_LAGR'",
5746            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5747            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5748            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'  ),
5749            THETA           =SIMP(statut='o',typ=theta_geom ),
5750            PROPAGATION     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5751          ),
5752
5753          b_mass_meca       =BLOC(condition = "(OPTION=='MASS_MECA') or (OPTION=='MASS_MECA_DIAG')",
5754            regles=(AU_MOINS_UN('MODELE','CHARGE'),),
5755            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
5756            b_modele          =BLOC(condition = "MODELE != None",
5757              CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5758              CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5759            ),
5760            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
5761          ),
5762
5763          b_mass_identite   =BLOC(condition = "(OPTION in ('MASS_ID_MDEP_R','MASS_ID_MTEM_R','MASS_ID_MDNS_R','MASS_ID_MTNS_R')) ",
5764            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5765            # j'ajoute ces 2 mot clés inutiles à cause de l'alarme pas assez subtile de MEDOME
5766            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5767            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5768          ),
5769
5770          b_rigi_geom       =BLOC(condition = "OPTION=='RIGI_GEOM'",
5771            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5772            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5773            SIEF_ELGA         =SIMP(statut='o',typ=cham_elem_sief_r ),
5774            MODE_FOURIER      =SIMP(statut='f',typ='I',defaut= 0 ),
5775          ),
5776
5777          b_rigi_rota       =BLOC(condition = "OPTION=='RIGI_ROTA'",
5778            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5779            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5780            CHARGE            =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ),
5781          ),
5782
5783          b_amor_meca       =BLOC(condition = "OPTION=='AMOR_MECA'",
5784            regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'),
5785                    ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ),
5786            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5787            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5788            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5789            RIGI_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
5790            MASS_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
5791            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
5792          ),
5793          
5794          b_amor_meca_abso  =BLOC(condition = "OPTION=='AMOR_MECA_ABSO'",
5795            regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'),
5796                    ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ),
5797            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5798            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5799            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5800            RIGI_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
5801            MASS_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
5802            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
5803          ),
5804          
5805          b_rigi_meca_hyst  =BLOC( condition = "OPTION=='RIGI_MECA_HYST'",
5806            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5807            CHARGE            =SIMP(statut='f',typ=char_meca ,validators=NoRepeat(),max='**' ),
5808            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5809            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5810            RIGI_MECA         =SIMP(statut='o',typ=matr_elem_depl_r ),
5811          ),
5812
5813          b_rigi_ther       =BLOC(condition = "OPTION=='RIGI_THER'",
5814            regles=(AU_MOINS_UN('MODELE','CHARGE' ),),
5815            MODELE            =SIMP(statut='f',typ=modele_sdaster ),
5816            b_modele          =BLOC(condition = "MODELE != None",
5817              CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5818              CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5819              MODE_FOURIER      =SIMP(statut='f',typ='I',defaut= 0 ),
5820            ),
5821            CHARGE            =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**' ),
5822          ),
5823
5824          b_mass_ther       =BLOC(condition = "OPTION=='MASS_THER'",
5825            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5826            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5827            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5828            CHARGE            =SIMP(statut='f',typ=char_ther ,validators=NoRepeat(),max='**' ),
5829          ),
5830
5831          b_rigi_acou       =BLOC(condition = "OPTION=='RIGI_ACOU'",
5832            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5833            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5834            CHARGE            =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ),
5835          ),
5836
5837          b_mass_acou       =BLOC(condition = "(OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')",
5838            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5839            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5840            CHARGE            =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ),
5841          ),
5842
5843          b_rigi_flui       =BLOC(condition = "OPTION=='RIGI_FLUI_STRU'",
5844            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5845            CARA_ELEM         =SIMP(statut='o',typ=cara_elem ),
5846            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5847            CHARGE            =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**' ),
5848          ),
5849
5850          b_mass_flui       =BLOC(condition = "OPTION=='MASS_FLUI_STRU'",
5851            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5852            CARA_ELEM         =SIMP(statut='o',typ=cara_elem ),
5853            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5854            CHARGE            =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**'),
5855          ),
5856
5857          b_impe_meca       =BLOC(condition = "(OPTION=='IMPE_MECA') or (OPTION=='ONDE_FLUI')",
5858            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5859            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5860            CHARGE            =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ),
5861          ),
5862 )  ;
5863 #& MODIF COMMANDE  DATE 24/10/2005   AUTEUR ADBHHVV V.CANO 
5864 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5865 # ======================================================================
5866 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5867 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5868 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5869 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5870 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5871 #
5872 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5873 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5874 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5875 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5876 #
5877 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5878 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5879 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5880 # ======================================================================
5881 CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o',
5882             UIinfo={"groupes":("Post traitements",)},
5883                fr="Calcule la métallurgie a partir du résultat du calcul thermique",
5884          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
5885          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
5886          RESULTAT        =SIMP(statut='o',typ=evol_ther ),
5887          ETAT_INIT       =FACT(statut='o',
5888             regles=(UN_PARMI('EVOL_THER', 'META_INIT'),),
5889             EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
5890             META_INIT       =SIMP(statut='f',typ=carte_var2_r ),
5891             b_etat     =BLOC(condition="EVOL_THER != None",
5892                regles=(UN_PARMI('NUME_INIT', 'INST_INIT',),),
5893                NUME_INIT       =SIMP(statut='f',typ='I'),
5894                INST_INIT       =SIMP(statut='f',typ='R'),
5895                b_inst     =BLOC(condition="INST_INIT != None",
5896                   PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
5897                   CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") )
5898                ),
5899             ),
5900          ),
5901          COMP_INCR       =FACT(statut='o',max='**',
5902            RELATION        =SIMP(statut='o',typ='TXM',into=("ACIER","ZIRC",) ),
5903            ACIER           =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
5904            ZIRC            =SIMP(statut='c',typ='I',defaut=3,into=(3,) ),
5905       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5906            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5907            GROUP_MA        =SIMP(statut='f',typ=grma),
5908            MAILLE          =SIMP(statut='f',typ=ma),
5909          ),
5910          OPTION          =SIMP(statut='f',typ='TXM'     
5911                              ,into=("META_ELNO_TEMP",) ),
5912 )  ;
5913 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
5914 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5915 # ======================================================================
5916 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5917 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5918 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5919 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5920 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5921 #
5922 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5923 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5924 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5925 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5926 #
5927 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5928 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5929 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5930 # ======================================================================
5931 # RESPONSABLE G8BHHXD X.DESROCHES
5932 def calc_no_prod(RESULTAT,**args):
5933    if AsType(RESULTAT) != None : return AsType(RESULTAT)
5934    raise AsException("type de concept resultat non prevu")
5935
5936 CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='o',
5937             UIinfo={"groupes":("Post traitements",)},
5938          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,
5939                                                mode_acou,mode_stat,mode_stat_depl,mode_stat_acce,
5940                                               mode_stat_forc,evol_ther,evol_noli,base_modale,
5941                                                mult_elas,fourier_elas,mode_flamb ) ),
5942          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
5943                                fr="Liste des paramètres de sensibilité.",
5944                                ang="List of sensitivity parameters"),
5945
5946          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
5947                         'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),),
5948          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5949          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5950          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5951          NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
5952          NOM_CAS         =SIMP(statut='f',typ='TXM' ),
5953          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5954          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5955          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
5956          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
5957          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
5958          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5959          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
5960
5961          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5962                                into=("FORC_NODA","REAC_NODA",
5963                                      "DCHA_NOEU_SIGM",
5964                                      "DEGE_NOEU_DEPL",
5965                                      "DETE_NOEU_DLTE",
5966                                      "DEDE_NOEU_DLDE",
5967                                      "DESI_NOEU_DLSI",
5968                                      "DURT_NOEU_META",
5969                                      "EFGE_NOEU_CART","EFGE_NOEU_DEPL",
5970                                      "ENDO_NOEU_SINO",
5971                                      "ENEL_NOEU_ELGA",
5972                                      "EPMG_NOEU_DEPL",
5973                                      "EPSA_NOEU",
5974                                      "EPSG_NOEU_DEPL",
5975                                      "EPSI_NOEU_DEPL",
5976                                      "EPSP_NOEU"     ,"EPSP_NOEU_ZAC",
5977                                      "EQUI_NOEU_EPME","EQUI_NOEU_EPSI","EQUI_NOEU_SIGM",
5978                                      "ERRE_NOEU_ELGA",
5979                                      "FLUX_NOEU_TEMP",
5980                                      "HYDR_NOEU_ELGA",
5981                                      "INTE_NOEU_ACTI","INTE_NOEU_REAC",
5982                                      "META_NOEU_TEMP",
5983                                      "PMPB_NOEU_SIEF",
5984                                      "PRES_NOEU_DBEL","PRES_NOEU_IMAG","PRES_NOEU_REEL",
5985                                      "RADI_NOEU_SIGM",
5986                                      "SIEF_NOEU"     ,"SIEF_NOEU_ELGA",
5987                                      "SIGM_NOEU_CART","SIGM_NOEU_COQU","SIGM_NOEU_DEPL",
5988                                      "SIGM_NOEU_SIEF","SIGM_NOEU_ZAC",
5989                                      "SIPO_NOEU_DEPL","SIPO_NOEU_SIEF",
5990                                      "SIRE_NOEU_DEPL",
5991                                      "VARI_NOEU"     ,"VARI_NOEU_ELGA",) ),
5992
5993          b_forc_reac     =BLOC(condition = """(OPTION == 'FORC_NODA') or (type(OPTION) == type(()) and 'FORC_NODA' in OPTION) or\
5994  (OPTION == 'REAC_NODA') or (type(OPTION) == type(()) and 'REAC_NODA' in OPTION)""",
5995              MODELE          =SIMP(statut='f',typ=modele_sdaster),
5996          ),
5997
5998          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
5999          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
6000          EXCIT           =FACT(statut='f',max='**',
6001            CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),
6002            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6003            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
6004                                  into=("FIXE_CSTE","FIXE_PILO","SUIV") ),
6005          ),
6006          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6007          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6008          MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
6009          GROUP_MA_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6010          MAILLE_RESU     =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
6011          GROUP_NO_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6012          NOEUD_RESU      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
6013 )  ;
6014 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6015 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6016 # ======================================================================
6017 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
6018 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
6019 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
6020 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
6021 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
6022 #                                                                       
6023 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
6024 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
6025 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
6026 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
6027 #                                                                       
6028 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
6029 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
6030 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
6031 # ======================================================================
6032 # RESPONSABLE ASSIRE A.ASSIRE
6033
6034 from Macro.calc_precont_ops import calc_precont_ops
6035
6036
6037 # ===========================================================================
6038 #           CATALOGUE DE LA MACRO "CALC_PRECONT"
6039 #           -----------------------------------------
6040 # USAGE :
6041
6042 #  
6043 # ===========================================================================
6044
6045 CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
6046                    fr="imposer la tension definie par le BPEL dans les cables",
6047                    reentrant='f',
6048          reuse =SIMP(statut='f',typ='evol_noli'),
6049          MODELE           =SIMP(statut='o',typ=modele_sdaster),
6050          CHAM_MATER       =SIMP(statut='o',typ=cham_mater),
6051          CARA_ELEM        =SIMP(statut='o',typ=cara_elem),
6052          CABLE_BP         =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'),
6053          CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'),
6054          INCREMENT        =FACT(statut='o',
6055            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
6056            INST_INIT       =SIMP(statut='f',typ='R'),
6057            INST_FIN        =SIMP(statut='f',typ='R'),
6058            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
6059            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
6060            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
6061            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
6062          ),
6063
6064          NEWTON          =FACT(statut='d',
6065             REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
6066             PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
6067             MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
6068             PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
6069             REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
6070             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
6071           ),
6072          RECH_LINEAIRE   =FACT(statut='f',
6073            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
6074            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
6075          ),
6076           CONVERGENCE     =FACT(statut='d',
6077             RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
6078             RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
6079             ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
6080             ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
6081             ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
6082             RESI_INTE_RELA  =SIMP(statut='f',typ='R'
6083                                  ,defaut= 1.0E-6),
6084             ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
6085             ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
6086             RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
6087                                   into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
6088           ),
6089           ETAT_INIT       =FACT(statut='f',
6090             regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
6091                     EXCLUS('EVOL_NOLI','DEPL',),
6092                     EXCLUS('EVOL_NOLI','SIGM',),
6093                     EXCLUS('EVOL_NOLI','VARI',),
6094                     EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
6095                     EXCLUS('NUME_ORDRE','INST'), ),
6096             DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
6097             SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
6098             VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
6099             VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
6100             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
6101             NUME_ORDRE      =SIMP(statut='f',typ='I'),
6102             INST            =SIMP(statut='f',typ='R'),
6103             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
6104             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6105             NUME_DIDI       =SIMP(statut='f',typ='I'),
6106             INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
6107           ),
6108           SOLVEUR         =FACT(statut='d',
6109             METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
6110             b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
6111               RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
6112             ),
6113             b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
6114               RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
6115             ),
6116             b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
6117                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
6118               NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
6119               STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
6120             ),
6121             b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
6122               PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
6123               NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
6124               RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
6125               RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
6126               NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
6127             ),
6128             SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6129           ),
6130             SOLV_NON_LOCAL  =FACT(statut='f',
6131               METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
6132               b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
6133                 RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
6134               ),
6135               b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
6136                 RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
6137               ),
6138               b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
6139                                      fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
6140                 NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
6141                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6142               ),
6143               b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
6144                 PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
6145                 NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
6146                 RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
6147                 NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
6148               ),
6149               EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6150             ),
6151             LAGR_NON_LOCAL  =FACT(statut='f',
6152               ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
6153               RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
6154               RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
6155               R               =SIMP(statut='f',typ='R',defaut= 1000.),
6156               ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
6157             ),
6158           PARM_THETA      =SIMP(statut='f',typ='R'
6159                                ,defaut= 1. ),
6160           INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
6161           TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
6162
6163           EXCIT           =FACT(statut='o',max='**',
6164             CHARGE          =SIMP(statut='o',typ=char_meca),
6165           ),
6166
6167          COMP_INCR       =C_COMP_INCR(),
6168   )  ;
6169 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
6170 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6171 # ======================================================================
6172 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6173 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6174 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6175 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6176 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6177 #
6178 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6179 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6180 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6181 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6182 #
6183 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6184 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6185 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6186 # ======================================================================
6187 CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n',
6188             UIinfo={"groupes":("Post traitements",)},
6189                 fr="Affectation d un champ sur le maillage (mécanique de la rupture)",
6190          regles=(UN_PARMI('THETA_2D','THETA_3D','THETA_BANDE'),
6191                  PRESENT_ABSENT('THETA_2D','DIRE_THETA'),
6192                  EXCLUS('DIRECTION','DIRE_THETA'),),
6193          OPTION          =SIMP(statut='f',typ='TXM',defaut="COURONNE",into=("COURONNE","BANDE") ),
6194          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
6195          THETA_3D        =FACT(statut='f',max='**',
6196            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
6197                    UN_PARMI('MODULE','MODULE_FO'),
6198                    ENSEMBLE('MODULE','R_INF','R_SUP'),
6199                    ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),),
6200            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6201            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6202            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6203            MODULE          =SIMP(statut='f',typ='R'),
6204            R_INF           =SIMP(statut='f',typ='R'),
6205            R_SUP           =SIMP(statut='f',typ='R'),
6206            MODULE_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6207            R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6208            R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6209                          ),
6210          b_theta_3d     =BLOC(condition="THETA_3D != None",
6211            FOND_FISS       =SIMP(statut='f',typ=fond_fiss),),
6212          DIRE_THETA      =SIMP(statut='f',typ=(cham_no_depl_r) ),
6213          DIRECTION       =SIMP(statut='f',typ='R',max='**'),
6214          THETA_2D        =FACT(statut='f',max='**',
6215            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
6216            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6217            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6218            MODULE          =SIMP(statut='o',typ='R'),
6219            R_INF           =SIMP(statut='o',typ='R'),
6220            R_SUP           =SIMP(statut='o',typ='R'),
6221          ),
6222          THETA_BANDE     =FACT(statut='f',max='**',
6223            MODULE          =SIMP(statut='o',typ='R'),
6224            R_INF           =SIMP(statut='o',typ='R'),
6225            R_SUP           =SIMP(statut='o',typ='R'),
6226          ),
6227          GRAD_NOEU_THETA =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6228          IMPRESSION      =FACT(statut='f',
6229            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
6230            FORMAT          =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ),
6231          ),
6232 )  ;
6233 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6234 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6235 # ======================================================================
6236 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6237 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6238 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6239 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6240 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6241 #
6242 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6243 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6244 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6245 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6246 #
6247 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6248 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6249 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6250 # ======================================================================
6251 # RESPONSABLE VABHHTS J.PELLET
6252 def calc_vect_elem_prod(OPTION,**args):
6253   if OPTION == "CHAR_MECA" :      return vect_elem_depl_r
6254   if OPTION == "CHAR_MECA_LAGR" : return vect_elem_depl_r
6255   if OPTION == "CHAR_THER" :      return vect_elem_temp_r
6256   if OPTION == "CHAR_ACOU" :      return vect_elem_pres_c
6257   if OPTION == "FORC_NODA" :      return vect_elem_depl_r
6258   raise AsException("type de concept resultat non prevu")
6259
6260 CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentrant='n',
6261             UIinfo={"groupes":("Matrices/vecteurs",)},
6262                     fr="Calcul des seconds membres élémentaires",
6263          OPTION          =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_THER","CHAR_ACOU",
6264                                                            "FORC_NODA","CHAR_MECA_LAGR") ),
6265          b_char_meca     =BLOC(condition = "OPTION=='CHAR_MECA'",
6266            regles=(AU_MOINS_UN('CHARGE','MODELE'),),
6267            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
6268            MODELE          =SIMP(statut='f',typ=modele_sdaster),
6269            b_charge     =BLOC(condition = "CHARGE != None", fr="modèle ne contenant pas de sous-structure",
6270               CHAM_MATER   =SIMP(statut='f',typ=cham_mater),
6271               CARA_ELEM    =SIMP(statut='f',typ=cara_elem),
6272               INST         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6273               MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ),
6274            ),  
6275            b_modele     =BLOC(condition = "(MODELE != None)",fr="modèle contenant une sous-structure",
6276               SOUS_STRUC      =FACT(statut='o',min=01,
6277                 regles=(UN_PARMI('TOUT','MAILLE'),),
6278                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
6279                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6280                 MAILLE      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
6281               ),
6282            ),
6283          ),
6284          b_char_ther     =BLOC(condition = "OPTION=='CHAR_THER'",
6285            CARA_ELEM        =SIMP(statut='f',typ=cara_elem),
6286            CHARGE           =SIMP(statut='o',typ=char_ther,validators=NoRepeat(),max='**'),
6287            INST             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6288          ),
6289               
6290          b_char_acou     =BLOC(condition = "OPTION=='CHAR_ACOU'",
6291            CHAM_MATER        =SIMP(statut='o',typ=cham_mater),
6292            CHARGE            =SIMP(statut='o',typ=char_acou,validators=NoRepeat(),max='**'),
6293          ),
6294          
6295          b_forc_noda     =BLOC(condition = "OPTION=='FORC_NODA'",
6296            SIEF_ELGA         =SIMP(statut='o',typ=cham_elem_sief_r),
6297            CARA_ELEM         =SIMP(statut='f',typ=cara_elem),
6298            MODELE            =SIMP(statut='f',typ=modele_sdaster),
6299          ),
6300          
6301          b_meca_lagr     =BLOC(condition = "OPTION=='CHAR_MECA_LAGR'",
6302            CHAM_MATER        =SIMP(statut='o',typ=cham_mater),
6303            THETA             =SIMP(statut='o',typ=theta_geom),
6304            PROPAGATION       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6305            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
6306            INST              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6307          ),
6308 ) ;
6309 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6310 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6311 # ======================================================================
6312 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6313 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6314 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6315 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6316 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6317 #
6318 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6319 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6320 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6321 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6322 #
6323 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6324 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6325 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6326 # ======================================================================
6327 # RESPONSABLE G8BHHXD X.DESROCHES
6328 def comb_cham_elem_prod(COMB_R=None,COMB_C=None,COMB_FOURIER=None,**args):
6329
6330   if COMB_R != None:
6331     vale=COMB_R[0]['CHAM_ELEM']
6332   elif COMB_C != None:
6333     vale=COMB_C[0]['CHAM_ELEM']
6334   elif COMB_FOURIER != None:
6335     vale=COMB_FOURIER[0]['CHAM_ELEM']
6336   else :
6337     raise AsException("type de concept resultat non prevu")
6338
6339   if AsType(vale) == cham_elem_sief_r : return cham_elem_sief_r
6340   if AsType(vale) == cham_elem_flux_r : return cham_elem_flux_r
6341   if AsType(vale) == cham_elem_epsi_r : return cham_elem_epsi_r
6342   if AsType(vale) == cham_elem_ener_r : return cham_elem_ener_r
6343   if AsType(vale) == cham_elem_crit_r : return cham_elem_crit_r
6344   if AsType(vale) == cham_elem_dbel_r : return cham_elem_dbel_r
6345   if AsType(vale) == cham_elem_pres_r : return cham_elem_pres_r
6346   if AsType(vale) == cham_elem_sief_c : return cham_elem_sief_c
6347   raise AsException("type de concept resultat non prevu")
6348
6349 COMB_CHAM_ELEM=OPER(nom="COMB_CHAM_ELEM",op= 139,sd_prod=comb_cham_elem_prod,reentrant='f',
6350                     fr="Combinaison linéaire de champs par éléments",
6351             UIinfo={"groupes":("Résultats et champs",)},
6352       regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'),
6353               PRESENT_PRESENT('COMB_FOURIER','ANGL'),),
6354       COMB_R          =FACT(statut='f',max='**',
6355         PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
6356         COEF_R          =SIMP(statut='o',typ='R'),
6357         CHAM_ELEM       =SIMP(statut='o',
6358                               typ=(cham_elem_sief_r,cham_elem_flux_r,cham_elem_epsi_r,
6359                                    cham_elem_ener_r,cham_elem_crit_r,cham_elem_dbel_r,
6360                                    cham_elem_pres_r,cham_elem_sief_c ) ),
6361       ),
6362       COMB_C          =FACT(statut='f',max='**',
6363         regles=(UN_PARMI('COEF_R','COEF_C', ),),
6364         COEF_R          =SIMP(statut='f',typ='R'),
6365         COEF_C          =SIMP(statut='f',typ='C'),
6366         CHAM_ELEM       =SIMP(statut='o',typ=(cham_elem_sief_r) ),
6367       ),
6368       COMB_FOURIER    =FACT(statut='f',max='**',
6369         COEF_R          =SIMP(statut='f',typ='R',defaut= 1.),
6370         NUME_MODE       =SIMP(statut='o',typ='I'),
6371         TYPE_MODE       =SIMP(statut='o',typ='TXM',into=("SYME","ANTI") ),
6372         CHAM_ELEM       =SIMP(statut='o',typ=(cham_elem_sief_r,cham_elem_flux_r,cham_elem_epsi_r ) ),
6373       ),
6374       ANGL            =SIMP(statut='f',typ='R' ),
6375 )  ;
6376
6377 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6378 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6379 # ======================================================================
6380 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6381 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6382 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6383 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6384 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6385 #
6386 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6387 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6388 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6389 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6390 #
6391 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6392 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6393 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6394 # ======================================================================
6395 # RESPONSABLE G8BHHXD X.DESROCHES
6396 def comb_cham_no_prod(COMB_R,COMB_C,COMB_FOURIER,**args):
6397   if COMB_C != None:
6398     type_mat = AsType(COMB_C[0]['CHAM_NO'])
6399     if type_mat in  (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_c
6400     if type_mat in  (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_c
6401     if type_mat in  (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_c
6402   elif COMB_R != None:
6403     type_mat = AsType(COMB_R[0]['CHAM_NO'])
6404     if type_mat in  (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_r
6405     if type_mat in  (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_r
6406     if type_mat in  (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_r
6407     if type_mat ==  matr_asse_gene_r : return matr_asse_gene_r
6408   elif COMB_FOURIER != None:
6409     type_mat = AsType(COMB_FOURIER[0]['CHAM_NO'])
6410     if type_mat == cham_no_temp_r : return cham_no_temp_r
6411     if type_mat == cham_no_depl_r : return cham_no_depl_r
6412   raise AsException("type de concept resultat non prevu")
6413
6414
6415 COMB_CHAM_NO=OPER(nom="COMB_CHAM_NO",op=  30,sd_prod=comb_cham_no_prod
6416                     ,fr="Combinaison linéaire de champs aux noeuds",
6417                      reentrant='f',
6418             UIinfo={"groupes":("Résultats et champs",)},
6419          regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'),),
6420          COMB_R          =FACT(statut='f',max='**',
6421            PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG",) ),
6422            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_temp_c,cham_no_depl_r,cham_no_depl_c
6423                                                 ,cham_no_pres_r,cham_no_pres_c ) ),
6424            COEF_R          =SIMP(statut='o',typ='R' ),
6425          ),
6426          COMB_C          =FACT(statut='f',max='**',
6427            regles=(UN_PARMI('COEF_R','COEF_C' ),),
6428            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r,cham_no_temp_c
6429                                                 ,cham_no_depl_c,cham_no_pres_c ) ),
6430            COEF_R          =SIMP(statut='f',typ='R' ),
6431            COEF_C          =SIMP(statut='f',typ='C' ),
6432          ),
6433          COMB_FOURIER    =FACT(statut='f',max='**',
6434            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r) ),
6435            COEF_R          =SIMP(statut='f',typ='R',defaut= 1. ),
6436            NUME_MODE       =SIMP(statut='o',typ='I' ),
6437            TYPE_MODE       =SIMP(statut='o',typ='TXM',into=("SYME","ANTI") ),
6438          ),
6439          b_angl = BLOC ( condition = "COMB_FOURIER != None",
6440            ANGL            =SIMP(statut='o',typ='R' ),
6441          ),
6442 )  ;
6443 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6444 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6445 # ======================================================================
6446 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6447 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6448 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6449 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6450 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6451 #
6452 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6453 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6454 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6455 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6456 #
6457 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6458 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6459 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6460 # ======================================================================
6461 # RESPONSABLE G8BHHXD X.DESROCHES
6462 COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier,
6463                   reentrant='n',
6464             UIinfo={"groupes":("Post traitements",)},
6465          RESULTAT        =SIMP(statut='o',typ=fourier_elas ),
6466          ANGL            =SIMP(statut='o',typ='R',max='**'),
6467          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=5,
6468                                into=("DEPL","REAC_NODA","SIEF_ELGA_DEPL","EPSI_ELNO_DEPL","SIGM_ELNO_DEPL") ),
6469 )  ;
6470 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6471 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6472 # ======================================================================
6473 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6474 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6475 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6476 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6477 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6478 #
6479 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6480 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6481 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6482 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6483 #
6484 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6485 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6486 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6487 # ======================================================================
6488 # RESPONSABLE VABHHTS J.PELLET
6489 def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args):
6490   if COMB_C != None:
6491     type_mat = AsType(COMB_C[0]['MATR_ASSE'])
6492     if type_mat in  (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_c
6493     if type_mat in  (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_c    
6494     if type_mat in  (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_c
6495     if type_mat in  (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_c
6496   elif COMB_R != None:
6497     type_mat = AsType(COMB_R[0]['MATR_ASSE'])
6498     if type_mat in  (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_r
6499     if type_mat in  (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_r
6500     if type_mat in  (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_r
6501     if type_mat in  (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_r
6502   elif CALC_AMOR_GENE != None: return matr_asse_gene_r
6503   raise AsException("type de concept resultat non prevu")
6504
6505 COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op=  31,sd_prod=comb_matr_asse_prod,
6506                     fr="Combinaison linéaire de matrices assemblées",
6507                     reentrant='f',
6508             UIinfo={"groupes":("Résultats et champs",)},
6509          regles=(UN_PARMI('COMB_R','COMB_C','CALC_AMOR_GENE' ),),
6510          COMB_R          =FACT(statut='f',max='**',
6511            PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
6512            MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c
6513                                                 ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ),
6514            COEF_R          =SIMP(statut='o',typ='R' ),
6515          ),
6516          COMB_C          =FACT(statut='f',max='**',
6517            regles=(UN_PARMI('COEF_R','COEF_C' ),),
6518            MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c
6519                                                 ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ),
6520            COEF_R          =SIMP(statut='f',typ='R' ),
6521            COEF_C          =SIMP(statut='f',typ='C' ),
6522          ),
6523          CALC_AMOR_GENE   =FACT(statut='f',
6524            regles=(UN_PARMI('AMOR_REDUIT','LIST_AMOR' ),),
6525            MASS_GENE    = SIMP(statut='f', typ=matr_asse_gene_r),
6526            RIGI_GENE    = SIMP(statut='f', typ=matr_asse_gene_r),
6527            AMOR_REDUIT  = SIMP(statut='f',typ='R',max='**'),
6528            LIST_AMOR    = SIMP(statut='f',typ=listr8_sdaster ),
6529          ),         
6530          SANS_CMP        =SIMP(statut='f',typ='TXM',into=("LAGR",) ),
6531 )  ;
6532 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
6533 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6534 # ======================================================================
6535 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6536 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6537 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6538 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6539 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6540 #
6541 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6542 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6543 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6544 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6545 #
6546 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6547 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6548 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6549 # ======================================================================
6550 COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat,
6551                      fr="Réponse sismique par recombinaison modale par une méthode spectrale",
6552                      reentrant='n',
6553             UIinfo={"groupes":("Post traitements",)},
6554          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ','LIST_ORDRE'),
6555                  UN_PARMI('AMOR_REDUIT','LIST_AMOR','AMOR_GENE' ),),
6556          MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
6557          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6558          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6559          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
6560          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6561          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6562          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
6563          b_freq          =BLOC(condition = "FREQ != None or LIST_FREQ != None",
6564            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
6565            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6566          ),
6567          MODE_CORR       =SIMP(statut='f',typ=mode_stat_acce ),
6568          
6569          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
6570          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
6571          AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r ),
6572          
6573          MASS_INER       =SIMP(statut='f',typ=tabl_mass_iner ),
6574          CORR_FREQ       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6575          
6576          EXCIT           =FACT(statut='o',max='**',
6577            regles=(UN_PARMI('MONO_APPUI','NOEUD','GROUP_NO'),
6578                    UN_PARMI('AXE','TRI_AXE','TRI_SPEC' ),),
6579            
6580            MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6581            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6582            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6583            AXE             =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant un seul axe",),
6584            TRI_AXE         =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant les trois axes mais avec le meme spectre",),
6585            TRI_SPEC        =SIMP(statut='f',typ='TXM',into=("OUI",),
6586                                  fr="Excitation suivant les trois axes  avec trois spectres"),
6587            b_axe           =BLOC(condition = "AXE != None",fr="Excitation suivant un seul axe",
6588              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),),
6589              ECHELLE         =SIMP(statut='f',typ='R',),
6590            ),
6591            b_tri_axe       =BLOC(condition = "TRI_AXE != None",fr="Excitation suivant les trois axes mais avec le meme spectre",
6592              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),),
6593              ECHELLE         =SIMP(statut='f',typ='R',),
6594            ),
6595            b_tri_spec      =BLOC(condition = "TRI_SPEC != None",fr="Excitation suivant les trois axes  avec trois spectres",
6596              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),min=3,max=3 ),
6597              ECHELLE         =SIMP(statut='f',typ='R',min=3,max=3),
6598            ),       
6599            NATURE          =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("ACCE","VITE","DEPL") ),
6600          ),
6601          COMB_MODE       =FACT(statut='o',
6602            TYPE            =SIMP(statut='o',typ='TXM',into=("SRSS","CQC","DSC","ABS","DPC") ),
6603            DUREE           =SIMP(statut='f',typ='R' ),
6604          ),
6605          COMB_DIRECTION  =FACT(statut='f',
6606            TYPE            =SIMP(statut='f',typ='TXM',into=("QUAD","NEWMARK") ),
6607          ),
6608          COMB_MULT_APPUI =FACT(statut='f',max='**',
6609            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ),),
6610            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6611            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6612            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6613            TYPE_COMBI      =SIMP(statut='f',typ='TXM',into=("QUAD","LINE",) ),
6614          ),
6615          COMB_DEPL_APPUI=FACT(statut='f',max='**',
6616            regles=(UN_PARMI('TOUT','LIST_CAS'),),
6617            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
6618            LIST_CAS       =SIMP(statut='f',typ='I',max='**'),
6619            TYPE_COMBI      =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ),
6620          ),
6621          DEPL_MULT_APPUI =FACT(statut='f',max='**',
6622            regles=(UN_PARMI('NOEUD','GROUP_NO'),
6623                    AU_MOINS_UN('DX','DY','DZ' ),),
6624            NOM_CAS         =SIMP(statut='o',typ='TXM',max='**'),
6625            NUME_CAS        =SIMP(statut='o',typ='I',max='**'),
6626            MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,), ),
6627            NOEUD_REFE      =SIMP(statut='f',typ=no),
6628            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6629            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6630            DX              =SIMP(statut='f',typ='R' ),
6631            DY              =SIMP(statut='f',typ='R' ),
6632            DZ              =SIMP(statut='f',typ='R' ),
6633          ),
6634          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=9,
6635                                into=("DEPL","VITE","ACCE_ABSOLU","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
6636                                      "EFGE_ELNO_DEPL","REAC_NODA","FORC_NODA","EFGE_ELNO_CART",
6637                                      "SIPO_ELNO_DEPL") ),
6638          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
6639          IMPRESSION      =FACT(statut='f',max='**',
6640            regles=(EXCLUS('TOUT','NIVEAU'),),
6641            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6642            NIVEAU          =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),validators=NoRepeat(),max=3 ),
6643          ),
6644          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6645 )  ;
6646 #& MODIF COMMANDE  DATE 22/11/2005   AUTEUR DURAND C.DURAND 
6647 # RESPONSABLE VABHHTS J.PELLET
6648 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6649 # ======================================================================
6650 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6651 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6652 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6653 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6654 # (AT YOUR OPTION) ANY LATER VERSION.
6655 #
6656 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6657 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6658 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6659 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6660 #
6661 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6662 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6663 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6664 # ======================================================================
6665 def crea_champ_prod(TYPE_CHAM,**args):
6666   import string
6667   grandeur=string.lower(TYPE_CHAM[5:])
6668
6669   if TYPE_CHAM[0:5] == "CART_" :
6670      uu="carte_"+grandeur
6671   elif TYPE_CHAM[0:5] == "NOEU_" :
6672      uu="cham_no_"+grandeur
6673   elif TYPE_CHAM[0:2] == "EL"    :
6674      uu="cham_elem_"+grandeur
6675   else :
6676      raise AsException("type de concept resultat_sdaster non prevu")
6677
6678   try :
6679      vv=eval(uu)
6680   except :
6681      raise AsException("type de concept champ non prevu : %s" % uu)
6682   return vv
6683
6684
6685 CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod,
6686                 fr="  ",reentrant='n',
6687             UIinfo={"groupes":("Résultats et champs",)},
6688          TYPE_CHAM       =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()),
6689       # TYPE_CHAM doit etre de la forme : CART_xx, NOEU_xx, ELEM_xx, ELGA_xx ou ELNO_xx
6690       # ou xx est le nom d'une grandeur définie dans le catalogue des grandeurs
6691
6692 #        SI CREATION D'UN CHAM_NO, POUR IMPOSER LA NUMEROTATION DES DDLS :
6693 #        ------------------------------------------------------------------
6694          regles=(EXCLUS('NUME_DDL','CHAM_NO',)),
6695          NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster) ),
6696          CHAM_NO         =SIMP(statut='f',typ=(cham_no_sdaster) ),
6697
6698 #        SI CREATION D'UN CHAM_ELEM, POUR aider a l'allocation du champ :
6699 #        (PAR DEFAUT : TOU_INI_ELNO/_ELGA/_ELEM)
6700 #        ------------------------------------------------------------------
6701          OPTION         =SIMP(statut='f',typ='TXM'),
6702
6703          OPERATION       =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC",) ),
6704
6705          b_affe          =BLOC(condition = "OPERATION == 'AFFE'",
6706              regles=(UN_PARMI('MAILLAGE','MODELE'),),
6707              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
6708              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
6709              b_affe_modele   =BLOC(condition = "MODELE != None",
6710                  PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), ),
6711              AFFE            =FACT(statut='o',max='**',
6712                 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),
6713                         UN_PARMI('VALE','VALE_I','VALE_C','VALE_F', ),),
6714                 TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6715                 GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
6716                 MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
6717                 GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
6718                 NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
6719                 NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
6720                 VALE            =SIMP(statut='f',typ='R',max='**' ),
6721                 VALE_I          =SIMP(statut='f',typ='I',max='**' ),
6722                 VALE_C          =SIMP(statut='f',typ='C',max='**' ),
6723                 VALE_F          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
6724                                    ),
6725                              ),
6726          b_asse          =BLOC(condition = "OPERATION == 'ASSE'",
6727              regles=(UN_PARMI('MAILLAGE','MODELE'),),
6728              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
6729              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
6730              b_asse_modele   =BLOC(condition = "MODELE != None",
6731                  PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), ),
6732              ASSE            =FACT(statut='o',max='**',
6733                 regles=(AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',),
6734                 PRESENT_PRESENT('NOM_CMP_RESU','NOM_CMP', ),),
6735                 TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6736                 GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6737                 GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6738                 MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6739                 NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6740                 CHAM_GD         =SIMP(statut='o',typ=(cham_gd_sdaster)),
6741                 NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),
6742                 NOM_CMP_RESU    =SIMP(statut='f',typ='TXM',max='**' ),
6743                 CUMUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
6744                 COEF_R          =SIMP(statut='f',typ='R',defaut= 1. ),
6745                                     ),
6746                              ),
6747          b_eval          =BLOC(condition = "OPERATION == 'EVAL'",
6748              CHAM_F          =SIMP(statut='o',typ=(cham_gd_sdaster)),
6749              CHAM_PARA       =SIMP(statut='o',typ=(cham_gd_sdaster),max='**'),
6750                              ),
6751          b_disc          =BLOC(condition = "OPERATION == 'DISC'",
6752              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
6753              PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
6754              CHAM_GD         =SIMP(statut='o',typ=(cham_gd_sdaster)),
6755                              ),
6756          b_extr          =BLOC(condition = "OPERATION == 'EXTR'",
6757              regles=(UN_PARMI('MAILLAGE','FISSURE','RESULTAT'),),
6758              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
6759              FISSURE         =SIMP(statut='f',typ=(fiss_xfem) ),
6760              RESULTAT        =SIMP(statut='f',typ=(resultat_sdaster) ),
6761              b_extr_maillage =BLOC(condition = "MAILLAGE != None",
6762                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("GEOMETRIE",)),
6763                                   ),
6764              b_extr_fissure  =BLOC(condition = "FISSURE != None",
6765                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("LTNO","LNNO","GRLTNO","GRLNNO",)),
6766                                   ),
6767              b_extr_resultat =BLOC(condition = "RESULTAT != None",
6768                  regles=(EXCLUS('TYPE_MAXI','NUME_ORDRE','INST','FREQ','NUME_MODE',
6769                                 'NOEUD_CMP','NOM_CAS','ANGL', ),),
6770                  SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
6771                                    fr="Paramètre de sensibilité.",
6772                                    ang="Sensitivity parameter"),
6773                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
6774                  TYPE_MAXI       =SIMP(statut='f',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN",) ),
6775                  TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE",into=("VALE","INST",) ),
6776                  TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6777                  LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
6778                  NUME_ORDRE      =SIMP(statut='f',typ='I'),
6779                  INST            =SIMP(statut='f',typ='R'),
6780                  FREQ            =SIMP(statut='f',typ='R'),
6781                  NUME_MODE       =SIMP(statut='f',typ='I'),
6782                  NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),
6783                  NOM_CAS         =SIMP(statut='f',typ='TXM'),
6784                  ANGL            =SIMP(statut='f',typ='R'),
6785                  PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
6786                  CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
6787                  INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ),
6788                               ),
6789
6790                 ),
6791 # FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULAT :
6792 #-----------------------------------------------------
6793          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
6794          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
6795 )  ;
6796 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR VABHHTS J.PELLET 
6797 # RESPONSABLE MCOURTOI M.COURTOIS
6798 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6799 # ======================================================================
6800 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6801 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6802 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6803 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6804 # (AT YOUR OPTION) ANY LATER VERSION.
6805 #
6806 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6807 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6808 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6809 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6810 #
6811 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6812 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6813 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6814 # ======================================================================
6815 CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster,
6816                      reentrant='n',
6817             UIinfo={"groupes":("Maillage",)},
6818          regles=(EXCLUS('ECLA_PG','CREA_MAILLE'),
6819                  EXCLUS('ECLA_PG','CREA_GROUP_MA'),
6820                  EXCLUS('ECLA_PG','DETR_GROUP_MA'),
6821                  EXCLUS('ECLA_PG','MODI_MAILLE'),
6822                  EXCLUS('ECLA_PG','LINE_QUAD'),
6823                  EXCLUS('ECLA_PG','COQU_VOLU'),
6824                  EXCLUS('LINE_QUAD','MODI_MAILLE'),
6825                  EXCLUS('LINE_QUAD','CREA_MAILLE'),
6826                  EXCLUS('LINE_QUAD','CREA_GROUP_MA'),
6827                  EXCLUS('LINE_QUAD','DETR_GROUP_MA'),
6828                  EXCLUS('LINE_QUAD','COQU_VOLU'),
6829                  EXCLUS('COQU_VOLU','MODI_MAILLE'),
6830                  EXCLUS('COQU_VOLU','CREA_MAILLE'),
6831                  EXCLUS('COQU_VOLU','CREA_GROUP_MA'),
6832                  EXCLUS('COQU_VOLU','DETR_GROUP_MA'),
6833                  ),
6834                  
6835          # le MAILLAGE est inutile si ECLA_PG
6836          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
6837          
6838          CREA_POI1       =FACT(statut='f',max='**',fr="Création de mailles de type POI1 à partir de noeuds",
6839            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD' ),),
6840            NOM_GROUP_MA    =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6841            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6842            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6843            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6844            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6845            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6846          ),
6847          CREA_MAILLE     =FACT(statut='f',max='**',fr="Duplication de mailles",
6848            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA'),),
6849            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6850            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6851            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6852            PREF_MAILLE     =SIMP(statut='o',typ='TXM' ),
6853            PREF_NUME       =SIMP(statut='f',typ='I' ),
6854          ),
6855          CREA_GROUP_MA   =FACT(statut='f',max='**',fr="Duplication de mailles et création de groupes de mailles",
6856            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
6857            NOM             =SIMP(statut='o',typ='TXM'),
6858            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6859            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6860            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6861            PREF_MAILLE     =SIMP(statut='o',typ='TXM' ),
6862            PREF_NUME       =SIMP(statut='f',typ='I' ),
6863          ),
6864          DETR_GROUP_MA   =FACT(statut='f',fr="Destruction de groupes de mailles",
6865            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6866            NB_MAILLE       =SIMP(statut='f',typ='I',defaut= 0,
6867                                  fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit",  ),
6868          ),
6869          COQU_VOLU   =FACT(statut='f',
6870                            fr="Creation de mailles volumiques à partir de mailles surfaciques",
6871            NOM             =SIMP(statut='o',typ='TXM'),
6872            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max ='**'),
6873            EPAIS           =SIMP(statut='o',typ='R' ),
6874            PREF_MAILLE     =SIMP(statut='f',typ='TXM',defaut="MS" ),
6875            PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS" ),
6876            PREF_NUME       =SIMP(statut='f',typ='I'  ,defaut=1 ),
6877            PLAN            =SIMP(statut='o',typ='TXM',into=("SUP","MOY","INF")),
6878            b_MOY =BLOC(condition = "PLAN == 'MOY'",
6879              TRANSLATION   =SIMP(statut='o',typ='TXM',into=("SUP","INF") ),
6880            ),
6881          ),
6882          MODI_MAILLE     =FACT(statut='f',max='**',fr="Modification du type de mailles",
6883            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
6884            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6885            MAILLE          =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6886            GROUP_MA        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6887            OPTION          =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4","QUAD_TRIA3"),
6888                                  fr="Choix de la transformation" ),
6889            b_NOS =BLOC(condition = "OPTION == 'TRIA6_7'  or  OPTION == 'QUAD8_9'  or  OPTION == 'SEG3_4'",
6890              PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS"),
6891              PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
6892            ),
6893            b_QTR =BLOC(condition = "OPTION == 'QUAD_TRIA3'",
6894              PREF_MAILLE     =SIMP(statut='f',typ='TXM',defaut="MS" ),
6895              PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
6896            ),
6897          ),
6898          LINE_QUAD     =FACT(statut='f',fr="Passage linéaire -> quadratique",
6899            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
6900            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6901            MAILLE          =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6902            GROUP_MA        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6903            PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS"),
6904            PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
6905          ),
6906          REPERE          =FACT(statut='f',max='**',
6907                                fr="changement de repère servant à déterminer les caractéristiques d une section de poutre",
6908            TABLE           =SIMP(statut='o',typ=tabl_cara_geom,
6909                                  fr="Nom de la table contenant les caractéristiques de la section de poutre" ),
6910            NOM_ORIG        =SIMP(statut='f',typ='TXM',into=("CDG","TORSION"),fr="Origine du nouveau repère" ),
6911            NOM_ROTA        =SIMP(statut='f',typ='TXM',into=("INERTIE",),fr="Direction du repére"  ),
6912            b_cdg =BLOC(condition = "NOM_ORIG == 'CDG'",
6913              GROUP_MA        =SIMP(statut='f',typ=grma,
6914                                    fr="Nom du groupe de mailles dont le centre de gravité sera l origine du nouveau repère"),
6915            ),
6916          ),
6917          ECLA_PG         =FACT(statut='f',
6918                                fr="Eclatement des mailles en petites mailles contenant chacune un seul point de gauss",
6919            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
6920            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6921            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6922            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6923            SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
6924            TAILLE_MIN      =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
6925            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
6926                                  into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ),
6927          ),
6928          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6929 #
6930          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
6931 )  ;
6932 #& MODIF COMMANDE  DATE 30/01/2006   AUTEUR D6BHHJP J.P.LEFEBVRE 
6933 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6934 # ======================================================================
6935 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6936 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6937 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6938 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6939 # (AT YOUR OPTION) ANY LATER VERSION.
6940 #
6941 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6942 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6943 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6944 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6945 #
6946 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6947 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6948 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6949 # ======================================================================
6950 def crea_resu_prod(TYPE_RESU,**args):
6951   if TYPE_RESU == "EVOL_ELAS"    : return evol_elas
6952   if TYPE_RESU == "EVOL_NOLI"    : return evol_noli
6953   if TYPE_RESU == "EVOL_THER"    : return evol_ther
6954   if TYPE_RESU == "MULT_ELAS"    : return mult_elas
6955   if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas
6956   if TYPE_RESU == "EVOL_VARC"    : return evol_varc
6957   raise AsException("type de concept resultat non prevu")
6958
6959 CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
6960             UIinfo={"groupes":("Modélisation",)},
6961                fr="Créer ou enrichir une structure de donnees resultat à partir de champs aux noeuds",
6962
6963          OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ECLA_PG","PERM_CHAM","PROL_RTZ",),
6964                          fr="choix de la fonction a activer",),
6965
6966          b_affe       =BLOC(condition = "OPERATION == 'AFFE'",
6967
6968            TYPE_RESU    =SIMP(statut='o',position='global',typ='TXM',into=("MULT_ELAS","EVOL_ELAS","EVOL_NOLI","FOURIER_ELAS",
6969                                                                            "EVOL_THER","EVOL_VARC",) ),
6970            NOM_CHAM     =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
6971
6972            AFFE         =FACT(statut='o',max='**',
6973              CHAM_GD       =SIMP(statut='o',typ=(cham_gd_sdaster)),
6974              MODELE        =SIMP(statut='f',typ=modele_sdaster),
6975              CHAM_MATER    =SIMP(statut='f',typ=cham_mater),
6976              CARA_ELEM     =SIMP(statut='f',typ=cara_elem),
6977
6978              b_mult_elas     =BLOC(condition = "TYPE_RESU == 'MULT_ELAS' ",
6979                 NOM_CAS         =SIMP(statut='f',typ='TXM' ),
6980              ),
6981              b_evol          =BLOC(condition = "((TYPE_RESU=='EVOL_ELAS') or (TYPE_RESU=='EVOL_NOLI') or (TYPE_RESU=='EVOL_THER')\
6982                                                                           or (TYPE_RESU=='EVOL_VARC') )",
6983                 regles=(UN_PARMI('INST','LIST_INST'),),
6984                 INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6985                 LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
6986                 NUME_INIT       =SIMP(statut='f',typ='I', val_min=1),
6987                 NUME_FIN        =SIMP(statut='f',typ='I', val_min=1),
6988                 PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
6989                 CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6990              ),
6991              b_fourier       =BLOC(condition = "TYPE_RESU == 'FOURIER_ELAS' ",
6992                 NUME_MODE       =SIMP(statut='f',typ='I'),
6993                 TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
6994              ),
6995            ),
6996          ),
6997
6998          b_ecla_pg    =BLOC(condition = "OPERATION == 'ECLA_PG'",
6999
7000            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_ELAS","EVOL_NOLI","EVOL_THER"), ),
7001
7002            ECLA_PG         =FACT(statut='o',
7003              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
7004              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
7005                                    into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ),
7006              MODELE_INIT     =SIMP(statut='o',typ=modele_sdaster),
7007              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7008              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7009              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7010              RESU_INIT       =SIMP(statut='o',typ=resultat_sdaster),
7011              MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
7012              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7013              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
7014              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
7015              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
7016              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
7017              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
7018              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
7019            ),
7020          ),
7021
7022          b_perm_cham =BLOC(condition = "OPERATION == 'PERM_CHAM'",
7023
7024            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_NOLI",) ),
7025            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","SIEF_ELGA","VARI_ELGA",),validators=NoRepeat(),max='**' ),
7026            RESU_INIT       =SIMP(statut='o',typ=evol_noli),
7027            INST_INIT       =SIMP(statut='f',typ='R'),
7028            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
7029            CRITERE         =SIMP(statut='f',typ='TXM',into=('RELATIF','ABSOLU'),defaut='RELATIF'),
7030            MAILLAGE_INIT   =SIMP(statut='o',typ=maillage_sdaster,),
7031            RESU_FINAL      =SIMP(statut='o',typ=evol_noli,),
7032            MAILLAGE_FINAL  =SIMP(statut='o',typ=maillage_sdaster,),
7033            PERM_CHAM       =FACT(statut='o',max='**',
7034               GROUP_MA_FINAL =SIMP(statut='o',typ=grma),
7035               GROUP_MA_INIT  =SIMP(statut='o',typ=grma),
7036               TRAN           =SIMP(statut='o',typ='R',max='**'),
7037               PRECISION      =SIMP(statut='f',typ='R',defaut=1.0E-3),
7038            ),
7039          ),
7040
7041          b_prol_rtz   =BLOC(condition = "OPERATION == 'PROL_RTZ'",
7042
7043            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_THER",) ),
7044
7045            PROL_RTZ        =FACT(statut='o',
7046               regles=(EXCLUS('INST','LIST_INST'),),
7047               MAILLAGE_FINAL  =SIMP(statut='o',typ=maillage_sdaster,),
7048               TABLE           =SIMP(statut='o',typ=table_sdaster,fr="Table issue de post_releve_t"),
7049               INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
7050               LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
7051               b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
7052                  PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
7053                  CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
7054               ),
7055               PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),),
7056               PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),),
7057               REPERE          =SIMP(statut='o',typ='TXM',into=("CYLINDRIQUE",),),
7058               ORIGINE         =SIMP(statut='o',typ='R',min=3,max=3),
7059               AXE_Z           =SIMP(statut='o',typ='R',min=3,max=3),
7060            ),
7061          ),
7062
7063 )  ;
7064 #& MODIF COMMANDE  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
7065 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7066 # ======================================================================
7067 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7068 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7069 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7070 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7071 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7072 #                                                                       
7073 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7074 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7075 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7076 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7077 #                                                                       
7078 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7079 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7080 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7081 # ======================================================================
7082 def crea_table_prod(TYPE_TABLE,**args):
7083   if TYPE_TABLE == "TABLE"          : return table_sdaster
7084   if TYPE_TABLE == "TABL_CARA_GEOM" : return tabl_cara_geom
7085   if TYPE_TABLE == "TABL_POST_RELE" : return tabl_post_rele
7086   if TYPE_TABLE == "TABL_POST_USUR" : return tabl_post_usur
7087   if TYPE_TABLE == "TABL_POST_ALEA" : return tabl_post_alea
7088   if TYPE_TABLE == "TABL_INTE_SPEC" : return tabl_intsp
7089   raise AsException("type de concept resultat non prevu")
7090
7091 CREA_TABLE=OPER(nom="CREA_TABLE",op=  36,sd_prod=crea_table_prod,
7092                 fr="Creation d'une table a partir d'une fonction ou de deux listes",
7093                 reentrant='n',UIinfo={"groupes":("Table",)},
7094
7095            regles=(EXCLUS('FONCTION','LISTE')),
7096
7097            TYPE_TABLE=SIMP(statut='f',typ='TXM',defaut="TABLE",
7098                            into=("TABLE",
7099                                  "TABL_CARA_GEOM",
7100                                  "TABL_POST_RELE",
7101                                  "TABL_POST_USUR",
7102                                  "TABL_POST_ALEA",
7103                                  "TABL_INTE_SPEC" ) ),
7104            LISTE=FACT(statut='f',min=2,max='**',
7105                  fr="Creation d'une table a partir de listes",
7106                  regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), 
7107                         PARA=SIMP(statut='o',typ='TXM'),
7108                         TYPE_K=SIMP(statut='f',typ='TXM',defaut='K8',
7109                                     into=('K8','K16','K24')),
7110                         NUME_LIGN=SIMP(statut='f',typ='I',max='**'),
7111                         LISTE_I=SIMP(statut='f',typ='I',max='**'),
7112                         LISTE_R=SIMP(statut='f',typ='R',max='**'),
7113                         LISTE_K=SIMP(statut='f',typ='TXM', max='**')),
7114            FONCTION=FACT(statut='f',min=1,max=1,
7115                     fr="Creation d'une table a partir d'une fonction",
7116                         FONCTION=SIMP(statut='o',typ=fonction_sdaster),
7117                         PARA=SIMP(statut='f',typ='TXM',min=2,max=2)),  
7118            TITRE=SIMP(statut='f',typ='TXM',max='**'),
7119 )  ;
7120
7121
7122
7123 #& MODIF COMMANDE  DATE 30/01/2006   AUTEUR D6BHHJP J.P.LEFEBVRE 
7124 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7125 # ======================================================================
7126 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7127 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7128 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7129 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7130 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7131 #
7132 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7133 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7134 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7135 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7136 #
7137 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7138 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7139 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7140 # ======================================================================
7141 DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,repetable='n',
7142             UIinfo={"groupes":("Gestion du travail",)},
7143            fr="Ouverture d une étude. Allocation des ressources mémoire et disque",
7144           sd_prod=ops.DEBUT,
7145
7146          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
7147                            into=("OUI","NON"),defaut="OUI"),
7148          BASE            =FACT(fr="définition des paramètres associés aux bases JEVEUX",
7149                                statut='f',min=1,max=3,
7150            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM',
7151                                  into=('GLOBALE','VOLATILE','LOCALE'),),
7152            TITRE           =SIMP(statut='f',typ='TXM'),
7153            CAS             =SIMP(statut='f',typ='TXM'),
7154            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
7155            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
7156            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
7157          ),
7158          IMPRESSION      =FACT(statut='f',min=1,max=3,
7159            FICHIER         =SIMP(statut='o',typ='TXM'),
7160            UNITE           =SIMP(statut='o',typ='I'),
7161          ),
7162          CATALOGUE       =FACT(statut='f',min=1,max=10,
7163            FICHIER         =SIMP(statut='o',typ='TXM'),
7164            TITRE           =SIMP(statut='f',typ='TXM'),
7165            UNITE           =SIMP(statut='f',typ='I'),
7166          ),
7167          CODE            =FACT(fr="définition d un nom pour l'ensemble d'une étude",
7168                                statut='f',min=1,max=1,
7169            NOM             =SIMP(statut='o',typ='TXM'),
7170            NIV_PUB_WEB     =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')),
7171            VISU_EFICAS     =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'),
7172            UNITE           =SIMP(statut='f',typ='I',defaut=15),
7173          ),
7174          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
7175                                statut='f',min=1,max=1,
7176            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
7177                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
7178            JEVEUX          =SIMP(fr="force les déchargement sur disque",
7179                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
7180            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
7181                                  statut='f',typ='TXM',into=('TEST',)),
7182          ),
7183          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
7184            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
7185            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
7186            TAILLE          =SIMP(statut='f',typ='I'),
7187            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
7188            PARTITION       =SIMP(statut='f',typ='R'),
7189          ),
7190  );
7191 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7192 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7193 # ======================================================================
7194 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7195 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7196 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7197 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7198 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7199 #
7200 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7201 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7202 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7203 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7204 #
7205 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7206 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7207 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7208 # ======================================================================
7209 DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op=  99,sd_prod=base_modale,
7210                      reentrant='f',
7211             UIinfo={"groupes":("Matrices/vecteurs",)},
7212          regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS'),),
7213          CLASSIQUE       =FACT(statut='f',
7214            INTERF_DYNA     =SIMP(statut='o',typ=interf_dyna_clas ),
7215            MODE_MECA       =SIMP(statut='o',typ=mode_meca,max='**' ),
7216            NMAX_MODE       =SIMP(statut='f',typ='I',defaut= 10 ),
7217          ),
7218          RITZ            =FACT(statut='f',max='**',
7219            regles=(UN_PARMI('MODE_STAT','MODE_MECA','MULT_ELAS','BASE_MODALE'),),
7220            MODE_MECA       =SIMP(statut='f',typ=mode_meca,max='**'  ),
7221            NMAX_MODE       =SIMP(statut='f',typ='I',defaut= 999 ),
7222            MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
7223            MULT_ELAS       =SIMP(statut='f',typ=mult_elas ),
7224            BASE_MODALE     =SIMP(statut='f',typ=base_modale ),
7225          ),
7226         DIAG_MASS        =FACT(statut='f',max='**',
7227            MODE_MECA       =SIMP(statut='o',typ=mode_meca,max='**'  ),
7228            MODE_STAT       =SIMP(statut='o',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
7229          ),
7230 #  le bloc conditionnel remplace-t-il PRESENT_PRESENT('RITZ','NUME_REF'),
7231 #                                     PRESENT_ABSENT('INTERF_DYNA','CLASSIQUE'),        
7232          b_ritz          =BLOC(condition = "RITZ != None",
7233            INTERF_DYNA     =SIMP(statut='f',typ=interf_dyna_clas ),
7234            NUME_REF        =SIMP(statut='o',typ=nume_ddl_sdaster ),
7235          ),
7236          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7237          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7238 )  ;
7239 #& MODIF COMMANDE  DATE 28/02/2005   AUTEUR DURAND C.DURAND 
7240 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7241 # ======================================================================
7242 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7243 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7244 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7245 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7246 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7247 #                                                                       
7248 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7249 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7250 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7251 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7252 #                                                                       
7253 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7254 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7255 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7256 # ======================================================================
7257
7258 from Macro.defi_cable_bp_ops import defi_cable_bp_ops
7259
7260 # ===========================================================================
7261 #           CATALOGUE DE LA MACRO "DEFI_CABLE_BP"
7262 #           -----------------------------------------
7263 #
7264 # USAGE :
7265 # Entrée :
7266 #  - MAILLAGE
7267 #  - MODELE
7268 #  - CABLE
7269 #  - CHAM_MATER
7270 #  - CARA_ELEM
7271 #  - GROUP_MA_BETON
7272 #  - DEFI_CABLE
7273 #  - TENSION_INIT
7274 #  - RECUL_ANCRAGE
7275 #  - RELAXATION
7276 #  - CONE
7277 #      RAYON
7278 #      LONGUEUR
7279 #      PRESENT          OUI ou NON deux fois
7280 #  - TITRE
7281 #  - INFO               1 / 2
7282 #
7283 # ===========================================================================
7284
7285
7286 def defi_cable_bp_prod(self,MAILLAGE,**args ):
7287   if MAILLAGE!= None : self.type_sdprod(MAILLAGE,maillage_sdaster)
7288   return cabl_precont
7289   raise AsException("type de concept resultat non prevu")
7290
7291 DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP",op=defi_cable_bp_ops,sd_prod=defi_cable_bp_prod,
7292                    fr=" ",
7293                    reentrant='n',
7294          regles=(ENSEMBLE('MAILLAGE','CONE'),),
7295          MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster,CO)),
7296          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
7297          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
7298          CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
7299          GROUP_MA_BETON  =SIMP(statut='o',typ=grma,max='**'),
7300          DEFI_CABLE      =FACT(statut='o',max='**',
7301            regles=(UN_PARMI('MAILLE','GROUP_MA'),
7302                    UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
7303            MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
7304            GROUP_MA        =SIMP(statut='f',typ=grma),
7305            NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
7306            GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7307          ),
7308          TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
7309          TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7310          RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7311          RELAXATION      =FACT(statut='f',min=0,
7312            R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7313          ),
7314          CONE            =FACT(statut='f',min=0,
7315            RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7316            LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7317            PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
7318          ),
7319          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
7320          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7321 )  ;
7322 #& MODIF COMMANDE  DATE 24/08/2004   AUTEUR CIBHHPD S.VANDENBERGHE 
7323 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7324 # ======================================================================
7325 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7326 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7327 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7328 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7329 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7330 #                                                                       
7331 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7332 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7333 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7334 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7335 #                                                                       
7336 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7337 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7338 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7339 # ======================================================================
7340
7341 DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,
7342                    fr=" ",
7343                    reentrant='n',
7344             UIinfo={"groupes":("Modélisation",)},
7345          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
7346          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
7347          CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
7348          GROUP_MA_BETON  =SIMP(statut='o',typ=grma,max='**'),
7349          DEFI_CABLE      =FACT(statut='o',max='**',
7350            regles=(UN_PARMI('MAILLE','GROUP_MA'),
7351                    UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
7352            MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
7353            GROUP_MA        =SIMP(statut='f',typ=grma),
7354            NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
7355            GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7356            GROUP_NO_FUT    =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7357          ),
7358          TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
7359          TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7360          RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7361          RELAXATION      =FACT(statut='f',min=0,
7362            R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7363          ),
7364          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
7365          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7366          CONE            =FACT(statut='f',min=0,
7367            RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7368            LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ),  
7369            PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
7370          ),
7371 )  ;
7372 #& MODIF COMMANDE  DATE 27/09/2004   AUTEUR JMBHH01 J.M.PROIX 
7373 # RESPONSABLE JMBHH01 J.M.PROIX
7374 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7375 # ======================================================================
7376 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
7377 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7378 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7379 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7380 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7381 #                                                                       
7382 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7383 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7384 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7385 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7386 #                                                                       
7387 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7388 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7389 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7390 # ======================================================================
7391 DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
7392                    fr="Définition du comportement monocristallin",
7393                    reentrant='n',
7394             UIinfo={"groupes":("Modélisation",)},
7395                   regles=(EXCLUS('MONOCRISTAL','POLYCRISTAL'),),
7396
7397           MONOCRISTAL    =FACT(statut='f', max='**',
7398              MATER           =SIMP(statut='o', typ=mater_sdaster, max=1),
7399              ECOULEMENT      =SIMP(statut='o', typ='TXM', max=1,
7400                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"),
7401              ECRO_ISOT       =SIMP(statut='o', typ='TXM', max=1,
7402                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"),
7403              ECRO_CINE       =SIMP(statut='o', typ='TXM', max=1,
7404                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"),
7405              ELAS            =SIMP(statut='f', typ='TXM', max=1,
7406                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"),
7407              FAMI_SYST_GLIS  =SIMP(statut='o',typ='TXM', max=1, 
7408                                 into=('BASAL', 'PRISMATIQUE', 'OCTAEDRIQUE', 'PYRAMIDAL1',
7409                                 'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL'),),
7410                                 ),
7411                                 
7412                                 
7413           POLYCRISTAL    =FACT(statut='f', max='**',
7414              MONOCRISTAL     =SIMP(statut='o', typ=compor_sdaster, max=1),
7415              FRAC_VOL  =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"),
7416              ANGL_REP  =SIMP(statut='o',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler en degrés"),
7417                                 ),
7418                                 
7419                                 
7420           b_poly      =BLOC( condition = "POLYCRISTAL!='None'",
7421           LOCALISATION     =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',),
7422                 fr="Donner le nom de la règle de localisation"),
7423           
7424            b_beta      =BLOC( condition = "LOCALISATION=='BETA'",
7425              DL            =SIMP(statut='o',typ='R',max=1),
7426              DA            =SIMP(statut='o',typ='R',max=1),
7427              ),
7428              ),
7429                                 
7430                                 );
7431                    
7432 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7433 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7434 # ======================================================================
7435 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7436 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7437 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7438 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7439 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7440 #
7441 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7442 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7443 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7444 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7445 #
7446 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7447 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7448 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7449 # ======================================================================
7450 DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op=   2,sd_prod=fonction_sdaster,
7451                     fr="Définition d une fonction constante",
7452                     reentrant='n',
7453             UIinfo={"groupes":("Fonction",)},
7454          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
7455          VALE            =SIMP(statut='o',typ='R',),
7456          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7457 )  ;
7458 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
7459 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7460 # ======================================================================
7461 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7462 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7463 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7464 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7465 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7466 #
7467 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7468 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7469 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7470 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7471 #
7472 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7473 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7474 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7475 # ======================================================================
7476 DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant='n',
7477             UIinfo={"groupes":("Modélisation",)},
7478                     fr="Définition d une coque composite couche par couche",
7479          COUCHE          =FACT(statut='o',max='**',
7480            EPAIS           =SIMP(statut='o',typ='R',val_min=0.E+0 ),
7481            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
7482            ORIENTATION     =SIMP(statut='f',typ='R',defaut= 0.E+0,
7483                                  val_min=-90.E+0,val_max=90.E+0   ),
7484          ),
7485          IMPRESSION      =FACT(statut='f',
7486            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
7487          ),
7488 )  ;
7489 #& MODIF COMMANDE  DATE 11/05/2005   AUTEUR MCOURTOI M.COURTOIS 
7490 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7491 # ======================================================================
7492 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7493 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7494 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7495 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7496 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7497 #                                                                       
7498 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7499 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7500 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7501 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7502 #                                                                       
7503 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7504 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7505 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7506 # ======================================================================
7507 # RESPONSABLE D6BHHJP J.P.LEFEBVRE
7508 def DEFIC_prod(self,ACTION,UNITE,**args):
7509   if ACTION == "ASSOCIER" or ACTION == "RESERVER":
7510     if UNITE != None :
7511       return
7512     else :
7513       return entier
7514   elif ACTION == "LIBERER"  :
7515     return
7516   else :
7517     raise AsException("ACTION non prevue : %s" % ACTION)
7518
7519 DEFI_FICHIER=MACRO(nom="DEFI_FICHIER",op=ops.build_DEFI_FICHIER,sd_prod=DEFIC_prod,reentrant='n',
7520                   UIinfo={"groupes":("Gestion du travail",)},
7521                   fr="Gestion d une unité logique : ajout, suppression",
7522
7523             ACTION        =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER","RESERVER"),defaut="ASSOCIER"),
7524
7525             b_associer    =BLOC(condition = "ACTION == 'ASSOCIER'",
7526                                 fr="Paramètres pour l'ouverture du fichier",
7527                                 regles=(AU_MOINS_UN('FICHIER','UNITE'),),
7528                UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
7529                FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
7530                TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"),
7531
7532                b_type_ascii  =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII",
7533                   ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"),
7534                ),
7535                b_type_autre  =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE",
7536                   ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"),
7537                ),
7538             ),
7539
7540             b_reserver    =BLOC(condition = "ACTION == 'RESERVER'",
7541                                 fr="Paramètres pour la réservation de l'unité du fichier",
7542                                 regles=(AU_MOINS_UN('FICHIER','UNITE'),),
7543                UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
7544                FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
7545                TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII",),defaut="ASCII"),
7546                ACCES      =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"),
7547             ),
7548
7549             b_liberer    =BLOC(condition = "ACTION == 'LIBERER'",
7550                                fr="Paramètres pour la fermeture du fichier",
7551                                regles=(UN_PARMI('FICHIER','UNITE'),),
7552                   UNITE         =SIMP(statut='f',typ='I' ,val_min=1),
7553                   FICHIER   =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
7554            ),
7555
7556            INFO          =SIMP(statut='f',typ='I',into=(1,2) ),           
7557            )
7558 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
7559 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7560 # ======================================================================
7561 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
7562 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7563 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7564 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7565 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7566 #                                                                       
7567 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7568 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7569 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7570 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7571 #                                                                       
7572 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7573 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7574 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7575 # ======================================================================
7576
7577 DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op=  41,sd_prod=fiss_xfem,reentrant='f',
7578             UIinfo={"groupes":("Modélisation",)},
7579                fr="Définition des caratéristiques d''une fissure avec XFEM",
7580
7581     MODELE                =SIMP(statut='o',typ=modele_sdaster),
7582     DEFI_FISS             =FACT(statut='o',max=01,
7583       regles              =(UN_PARMI('GROUP_MA_FISS','FONC_LT'),
7584                             ENSEMBLE('FONC_LT','FONC_LN'),
7585                             ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')),
7586       FONC_LT             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7587       FONC_LN             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7588       GROUP_MA_FISS       =SIMP(statut='f',typ=grma,max=01),
7589       GROUP_MA_FOND       =SIMP(statut='f',typ=grma),
7590     ),
7591     GROUP_MA_ENRI         =SIMP(statut='o',typ=grma,max=01),
7592     ORIE_FOND             =FACT(statut='o',max=01,
7593       PFON_INI            =SIMP(statut='o',typ='R',max=03),
7594       VECT_ORIE           =SIMP(statut='o',typ='R',max=03),
7595       PT_ORIGIN           =SIMP(statut='o',typ='R',max=03),
7596     ),
7597     INFO                  =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ),
7598
7599 )  ;
7600 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
7601 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7602 # ======================================================================
7603 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7604 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7605 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7606 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7607 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7608 #
7609 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7610 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7611 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7612 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7613 #
7614 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7615 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7616 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7617 # ======================================================================
7618 DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru,
7619                     reentrant='n',
7620             UIinfo={"groupes":("Maillage",)},
7621          regles=(  UN_PARMI('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),),
7622          FAISCEAU_TRANS  =FACT(statut='f',max='**',
7623            COUPLAGE        =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
7624            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
7625            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7626            PROF_RHO_F_INT  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7627            PROF_RHO_F_EXT  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7628            NOM_CMP         =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ),
7629            COEF_MASS_AJOU  =SIMP(statut='f',typ='R' ),
7630            TYPE_PAS        =SIMP(statut='f',typ='TXM',into=("CARRE_LIGN","TRIA_LIGN") ),
7631            TYPE_RESEAU     =SIMP(statut='f',typ='I' ),
7632            UNITE_CD        =SIMP(statut='f',typ='I',defaut=70),
7633            UNITE_CK        =SIMP(statut='f',typ='I',defaut=71),            
7634            PAS             =SIMP(statut='f',typ='R' ),
7635          ),
7636          GRAPPE          =FACT(statut='f',
7637            regles=(ENSEMBLE('GRAPPE_2','NOEUD','CARA_ELEM','MODELE','RHO_FLUI',),
7638                    PRESENT_PRESENT('COEF_MASS_AJOU','GRAPPE_2', ),),
7639 #  peut on créer un bloc a partir de la valeur de couplage  
7640            COUPLAGE        =SIMP(statut='o',typ='TXM',into=("OUI","NON") ),
7641            GRAPPE_2        =SIMP(statut='f',typ='TXM',
7642                                  into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC") ),
7643            NOEUD           =SIMP(statut='f',typ=no),
7644            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
7645            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
7646            COEF_MASS_AJOU  =SIMP(statut='f',typ='R' ),
7647            RHO_FLUI        =SIMP(statut='f',typ='R' ),
7648            UNITE_CA        =SIMP(statut='f',typ='I',defaut=70),
7649            UNITE_KA        =SIMP(statut='f',typ='I',defaut=71),            
7650          ),
7651          FAISCEAU_AXIAL  =FACT(statut='f',max='**',
7652            regles=(UN_PARMI('GROUP_MA','TRI_GROUP_MA'),
7653                    UN_PARMI('CARA_ELEM','RAYON_TUBE'),
7654                    ENSEMBLE('RAYON_TUBE','COOR_TUBE'),
7655                    PRESENT_ABSENT('RAYON_TUBE','TRI_GROUP_MA'),
7656                    ENSEMBLE('CARA_PAROI','VALE_PAROI'),
7657                    ENSEMBLE('LONG_TYPG','LARG_TYPG','EPAI_TYPG','RUGO_TYPG','COEF_TRAI_TYPG','COEF_DPOR_TYPG',
7658                             'COOR_GRILLE','TYPE_GRILLE', ),),
7659 #  on doit pouvoir mettre des blocs conditionnels mais pas assez d infos pour le faire                            
7660            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7661            TRI_GROUP_MA    =SIMP(statut='f',typ='TXM' ),
7662            VECT_X          =SIMP(statut='f',typ='R',max=3),
7663            PROF_RHO_FLUI   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7664            PROF_VISC_CINE  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7665            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
7666            RAYON_TUBE      =SIMP(statut='f',typ='R' ),
7667            COOR_TUBE       =SIMP(statut='f',typ='R',max='**'),
7668            PESANTEUR       =SIMP(statut='f',typ='R',min=4,max=4),
7669            RUGO_TUBE       =SIMP(statut='f',typ='R' ),
7670            CARA_PAROI      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=5,
7671                                  into=("YC","ZC","R","HY","HZ") ),
7672            VALE_PAROI      =SIMP(statut='f',typ='R',max=5),
7673            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
7674            LONG_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7675            LARG_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7676            EPAI_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7677            RUGO_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7678            COEF_TRAI_TYPG  =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7679            COEF_DPOR_TYPG  =SIMP(statut='f',typ='R',max='**'),
7680            COOR_GRILLE     =SIMP(statut='f',typ='R',max='**'),
7681            TYPE_GRILLE     =SIMP(statut='f',typ='I',max='**'),
7682          ),
7683          COQUE_COAX      =FACT(statut='f',
7684            MASS_AJOU       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7685            GROUP_MA_INT    =SIMP(statut='o',typ=grma),
7686            GROUP_MA_EXT    =SIMP(statut='o',typ=grma),
7687            VECT_X          =SIMP(statut='o',typ='R',max='**'),
7688            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
7689            MATER_INT       =SIMP(statut='o',typ=mater_sdaster ),
7690            MATER_EXT       =SIMP(statut='o',typ=mater_sdaster ),
7691            RHO_FLUI        =SIMP(statut='o',typ='R' ),
7692            VISC_CINE       =SIMP(statut='o',typ='R' ),
7693            RUGOSITE        =SIMP(statut='o',typ='R' ),
7694            PDC_MOY_1       =SIMP(statut='o',typ='R' ),
7695            PDC_DYN_1       =SIMP(statut='o',typ='R' ),
7696            PDC_MOY_2       =SIMP(statut='o',typ='R' ),
7697            PDC_DYN_2       =SIMP(statut='o',typ='R' ),
7698          ),
7699          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7700 )  ;
7701 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7702 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7703 # ======================================================================
7704 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7705 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7706 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7707 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7708 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7709 #
7710 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7711 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7712 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7713 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7714 #
7715 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7716 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7717 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7718 # ======================================================================
7719 DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentrant='n',
7720             UIinfo={"groupes":("Outils métier",)},
7721                     fr="Définition d une fonction du temps pour calculer des forces de LAPLACE",
7722       regles=(UN_PARMI('COUR_PRIN','COUR'),
7723               EXCLUS('COUR','COUR_SECO'), ),
7724          FREQ            =SIMP(statut='f',typ='R',defaut= 50.),
7725          SIGNAL          =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("COMPLET","CONTINU") ),
7726          COUR            =FACT(statut='f',max='**',
7727          fr="Définition du courant de court-circuit",
7728            regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),
7729                    UN_PARMI('PHI_CC_2','INTC_CC_2'),),
7730            INTE_CC_1       =SIMP(statut='o',typ='R'),
7731            TAU_CC_1        =SIMP(statut='o',typ='R'),
7732            PHI_CC_1        =SIMP(statut='f',typ='R'),
7733            INTC_CC_1       =SIMP(statut='f',typ='R'),
7734            INTE_CC_2       =SIMP(statut='o',typ='R'),
7735            TAU_CC_2        =SIMP(statut='o',typ='R'),
7736            PHI_CC_2        =SIMP(statut='f',typ='R'),
7737            INTC_CC_2       =SIMP(statut='f',typ='R'),
7738            INST_CC_INIT    =SIMP(statut='o',typ='R'),
7739            INST_CC_FIN     =SIMP(statut='o',typ='R'),
7740          ),
7741          COUR_PRIN       =FACT(statut='f',
7742          fr="Définition du courant de court-circuit avec réenclenchement",
7743            regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),),
7744            INTE_CC_1       =SIMP(statut='o',typ='R'),
7745            TAU_CC_1        =SIMP(statut='o',typ='R'),
7746            PHI_CC_1        =SIMP(statut='f',typ='R'),
7747            INTC_CC_1       =SIMP(statut='f',typ='R'),
7748            INTE_RENC_1     =SIMP(statut='f',typ='R'),
7749            TAU_RENC_1      =SIMP(statut='f',typ='R'),
7750            PHI_RENC_1      =SIMP(statut='f',typ='R'),
7751            INST_CC_INIT    =SIMP(statut='o',typ='R'),
7752            INST_CC_FIN     =SIMP(statut='o',typ='R'),
7753            INST_RENC_INIT  =SIMP(statut='f',typ='R',defaut= 0.0E+0),
7754            INST_RENC_FIN   =SIMP(statut='f',typ='R',defaut= 0.0E+0),
7755          ),
7756          COUR_SECO       =FACT(statut='f',max='**',
7757          fr="Définition du courant de court-circuit avec un intervalle de temps différent de celui de COUR_PRIN",
7758            regles=(UN_PARMI('PHI_CC_2','INTC_CC_2'),),
7759            INTE_CC_2       =SIMP(statut='o',typ='R'),
7760            TAU_CC_2        =SIMP(statut='o',typ='R'),
7761            PHI_CC_2        =SIMP(statut='f',typ='R'),
7762            INTC_CC_2       =SIMP(statut='f',typ='R'),
7763            INTE_RENC_2     =SIMP(statut='f',typ='R'),
7764            TAU_RENC_2      =SIMP(statut='f',typ='R'),
7765            PHI_RENC_2      =SIMP(statut='f',typ='R'),
7766            DIST            =SIMP(statut='f',typ='R',defaut=1.0E+0),
7767          ),
7768          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
7769 )  ;
7770 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7771 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7772 # ======================================================================
7773 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7774 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7775 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7776 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7777 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7778 #
7779 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7780 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7781 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7782 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7783 #
7784 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7785 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7786 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7787 # ======================================================================
7788 DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster,
7789                     reentrant='n',
7790             UIinfo={"groupes":("Fonction",)},
7791          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
7792          NOEUD_INIT      =SIMP(statut='o',typ=no),
7793          NOEUD_FIN       =SIMP(statut='o',typ=no),
7794          VITE            =FACT(statut='o',
7795            VALE            =SIMP(statut='f',typ='R',defaut= 1. ),
7796            PROFIL          =SIMP(statut='o',typ='TXM',into=("UNIFORME","LEONARD") ),
7797            NB_BAV          =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 2 , 3 ) ),
7798          ),
7799          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",
7800                                into=("NON","LIN","LOG") ),
7801          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",
7802                                into=("CONSTANT","LINEAIRE","EXCLU") ),
7803          PROL_GAUCHE     =SIMP(statut='f',typ='TXM' ,defaut="EXCLU",
7804                                into=("CONSTANT","LINEAIRE","EXCLU") ),
7805          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
7806          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7807 )  ;
7808 #& MODIF COMMANDE  DATE 10/10/2005   AUTEUR MCOURTOI M.COURTOIS 
7809 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7810 # ======================================================================
7811 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7812 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7813 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7814 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7815 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7816 #
7817 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7818 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7819 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7820 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7821 #
7822 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7823 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7824 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7825 # ======================================================================
7826 # RESPONSABLE MCOURTOI M.COURTOIS
7827 def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,**args):
7828   if VALE       != None  : return fonction_sdaster
7829   if VALE_C     != None  : return fonction_c
7830   if VALE_PARA  != None  : return fonction_sdaster
7831   if NOEUD_PARA != None  : return fonction_sdaster
7832   raise AsException("type de concept resultat non prevu")
7833
7834 DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod
7835                     ,fr="Définition des valeurs réelles ou complexes d une fonction réelle",
7836                      reentrant='n',
7837             UIinfo={"groupes":("Fonction",)},
7838          regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA'),),
7839          NOM_PARA        =SIMP(statut='o',typ='TXM',),
7840          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
7841          VALE            =SIMP(statut='f',typ='R',min=2,max='**',
7842                                fr ="Fonction réelle définie par une liste de couples (abscisse,ordonnée)"),
7843          VALE_C          =SIMP(statut='f',typ='R',min=2,max='**',
7844                                fr ="Fonction complexe définie par une liste de couples"),
7845          VALE_PARA       =SIMP(statut='f',typ=listr8_sdaster,
7846                                fr ="Fonction réelle définie par deux concepts de type listr8" ),
7847          b_vale_para     =BLOC(condition = "VALE_PARA != None",
7848            VALE_FONC       =SIMP(statut='o',typ=listr8_sdaster ),
7849          ),
7850          NOEUD_PARA      =SIMP(statut='f',typ=no,max='**',
7851                                fr ="Fonction réelle définie par une liste de noeuds et un maillage"),
7852          b_noeud_para    =BLOC(condition = "NOEUD_PARA != None",
7853            MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
7854            VALE_Y          =SIMP(statut='o',typ='R',max='**'),
7855          ),
7856
7857          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
7858          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7859          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7860          VERIF           =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ),
7861          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7862          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7863 )  ;
7864 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7865 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7866 # ======================================================================
7867 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7868 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7869 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7870 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7871 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7872 #
7873 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7874 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7875 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7876 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7877 #
7878 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7879 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7880 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7881 # ======================================================================
7882 DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,reentrant='n',
7883             UIinfo={"groupes":("Post traitements",)},
7884                     fr="Définition de lèvres et d un fond de fissure en 3D",
7885          regles=(UN_PARMI('FOND_FISS','FOND_FERME'),
7886                  EXCLUS('FOND_FERME','DTAN_ORIG'),
7887                  EXCLUS('FOND_FERME','DTAN_EXTR'),
7888                       EXCLUS('FOND_FERME','VECT_GRNO_ORIG'),
7889                       EXCLUS('FOND_FERME','VECT_GRNO_EXTR'),
7890                  UN_PARMI('LEVRE_SUP','NORMALE'),
7891                       EXCLUS('LEVRE_INF','NORMALE'),
7892                  ENSEMBLE('DTAN_ORIG','DTAN_EXTR'),
7893                       ENSEMBLE('VECT_GRNO_ORIG','VECT_GRNO_EXTR'),
7894                       EXCLUS('DTAN_ORIG','VECT_GRNO_ORIG'),
7895                       EXCLUS('DTAN_EXTR','VECT_GRNO_EXTR') ,),
7896            MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
7897            FOND_FISS       =FACT(statut='f',
7898              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
7899                      EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
7900                           EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
7901              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7902              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7903              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7904              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7905 #  à mettre à jour le max vaut-il 1  
7906              NOEUD_ORIG      =SIMP(statut='f',typ=no,),
7907              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
7908              NOEUD_EXTR      =SIMP(statut='f',typ=no,),
7909              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
7910            ),
7911            FOND_FERME      =FACT(statut='f',
7912              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
7913                           EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),),
7914              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7915              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7916              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7917              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7918              NOEUD_ORIG      =SIMP(statut='f',typ=no,),
7919              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
7920              MAILLE_ORIG     =SIMP(statut='f',typ=ma,),
7921              GROUP_MA_ORIG   =SIMP(statut='f',typ=ma,),
7922            ),
7923            LEVRE_SUP       =FACT(statut='f',
7924              regles=(UN_PARMI('GROUP_MA','MAILLE'),),
7925              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7926              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7927            ),
7928            LEVRE_INF       =FACT(statut='f',
7929              regles=(UN_PARMI('GROUP_MA','MAILLE', ),),
7930              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7931              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7932            ),
7933            NORMALE         =SIMP(statut='f',typ='R',max='**'),
7934            DTAN_ORIG       =SIMP(statut='f',typ='R',max='**'),
7935            DTAN_EXTR       =SIMP(statut='f',typ='R',max='**'),
7936            VECT_GRNO_ORIG  =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7937            VECT_GRNO_EXTR  =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7938            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
7939 )  ;
7940 #& MODIF COMMANDE  DATE 25/10/2004   AUTEUR CIBHHLV L.VIVAN 
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 # RESPONSABLE VABHHTS J.PELLET
7959 def defi_group_prod(MAILLAGE,**args):
7960   if AsType(MAILLAGE) == maillage_sdaster : return maillage_sdaster
7961   if AsType(MAILLAGE) == squelette : return squelette
7962   raise AsException("type de concept resultat non prevu")
7963
7964 DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod,
7965                 fr="Définition de nouveaux groupes de noeuds et/ou de mailles dans un concept maillage",
7966                 reentrant='o',
7967             UIinfo={"groupes":("Maillage",)},
7968          regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO'),),
7969          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster,squelette) ),
7970
7971          CREA_GROUP_MA   =FACT(statut='f',max='**',
7972
7973 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),),
7974 #  quel est le concept attendu deriere NOM
7975            NOM             =SIMP(statut='o',typ=grma),
7976            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7977            GROUP_MA        =SIMP(statut='f',typ=grma),
7978            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7979            INTERSEC        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7980            UNION           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7981            DIFFE           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7982            OPTION          =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE","BANDE","APPUI_LACHE") ),
7983            b_group_ma      =BLOC(condition = "GROUP_MA != None",
7984              regles=(EXCLUS('POSITION','NUME_INIT'),),
7985              NUME_INIT       =SIMP(statut='f',typ='I'),
7986              POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
7987              b_nume_init   =BLOC(condition = "NUME_INIT != None",
7988                NUME_FIN        =SIMP(statut='f',typ='I' ),
7989              ),
7990            ),
7991            b_face_normale  =BLOC(condition = "OPTION == 'FACE_NORMALE'",
7992              regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
7993              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
7994              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
7995              ANGL_PREC       =SIMP(statut='f',typ='R',defaut= 0.5 ),
7996              VERI_SIGNE      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7997            ),
7998            b_sphere        =BLOC(condition = "OPTION == 'SPHERE'",
7999              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
8000              POINT           =SIMP(statut='f',typ='R',max=3),
8001              NOEUD_CENTRE    =SIMP(statut='f',typ=no),
8002              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
8003              RAYON           =SIMP(statut='o',typ='R' ),
8004            ),
8005            b_cylindre      =BLOC(condition = "OPTION == 'CYLINDRE'",
8006              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
8007                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8008              POINT           =SIMP(statut='f',typ='R',max=3),
8009              NOEUD_CENTRE    =SIMP(statut='f',typ=no),
8010              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
8011              RAYON           =SIMP(statut='o',typ='R' ),
8012              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
8013              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
8014            ),
8015            b_bande         =BLOC(condition = "OPTION == 'BANDE'",
8016              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
8017                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8018              POINT           =SIMP(statut='f',typ='R' ,max=3),
8019              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8020              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
8021              DIST            =SIMP(statut='o',typ='R' ),
8022              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
8023              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
8024            ),
8025            b_app_lache         =BLOC(condition = "OPTION == 'APPUI_LACHE'",
8026              regles=(UN_PARMI('NOEUD','GROUP_NO'),),
8027              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8028              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8029            ),
8030          ),
8031          CREA_GROUP_NO   =FACT(statut='f',max='**',
8032            OPTION          =SIMP(statut='f',typ='TXM',into=("ENV_SPHERE","ENV_CYLINDRE","PLAN",
8033                                                "SEGM_DROI_ORDO","NOEUD_ORDO","TUNNEL") ),
8034
8035            b_option =BLOC(condition = "OPTION == None" ,
8036                           regles=(UN_PARMI('TOUT_GROUP_MA','GROUP_MA','GROUP_NO','NOEUD',
8037                                                            'INTERSEC','UNION','DIFFE'),),
8038               TOUT_GROUP_MA   =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8039               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8040               GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8041               NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8042               INTERSEC        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8043               UNION           =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8044               DIFFE           =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8045
8046               b_nom_group_ma  =BLOC(condition = "GROUP_MA != None",
8047                 NOM           = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8048                 CRIT_NOEUD    = SIMP(statut='f',typ='TXM',defaut="TOUS",
8049                                   into=("TOUS","SOMMET","MILIEU","CENTRE"),),
8050               ),
8051               b_group_no      =BLOC(condition = "GROUP_NO != None",
8052                                     regles=(EXCLUS('POSITION','NUME_INIT'),),
8053                 NUME_INIT       =SIMP(statut='f',typ='I'),
8054                 POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
8055                 b_nume_init     =BLOC(condition = "NUME_INIT != None",
8056                   NUME_FIN        =SIMP(statut='f',typ='I' ),
8057                 ),
8058               ),
8059               b_nom =BLOC(condition = "GROUP_MA == None and TOUT_GROUP_MA == None" ,
8060                 NOM             =SIMP(statut='o',typ=geom),
8061               ),
8062            ),
8063
8064            b_env_sphere    =BLOC(condition = "OPTION == 'ENV_SPHERE'",
8065              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
8066              NOM             =SIMP(statut='o',typ=geom),
8067              POINT           =SIMP(statut='f',typ='R' ,max=3),
8068              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8069              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
8070              RAYON           =SIMP(statut='o',typ='R' ),
8071              PRECISION       =SIMP(statut='o',typ='R' ),
8072            ),
8073            b_env_cylindre  =BLOC(condition = "OPTION == 'ENV_CYLINDRE'",
8074              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
8075                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8076              NOM             =SIMP(statut='o',typ=geom),
8077              POINT           =SIMP(statut='f',typ='R' ,max=3),
8078              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8079              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
8080              RAYON           =SIMP(statut='o',typ='R' ),
8081              ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
8082              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
8083              PRECISION       =SIMP(statut='o',typ='R' ),
8084            ),
8085            b_env_plan      =BLOC(condition = "OPTION == 'PLAN'",
8086              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
8087                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8088              NOM             =SIMP(statut='o',typ=geom),
8089              POINT           =SIMP(statut='f',typ='R' ,max=3),
8090              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8091              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
8092              ANGL_NAUT       =SIMP(statut='f',typ='R' ,max=3),
8093              VECT_NORMALE    =SIMP(statut='f',typ='R' ,max=3),
8094              PRECISION       =SIMP(statut='o',typ='R' ),
8095            ),
8096            b_segm_droi_ordo=BLOC(condition = "OPTION == 'SEGM_DROI_ORDO'",
8097              regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),
8098                      UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'),
8099                      UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),),
8100              NOM             =SIMP(statut='o',typ=geom),
8101              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8102              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8103              NOEUD_ORIG      =SIMP(statut='f',typ=no),
8104              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
8105              NOEUD_EXTR      =SIMP(statut='f',typ=no),
8106              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
8107              PRECISION       =SIMP(statut='o',typ='R' ),
8108              CRITERE         =SIMP(statut='o',typ='TXM',into=("ABSOLU","RELATIF") ),
8109            ),
8110            b_noeud_ordo    =BLOC(condition = "OPTION == 'NOEUD_ORDO'",
8111              regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
8112                      EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
8113              NOM             =SIMP(statut='o',typ=geom),
8114              GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
8115              NOEUD_ORIG      =SIMP(statut='f',typ=no),
8116              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
8117              NOEUD_EXTR      =SIMP(statut='f',typ=no),
8118              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
8119            ),
8120            b_tunnel    =BLOC(condition = "OPTION == 'TUNNEL'",
8121              regles=(AU_MOINS_UN ('TOUT','GROUP_MA','MAILLE'),
8122                      EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
8123                      AU_MOINS_UN ('GROUP_MA_AXE','MAILLE_AXE'),),
8124              NOM             =SIMP(statut='o',typ=geom),
8125              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8126              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8127              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8128              GROUP_MA_AXE    =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8129              MAILLE_AXE      =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8130              NOEUD_ORIG      =SIMP(statut='f',typ=no),
8131              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
8132              RAYON           =SIMP(statut='o',typ='R'),
8133              LONGUEUR        =SIMP(statut='f',typ='R'),
8134            ),
8135          ),
8136          ALARME          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8137          INFO            =SIMP(statut='f',typ='I',into=( 1 , 2 ) ),
8138 )  ;
8139 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8140 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8141 # ======================================================================
8142 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8143 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8144 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8145 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8146 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8147 #
8148 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8149 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8150 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8151 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8152 #
8153 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8154 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8155 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8156 # ======================================================================
8157 DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op=  98,sd_prod=interf_dyna_clas,
8158                       reentrant='n',
8159             UIinfo={"groupes":("Matrices/vecteurs",)},
8160          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
8161          INTERFACE       =FACT(statut='o',max='**',
8162            regles=(ENSEMBLE('NOM','TYPE'),
8163 #  erreur doc U sur la condition qui suit
8164                    UN_PARMI('NOEUD','GROUP_NO'),),
8165            NOM             =SIMP(statut='f',typ='TXM' ),
8166            TYPE            =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ),
8167            NOEUD           =SIMP(statut='f',typ=no,max='**'),
8168            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
8169            DDL_ACTIF       =SIMP(statut='f',typ='TXM',max='**'),
8170            MASQUE          =SIMP(statut='f',typ='TXM',max='**'),
8171          ),
8172          FREQ            =SIMP(statut='f',typ='R',defaut= 1.),
8173          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
8174 )  ;
8175 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8176 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8177 # ======================================================================
8178 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8179 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8180 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8181 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8182 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8183 #
8184 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8185 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8186 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8187 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8188 #
8189 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8190 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8191 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8192 # ======================================================================
8193 DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp,
8194                     reentrant='n',
8195             UIinfo={"groupes":("Fonction",)},
8196
8197          DIMENSION       =SIMP(statut='f',typ='I',defaut= 1 ),
8198
8199          PAR_FONCTION    =FACT(statut='f',max='**',
8200            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
8201            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
8202            FONCTION        =SIMP(statut='o',typ=fonction_c ),
8203          ),
8204          KANAI_TAJIMI    =FACT(statut='f',max='**',
8205            regles=(EXCLUS('VALE_R','VALE_C'),),
8206            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
8207            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
8208            FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8209            FREQ_MAX        =SIMP(statut='f',typ='R',defaut= 100. ),
8210            PAS             =SIMP(statut='f',typ='R',defaut= 1. ),
8211            AMOR_REDUIT     =SIMP(statut='f',typ='R',defaut= 0.6 ),
8212            FREQ_MOY        =SIMP(statut='f',typ='R',defaut= 5. ),
8213            VALE_R          =SIMP(statut='f',typ='R' ),
8214            VALE_C          =SIMP(statut='f',typ='C' ),
8215            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
8216            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8217            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8218          ),
8219          CONSTANT        =FACT(statut='f',max='**',
8220            regles=(EXCLUS('VALE_R','VALE_C'),),
8221            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
8222            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
8223            FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8224            FREQ_MAX        =SIMP(statut='f',typ='R',defaut= 100. ),
8225            PAS             =SIMP(statut='f',typ='R',defaut= 1. ),
8226            VALE_R          =SIMP(statut='f',typ='R' ),
8227            VALE_C          =SIMP(statut='f',typ='C' ),
8228            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
8229            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8230            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8231          ),
8232          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8233          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),               
8234 )  ;
8235 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8236 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8237 # ======================================================================
8238 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8239 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8240 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8241 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8242 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8243 #
8244 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8245 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8246 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8247 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8248 #
8249 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8250 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8251 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8252 # ======================================================================
8253 # RESPONSABLE VABHHTS J.PELLET
8254 DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster,
8255                     fr="Définition d une suite croissante d entiers",
8256                     reentrant='n',
8257             UIinfo={"groupes":("Fonction",)},
8258          regles=(UN_PARMI('VALE','DEBUT'),
8259                  EXCLUS('VALE','INTERVALLE'),),
8260          VALE            =SIMP(statut='f',typ='I',max='**'),
8261          DEBUT           =SIMP(statut='f',typ='I'),
8262          INTERVALLE      =FACT(statut='f',max='**',
8263            regles=(UN_PARMI('NOMBRE','PAS'),),
8264            JUSQU_A         =SIMP(statut='o',typ='I'),
8265            NOMBRE          =SIMP(statut='f',typ='I',val_min=1,),
8266            PAS             =SIMP(statut='f',typ='I',val_min=1,),
8267          ),
8268          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8269          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8270 )  ;
8271 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8272 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8273 # ======================================================================
8274 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8275 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8276 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8277 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8278 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8279 #
8280 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8281 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8282 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8283 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8284 #
8285 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8286 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8287 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8288 # ======================================================================
8289 # RESPONSABLE VABHHTS J.PELLET
8290 DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster,
8291                     fr="Définition d une suite croissante de réels",
8292                     reentrant='n',
8293             UIinfo={"groupes":("Fonction",)},
8294          regles=(UN_PARMI('VALE','DEBUT',),
8295                  EXCLUS('VALE','INTERVALLE'),
8296                  ENSEMBLE('DEBUT','INTERVALLE')),
8297          VALE            =SIMP(statut='f',typ='R',max='**'),
8298          DEBUT           =SIMP(statut='f',typ='R'),
8299          INTERVALLE      =FACT(statut='f',max='**',
8300            regles=(UN_PARMI('NOMBRE','PAS'),),
8301            JUSQU_A         =SIMP(statut='o',typ='R'),
8302            NOMBRE          =SIMP(statut='f',typ='I'),
8303            PAS             =SIMP(statut='f',typ='R'),
8304          ),
8305          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8306          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8307 )  ;
8308 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8309 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8310 # ======================================================================
8311 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8312 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8313 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8314 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8315 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8316 #
8317 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8318 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8319 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8320 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8321 #
8322 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8323 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8324 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8325 # ======================================================================
8326 # RESPONSABLE VABHHTS J.PELLET
8327 DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage_sdaster,
8328                    fr="Définition d un nouveau maillage à partir de macro éléments",
8329                    reentrant='n',
8330             UIinfo={"groupes":("Maillage",)},
8331          DEFI_MAILLE     =FACT(statut='o',max='**',
8332            MACR_ELEM_STAT  =SIMP(statut='o',typ=macr_elem_stat,max='**' ),
8333            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
8334            TRAN            =SIMP(statut='f',typ='R',max=3),
8335            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
8336            b_angl_naut     =BLOC(condition = "ANGL_NAUT != None",
8337              CENTRE          =SIMP(statut='f',typ='R',max=3),
8338            ),
8339          ),
8340          RECO_GLOBAL     =FACT(statut='f',max='**',
8341            regles=(UN_PARMI('TOUT','MAILLE'),),
8342            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8343            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
8344            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
8345            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
8346          ),
8347          RECO_MAILLE     =FACT(statut='f',max='**',
8348            MAILLE          =SIMP(statut='o',typ=ma,max='**'),
8349            GROUP_NO        =SIMP(statut='o',typ=grno,max='**'),
8350            OPTION          =SIMP(statut='f',typ='TXM',defaut="GEOMETRIQUE",into=("GEOMETRIQUE","NOEUD_A_NOEUD","INVERSE") ),
8351            geometrique     =BLOC(condition = "OPTION == 'GEOMETRIQUE'",
8352              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
8353              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
8354            ),
8355          ),
8356          DEFI_NOEUD      =FACT(statut='f',max='**',
8357            regles=(UN_PARMI('TOUT','NOEUD_INIT'),),
8358            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),
8359                                  fr="Renommage de tous les noeuds" ),
8360            NOEUD_INIT      =SIMP(statut='f',typ=no,
8361                                  fr="Renommage d un seul noeud"),                     
8362            b_tout          =BLOC(condition = "TOUT != None",
8363              PREFIXE         =SIMP(statut='f',typ='TXM' ),
8364              INDEX           =SIMP(statut='o',typ='I',max='**'),
8365            ),
8366            b_noeud_init    =BLOC(condition = "NOEUD_INIT != None",
8367              MAILLE          =SIMP(statut='o',typ=ma),
8368              NOEUD_FIN       =SIMP(statut='o',typ=no),
8369            ),        
8370          ),
8371          DEFI_GROUP_NO   =FACT(statut='f',max='**',
8372            regles=(UN_PARMI('TOUT','MAILLE'),
8373                 AU_MOINS_UN('INDEX','GROUP_NO_FIN'),
8374                    ENSEMBLE('GROUP_NO_INIT','GROUP_NO_FIN'),),
8375 #  la regle ancien catalogue AU_MOINS_UN__: ( INDEX , GROUP_NO_FIN ) incoherente avec doc U           
8376            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),
8377                                  fr="Création de plusieurs groupes de noeuds" ),
8378            MAILLE          =SIMP(statut='f',typ=ma,
8379                                  fr="Création de plusieurs groupes de noeuds"),
8380            GROUP_NO_INIT   =SIMP(statut='f',typ=grno,
8381                                  fr="Création d un seul groupe de noeuds"),
8382            PREFIXE         =SIMP(statut='f',typ='TXM' ),
8383            INDEX           =SIMP(statut='f',typ='I',max='**'),
8384            GROUP_NO_FIN    =SIMP(statut='f',typ=grno),
8385          ),
8386 )  ;
8387 #& MODIF COMMANDE  DATE 22/11/2004   AUTEUR NDOMING N.DOMINGUEZ 
8388 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8389 # ======================================================================
8390 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8391 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8392 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8393 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8394 # (AT YOUR OPTION) ANY LATER VERSION.
8395 #
8396 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8397 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8398 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8399 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8400 #
8401 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8402 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8403 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8404 # ======================================================================
8405 DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
8406                    fr="Définition des paramètres décrivant le comportement d un matériau",
8407                    reentrant='n',
8408             UIinfo={"groupes":("Modélisation",)},
8409        regles=(EXCLUS('ELAS','ELAS_FO','ELAS_FLUI','ELAS_ISTR','ELAS_ISTR_FO','ELAS_ORTH',
8410                       'ELAS_ORTH_FO','ELAS_COQUE','ELAS_COQUE_FO',
8411                       'SURF_ETAT_SATU','CAM_CLAY_THM','SURF_ETAT_NSAT'),
8412                EXCLUS('THER','THER_FO','THER_ORTH','THER_NL'),
8413                EXCLUS('ECRO_LINE','ECRO_LINE_FO'),
8414                EXCLUS('TAHERI','TAHERI_FO'),
8415                EXCLUS('ROUSSELIER','ROUSSELIER_FO'),
8416                PRESENT_PRESENT('ROUSSELIER','TRACTION'),
8417                PRESENT_PRESENT('ROUSSELIER_FO','TRACTION'),
8418                EXCLUS('CIN1_CHAB','CIN1_CHAB_FO'),
8419                EXCLUS('CIN2_CHAB','CIN2_CHAB_FO'),
8420                EXCLUS('VISCOCHAB','VISCOCHAB_FO'),
8421                EXCLUS('POLY_CFC','POLY_CFC_FO'),
8422                EXCLUS('LEMAITRE','LEMAITRE_FO','ZIRC_CYRA2','ZIRC_EPRI','VISC_IRRA_LOG',
8423                'LEMA_SEUIL','LEMA_SEUIL_FO'),
8424                EXCLUS('OHNO','OHNO_FO'),
8425                EXCLUS('LMARC','LMARC_FO'),
8426                EXCLUS('VMIS_POUTRE','VMIS_POUTRE_FO'),
8427                EXCLUS('VENDOCHAB','VENDOCHAB_FO'),
8428                PRESENT_PRESENT('BPEL_ACIER','ELAS'),
8429                EXCLUS('RCCM','RCCM_FO'),
8430                EXCLUS('WEIBULL','WEIBULL_FO'),
8431                PRESENT_PRESENT('BARCELONE','CAM_CLAY','ELAS'),
8432                PRESENT_PRESENT('CAM_CLAY','ELAS'),
8433                PRESENT_PRESENT('LAIGLE','ELAS'),
8434                PRESENT_PRESENT('DRUCK_PRAGER','ELAS'),
8435                EXCLUS('MAZARS','MAZARS_FO'),
8436                PRESENT_PRESENT('BAZANT_FD','ELAS_FO'),
8437                EXCLUS('GLRC','GLRC_FO'),
8438                PRESENT_PRESENT('JOINT_BA','ELAS'),
8439                ),
8440 #
8441 # comportement élastique
8442 #
8443            ELAS            =FACT(statut='f',
8444              E               =SIMP(statut='o',typ='R',val_min=0.E+0),
8445              NU              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=0.5E+0),
8446              RHO             =SIMP(statut='f',typ='R'),
8447              ALPHA           =SIMP(statut='f',typ='R'),
8448              AMOR_ALPHA      =SIMP(statut='f',typ='R'),
8449              AMOR_BETA       =SIMP(statut='f',typ='R'),
8450              AMOR_HYST       =SIMP(statut='f',typ='R'),
8451            ),
8452            ELAS_FO         =FACT(statut='f',
8453              regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'),),
8454              E               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8455              NU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8456              RHO             =SIMP(statut='f',typ='R'),
8457              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
8458              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.),
8459              ALPHA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8460              AMOR_ALPHA      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8461              AMOR_BETA       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8462              AMOR_HYST       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8463              K_DESSIC        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8464              B_ENDOGE        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8465              FONC_DESORP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8466              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH",) ),
8467            ),
8468            ELAS_FLUI       =FACT(statut='f',
8469              E               =SIMP(statut='o',typ='R'),
8470              NU              =SIMP(statut='o',typ='R'),
8471              RHO             =SIMP(statut='o',typ='R'),
8472              PROF_RHO_F_INT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8473              PROF_RHO_F_EXT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8474              COEF_MASS_AJOU  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8475              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("ABSC",) ),
8476            ),
8477            ELAS_ISTR       =FACT(statut='f',
8478              E_L             =SIMP(statut='o',typ='R'),
8479              E_N             =SIMP(statut='o',typ='R'),
8480              NU_LT           =SIMP(statut='o',typ='R'),
8481              NU_LN           =SIMP(statut='o',typ='R'),
8482              G_LN            =SIMP(statut='o',typ='R'),
8483              RHO             =SIMP(statut='f',typ='R'),
8484              ALPHA_L         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8485              ALPHA_N         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8486            ),
8487            ELAS_ISTR_FO    =FACT(statut='f',
8488              regles=(
8489                       PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'),
8490                       PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'),
8491                     ),
8492              E_L             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8493              E_N             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8494              NU_LT           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8495              NU_LN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8496              G_LN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8497              RHO             =SIMP(statut='f',typ='R'),
8498              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
8499              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.),
8500              ALPHA_L         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8501              ALPHA_N         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8502              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST")),
8503            ),
8504            ELAS_ORTH       =FACT(statut='f',
8505              E_L             =SIMP(statut='o',typ='R'),
8506              E_T             =SIMP(statut='o',typ='R'),
8507              E_N             =SIMP(statut='f',typ='R'),
8508              NU_LT           =SIMP(statut='o',typ='R'),
8509              NU_LN           =SIMP(statut='f',typ='R'),
8510              NU_TN           =SIMP(statut='f',typ='R'),
8511              G_LT            =SIMP(statut='o',typ='R'),
8512              G_LN            =SIMP(statut='f',typ='R'),
8513              G_TN            =SIMP(statut='f',typ='R'),
8514              RHO             =SIMP(statut='f',typ='R'),
8515              ALPHA_L         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8516              ALPHA_T         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8517              ALPHA_N         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8518              XT              =SIMP(statut='f',typ='R',defaut= 1. ),
8519              XC              =SIMP(statut='f',typ='R',defaut= 1. ),
8520              YT              =SIMP(statut='f',typ='R',defaut= 1. ),
8521              YC              =SIMP(statut='f',typ='R',defaut= 1. ),
8522              S_LT            =SIMP(statut='f',typ='R',defaut= 1. ),
8523            ),
8524            ELAS_ORTH_FO    =FACT(statut='f',
8525              regles=(
8526                       PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'),
8527                       PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'),
8528                       PRESENT_PRESENT('ALPHA_T','TEMP_DEF_ALPHA'),
8529                     ),
8530              E_L             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8531              E_T             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8532              E_N             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8533              NU_LT           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8534              NU_LN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8535              NU_TN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8536              G_LT            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8537              G_LN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8538              G_TN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8539              RHO             =SIMP(statut='f',typ='R'),
8540              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
8541              PRECISION       =SIMP(statut='f',typ='R',defaut= 1. ),
8542              ALPHA_L         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8543              ALPHA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8544              ALPHA_N         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8545              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST",) ),
8546            ),
8547            ELAS_THM        =FACT(statut='f',
8548              RHO_S           =SIMP(statut='o',typ='R'),
8549              UN_SUR_KS       =SIMP(statut='o',typ='R'),
8550              E               =SIMP(statut='f',typ='R'),
8551              KB              =SIMP(statut='f',typ='R'),
8552              D_KB_T          =SIMP(statut='f',typ='R'),
8553              ALPHA_S         =SIMP(statut='f',typ='R'),
8554              ALPHA_D         =SIMP(statut='f',typ='R'),
8555            ),
8556            SURF_ETAT_SATU  =FACT(statut='f',
8557              E_CHAR          =SIMP(statut='o',typ='R'),
8558              E_DECHAR        =SIMP(statut='o',typ='R'),
8559              XN              =SIMP(statut='f',typ='R'),
8560              RF              =SIMP(statut='f',typ='R'),
8561              EV_KB           =SIMP(statut='f',typ='R'),
8562              EV_XM           =SIMP(statut='f',typ='R'),
8563              D_E_T           =SIMP(statut='f',typ='R'),
8564              ALPHA0          =SIMP(statut='f',typ='R'),
8565              ALPHA1          =SIMP(statut='f',typ='R'),
8566              ALPHA2          =SIMP(statut='f',typ='R'),
8567              ALPHA3          =SIMP(statut='f',typ='R'),
8568              ALPHA_S         =SIMP(statut='f',typ='R'),
8569              ANG_FRT         =SIMP(statut='o',typ='R'),
8570              COHE            =SIMP(statut='o',typ='R'),
8571              RESI_TRAC       =SIMP(statut='o',typ='R'),
8572            ),
8573            CAM_CLAY_THM    =FACT(statut='f',
8574              NU              =SIMP(statut='f',typ='R'),
8575              LAMBDA          =SIMP(statut='o',typ='R'),
8576              KAPA            =SIMP(statut='o',typ='R'),
8577              M               =SIMP(statut='f',typ='R'),
8578              PRES_CRIT       =SIMP(statut='f',typ='R'),
8579              GAMA            =SIMP(statut='o',typ='R'),
8580              A0_PC           =SIMP(statut='o',typ='R'),
8581              A1_PC           =SIMP(statut='f',typ='R'),
8582              A2_PC           =SIMP(statut='f',typ='R'),
8583              ALPHA0_PC       =SIMP(statut='f',typ='R'),
8584              ALPHA1_PC       =SIMP(statut='f',typ='R'),
8585              ALPHA2_PC       =SIMP(statut='f',typ='R'),
8586              ALPHA3_PC       =SIMP(statut='f',typ='R'),
8587              ALPHA_S         =SIMP(statut='f',typ='R'),
8588                          ),
8589            SURF_ETAT_NSAT  =FACT(statut='f',
8590              E_CHAR          =SIMP(statut='o',typ='R'),
8591              E_DECHAR        =SIMP(statut='o',typ='R'),
8592              XN              =SIMP(statut='f',typ='R'),
8593              RF              =SIMP(statut='f',typ='R'),
8594              EV_KB           =SIMP(statut='f',typ='R'),
8595              EV_XM           =SIMP(statut='f',typ='R'),
8596              EV_A            =SIMP(statut='f',typ='R'),
8597              EV_B            =SIMP(statut='f',typ='R'),
8598              EV_CT           =SIMP(statut='f',typ='R'),
8599              EV_SIGB         =SIMP(statut='f',typ='R'),
8600              D_E_T           =SIMP(statut='f',typ='R'),
8601              D_E_SUCC        =SIMP(statut='f',typ='R'),
8602              ANG_FRT         =SIMP(statut='o',typ='R'),
8603              COHE            =SIMP(statut='o',typ='R'),
8604              D_COEH_SUCC     =SIMP(statut='f',typ='R'),
8605              ANG_FRT_ULT     =SIMP(statut='f',typ='R'),
8606              SUCC_ULTM       =SIMP(statut='f',typ='R'),
8607              RESI_TRAC       =SIMP(statut='f',typ='R'),
8608              A_SURF_SATU     =SIMP(statut='f',typ='R'),
8609              B_SURF_SATU     =SIMP(statut='f',typ='R'),
8610              C_SURF_SATU     =SIMP(statut='f',typ='R'),
8611              D_SURF_SATU     =SIMP(statut='f',typ='R'),
8612            ),
8613            ELAS_COQUE      =FACT(statut='f',
8614              regles=(EXCLUS('MEMB_L','M_LLLL',),
8615                      PRESENT_PRESENT('MEMB_L','MEMB_LT', 'MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
8616                                      'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
8617                      PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
8618                                      'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL',
8619                                      'MF_LLTT','MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ',
8620                                      'MC_LLTZ','MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ',
8621                                      'FC_LLTZ','FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ',
8622                                      'C_LZTZ','C_TZTZ'),),
8623              MEMB_L          =SIMP(statut='f',typ='R'),
8624              MEMB_LT         =SIMP(statut='f',typ='R'),
8625              MEMB_T          =SIMP(statut='f',typ='R'),
8626              MEMB_G_LT       =SIMP(statut='f',typ='R'),
8627              FLEX_L          =SIMP(statut='f',typ='R'),
8628              FLEX_LT         =SIMP(statut='f',typ='R'),
8629              FLEX_T          =SIMP(statut='f',typ='R'),
8630              FLEX_G_LT       =SIMP(statut='f',typ='R'),
8631              CISA_L          =SIMP(statut='f',typ='R'),
8632              CISA_T          =SIMP(statut='f',typ='R'),
8633              M_LLLL          =SIMP(statut='f',typ='R'),
8634              M_LLTT          =SIMP(statut='f',typ='R'),
8635              M_LLLT          =SIMP(statut='f',typ='R'),
8636              M_TTTT          =SIMP(statut='f',typ='R'),
8637              M_TTLT          =SIMP(statut='f',typ='R'),
8638              M_LTLT          =SIMP(statut='f',typ='R'),
8639              F_LLLL          =SIMP(statut='f',typ='R'),
8640              F_LLTT          =SIMP(statut='f',typ='R'),
8641              F_LLLT          =SIMP(statut='f',typ='R'),
8642              F_TTTT          =SIMP(statut='f',typ='R'),
8643              F_TTLT          =SIMP(statut='f',typ='R'),
8644              F_LTLT          =SIMP(statut='f',typ='R'),
8645              MF_LLLL         =SIMP(statut='f',typ='R'),
8646              MF_LLTT         =SIMP(statut='f',typ='R'),
8647              MF_LLLT         =SIMP(statut='f',typ='R'),
8648              MF_TTTT         =SIMP(statut='f',typ='R'),
8649              MF_TTLT         =SIMP(statut='f',typ='R'),
8650              MF_LTLT         =SIMP(statut='f',typ='R'),
8651              MC_LLLZ         =SIMP(statut='f',typ='R'),
8652              MC_LLTZ         =SIMP(statut='f',typ='R'),
8653              MC_TTLZ         =SIMP(statut='f',typ='R'),
8654              MC_TTTZ         =SIMP(statut='f',typ='R'),
8655              MC_LTLZ         =SIMP(statut='f',typ='R'),
8656              MC_LTTZ         =SIMP(statut='f',typ='R'),
8657              FC_LLLZ         =SIMP(statut='f',typ='R'),
8658              FC_LLTZ         =SIMP(statut='f',typ='R'),
8659              FC_TTLZ         =SIMP(statut='f',typ='R'),
8660              FC_TTTZ         =SIMP(statut='f',typ='R'),
8661              FC_LTLZ         =SIMP(statut='f',typ='R'),
8662              FC_LTTZ         =SIMP(statut='f',typ='R'),
8663              C_LZLZ          =SIMP(statut='f',typ='R'),
8664              C_LZTZ          =SIMP(statut='f',typ='R'),
8665              C_TZTZ          =SIMP(statut='f',typ='R'),
8666              RHO             =SIMP(statut='f',typ='R'),
8667              ALPHA           =SIMP(statut='f',typ='R'),
8668            ),
8669            ELAS_COQUE_FO   =FACT(statut='f',
8670              regles=(EXCLUS('MEMB_L','M_LLLL',),
8671                      PRESENT_PRESENT('MEMB_L','MEMB_LT','MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
8672                                      'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
8673                      PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
8674                                      'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL','MF_LLTT',
8675                                      'MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ','MC_LLTZ',
8676                                      'MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ','FC_LLTZ',
8677                                      'FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ','C_LZTZ','C_TZTZ'),),
8678              MEMB_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8679              MEMB_LT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8680              MEMB_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8681              MEMB_G_LT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8682              FLEX_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8683              FLEX_LT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8684              FLEX_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8685              FLEX_G_LT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8686              CISA_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8687              CISA_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8688              M_LLLL          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8689              M_LLTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8690              M_LLLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8691              M_TTTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8692              M_TTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8693              M_LTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8694              F_LLLL          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8695              F_LLTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8696              F_LLLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8697              F_TTTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8698              F_TTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8699              F_LTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8700              MF_LLLL         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8701              MF_LLTT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8702              MF_LLLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8703              MF_TTTT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8704              MF_TTLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8705              MF_LTLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8706              MC_LLLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8707              MC_LLTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8708              MC_TTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8709              MC_TTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8710              MC_LTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8711              MC_LTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8712              FC_LLLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8713              FC_LLTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8714              FC_TTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8715              FC_TTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8716              FC_LTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8717              FC_LTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8718              C_LZLZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8719              C_LZTZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8720              C_TZTZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8721              RHO             =SIMP(statut='f',typ='R'),
8722              ALPHA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8723              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST") ),
8724            ),
8725            APPUI_ELAS      =FACT(statut='f',
8726              E_N             =SIMP(statut='o',typ='R'),
8727              E_TAN           =SIMP(statut='f',typ='R',defaut= 0.E+0),
8728            ),
8729            CABLE           =FACT(statut='f',
8730              E               =SIMP(statut='o',typ='R'),
8731              EC_SUR_E        =SIMP(statut='f',typ='R',defaut= 1.E-4 ),
8732              RHO             =SIMP(statut='f',typ='R'),
8733              ALPHA           =SIMP(statut='f',typ='R'),
8734              AMOR_ALPHA      =SIMP(statut='f',typ='R'),
8735              AMOR_BETA       =SIMP(statut='f',typ='R'),
8736            ),
8737 #
8738 # comportement mécanique non linéaire
8739 #
8740            TRACTION        =FACT(statut='f',
8741              SIGM            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8742              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("EPSI","TEMP","HYDR","SECH",) ),
8743            ),
8744            ECRO_LINE       =FACT(statut='f',
8745              D_SIGM_EPSI     =SIMP(statut='o',typ='R',),
8746              SY              =SIMP(statut='o',typ='R',),
8747            ),
8748            ECRO_LINE_FO    =FACT(statut='f',
8749              D_SIGM_EPSI     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8750              SY              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8751              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8752            ),
8753            BETON_ECRO_LINE =FACT(statut='f',
8754              D_SIGM_EPSI     =SIMP(statut='o',typ='R'),
8755              SYT             =SIMP(statut='o',typ='R'),
8756              SYC             =SIMP(statut='f',typ='R'),
8757            ),
8758            ENDO_ORTH_BETON  =FACT(statut='f',
8759              ALPHA            =SIMP(statut='f',typ='R',defaut=0.9),
8760              K0               =SIMP(statut='o',typ='R'),
8761              K1               =SIMP(statut='o',typ='R'),
8762              K2               =SIMP(statut='f',typ='R',defaut=7.E-4),
8763              ECROB            =SIMP(statut='o',typ='R'),
8764              ECROD            =SIMP(statut='o',typ='R'),
8765            ),
8766            PRAGER          =FACT(statut='f',
8767              C               =SIMP(statut='o',typ='R'),
8768            ),
8769            PRAGER_FO       =FACT(statut='f',
8770              C               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8771              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8772            ),
8773            ECRO_FLEJOU     =FACT(statut='f',
8774              EP              =SIMP(statut='o',typ='R'),
8775              SY              =SIMP(statut='o',typ='R'),
8776              SU              =SIMP(statut='o',typ='R'),
8777              PUISS           =SIMP(statut='o',typ='R'),
8778            ),
8779            TAHERI          =FACT(statut='f',
8780              R_0             =SIMP(statut='o',typ='R'),
8781              ALPHA           =SIMP(statut='o',typ='R'),
8782              M               =SIMP(statut='o',typ='R'),
8783              A               =SIMP(statut='o',typ='R'),
8784              B               =SIMP(statut='o',typ='R'),
8785              C1              =SIMP(statut='o',typ='R'),
8786              C_INF           =SIMP(statut='o',typ='R'),
8787              S               =SIMP(statut='o',typ='R'),
8788            ),
8789            TAHERI_FO       =FACT(statut='f',
8790              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8791              ALPHA           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8792              M               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8793              A               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8794              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8795              C1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8796              C_INF           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8797              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8798              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8799            ),
8800            ROUSSELIER      =FACT(statut='f',
8801              D               =SIMP(statut='o',typ='R'),
8802              SIGM_1          =SIMP(statut='o',typ='R'),
8803              PORO_INIT       =SIMP(statut='o',typ='R'),
8804              PORO_CRIT       =SIMP(statut='f',typ='R',defaut= 1. ),
8805              PORO_ACCE       =SIMP(statut='f',typ='R',defaut= 1. ),
8806              PORO_LIMI       =SIMP(statut='f',typ='R',defaut= 0.999 ),
8807              D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
8808              AN              =SIMP(statut='f',typ='R',defaut= 0. ),
8809            ),
8810            ROUSSELIER_FO   =FACT(statut='f',
8811              D               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8812              SIGM_1          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8813              PORO_INIT       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8814              PORO_CRIT       =SIMP(statut='f',typ='R',defaut= 1. ),
8815              PORO_ACCE       =SIMP(statut='f',typ='R',defaut= 1. ),
8816              PORO_LIMI       =SIMP(statut='f',typ='R',defaut= 0.999 ),
8817              D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
8818              AN              =SIMP(statut='f',typ='R',defaut= 0. ),
8819              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8820            ),
8821            VISC_SINH      =FACT(statut='f',
8822              SIGM_0          =SIMP(statut='o',typ='R'),
8823              EPSI_0          =SIMP(statut='o',typ='R'),
8824              M               =SIMP(statut='o',typ='R'),
8825            ),
8826            CHABOCHE        =FACT(statut='f',
8827              R_I             =SIMP(statut='o',typ='R'),
8828              R_0             =SIMP(statut='o',typ='R'),
8829              B               =SIMP(statut='o',typ='R'),
8830              K               =SIMP(statut='o',typ='R'),
8831              W               =SIMP(statut='o',typ='R'),
8832              A1              =SIMP(statut='o',typ='R'),
8833              A2              =SIMP(statut='o',typ='R'),
8834              C1              =SIMP(statut='o',typ='R'),
8835              C2              =SIMP(statut='o',typ='R'),
8836            ),
8837            CIN1_CHAB  =FACT(statut='f',
8838              R_0             =SIMP(statut='o',typ='R'),
8839              R_I             =SIMP(statut='f',typ='R'),
8840              B               =SIMP(statut='f',typ='R',defaut= 0.0E+0),
8841              C_I             =SIMP(statut='o',typ='R'),
8842              K               =SIMP(statut='f',typ='R',defaut= 1.0E+0),
8843              W               =SIMP(statut='f',typ='R',defaut= 0.0E+0),
8844              G_0             =SIMP(statut='o',typ='R'),
8845              A_I             =SIMP(statut='f',typ='R',defaut= 1.0E+0),
8846            ),
8847            CIN1_CHAB_FO  =FACT(statut='f',
8848              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8849              R_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8850              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8851              C_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8852              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8853              W               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8854              G_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8855              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8856              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",)),
8857            ),
8858            CIN2_CHAB  =FACT(statut='f',
8859              R_0             =SIMP(statut='o',typ='R'),
8860              R_I             =SIMP(statut='f',typ='R'),
8861              B               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8862              C1_I            =SIMP(statut='o',typ='R'),
8863              C2_I            =SIMP(statut='o',typ='R'),
8864              K               =SIMP(statut='f',typ='R',defaut= 1.),
8865              W               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8866              G1_0            =SIMP(statut='o',typ='R'),
8867              G2_0            =SIMP(statut='o',typ='R'),
8868              A_I             =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
8869            ),
8870            CIN2_CHAB_FO  =FACT(statut='f',
8871              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8872              R_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8873              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8874              C1_I            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8875              C2_I            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8876              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8877              W               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8878              G1_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8879              G2_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8880              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8881              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8882            ),
8883            VISCOCHAB       =FACT(statut='f',
8884              K_0             =SIMP(statut='o',typ='R'),
8885              A_K             =SIMP(statut='o',typ='R'),
8886              A_R             =SIMP(statut='o',typ='R'),
8887              K               =SIMP(statut='o',typ='R'),
8888              N               =SIMP(statut='o',typ='R'),
8889              ALP             =SIMP(statut='o',typ='R'),
8890              B               =SIMP(statut='o',typ='R'),
8891              M_R             =SIMP(statut='o',typ='R'),
8892              G_R             =SIMP(statut='o',typ='R'),
8893              MU              =SIMP(statut='o',typ='R'),
8894              Q_M             =SIMP(statut='o',typ='R'),
8895              Q_0             =SIMP(statut='o',typ='R'),
8896              QR_0            =SIMP(statut='o',typ='R'),
8897              ETA             =SIMP(statut='o',typ='R'),
8898              C1              =SIMP(statut='o',typ='R'),
8899              M_1             =SIMP(statut='o',typ='R'),
8900              D1              =SIMP(statut='o',typ='R'),
8901              G_X1            =SIMP(statut='o',typ='R'),
8902              G1_0            =SIMP(statut='o',typ='R'),
8903              C2              =SIMP(statut='o',typ='R'),
8904              M_2             =SIMP(statut='o',typ='R'),
8905              D2              =SIMP(statut='o',typ='R'),
8906              G_X2            =SIMP(statut='o',typ='R'),
8907              G2_0            =SIMP(statut='o',typ='R'),
8908              A_I             =SIMP(statut='o',typ='R'),
8909            ),
8910            VISCOCHAB_FO    =FACT(statut='f',
8911              K_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8912              A_K             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8913              A_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8914              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8915              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8916              ALP             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8917              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8918              M_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8919              G_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8920              MU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8921              Q_M             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8922              Q_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8923              QR_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8924              ETA             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8925              C1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8926              M_1             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8927              D1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8928              G_X1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8929              G1_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8930              C2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8931              M_2             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8932              D2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8933              G_X2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8934              G2_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8935              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8936              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8937            ),
8938            POLY_CFC        =FACT(statut='f',
8939              TEXTURE         =SIMP(statut='o',typ=(tabl_texture) ),
8940              DL              =SIMP(statut='f',typ='R'),
8941              DA              =SIMP(statut='f',typ='R'),
8942              N               =SIMP(statut='o',typ='R'),
8943              K               =SIMP(statut='o',typ='R'),
8944              TAU_0           =SIMP(statut='o',typ='R'),
8945              Q1              =SIMP(statut='o',typ='R'),
8946              B1              =SIMP(statut='o',typ='R'),
8947              HL              =SIMP(statut='o',typ='R'),
8948              Q2              =SIMP(statut='o',typ='R'),
8949              B2              =SIMP(statut='o',typ='R'),
8950              C1              =SIMP(statut='o',typ='R'),
8951              D1              =SIMP(statut='o',typ='R'),
8952              C2              =SIMP(statut='o',typ='R'),
8953            ),
8954            POLY_CFC_FO     =FACT(statut='f',
8955              TEXTURE         =SIMP(statut='o',typ=(tabl_texture) ),
8956              DL              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8957              DA              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8958              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8959              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8960              TAU_0           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8961              Q1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8962              B1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8963              HL              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8964              Q2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8965              B2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8966              C1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8967              D1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8968              C2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8969              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8970            ),
8971            LEMAITRE        =FACT(statut='f',
8972              N               =SIMP(statut='o',typ='R'),
8973              UN_SUR_K        =SIMP(statut='o',typ='R'),
8974              UN_SUR_M        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8975            ),
8976            ZIRC_CYRA2      =FACT(statut='f',
8977              EPSI_FAB        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8978              TEMP_RECUIT     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8979              FLUX_PHI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8980              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
8981            ),
8982           VISC_IRRA_LOG    =FACT(statut='f',
8983              A               =SIMP(statut='f',typ='R',defaut= 1.28E-1),
8984              B               =SIMP(statut='f',typ='R',defaut= 0.01159),
8985              CSTE_TPS        =SIMP(statut='f',typ='R',defaut= 0.3540),
8986              ENER_ACT        =SIMP(statut='f',typ='R',defaut= 5000.),
8987              FLUX_PHI        =SIMP(statut='o',typ='R',),
8988            ),
8989           LEMA_SEUIL   =FACT(statut='f',
8990              A               =SIMP(statut='o',typ='R',),
8991              S               =SIMP(statut='o',typ='R',),
8992            ),
8993           LEMA_SEUIL_FO=FACT(statut='f',
8994              A               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8995              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8996              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8997            ),  
8998            ZIRC_EPRI       =FACT(statut='f',
8999              FLUX_PHI        =SIMP(statut='o',typ='R'),
9000              R_P             =SIMP(statut='o',typ='R'),
9001              THETA_MAX       =SIMP(statut='o',typ='R'),
9002            ),
9003            LEMAITRE_FO     =FACT(statut='f',
9004              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9005              UN_SUR_K        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9006              UN_SUR_M        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9007              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9008            ),
9009            GRAN_IRRA       =FACT(statut='f',
9010              A               =SIMP(statut='f',typ='R',defaut= 0.E+0),
9011              B               =SIMP(statut='f',typ='R',defaut= 0.E+0),
9012              S               =SIMP(statut='f',typ='R',defaut= 0.E+0),
9013            ),
9014            FLU_IRRA       =FACT(statut='f',
9015              QSR_K           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9016              BETA            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9017              PHI_ZERO        =SIMP(statut='f',typ='R',defaut= 1.E+20),
9018              L               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9019            ),
9020            OHNO            =FACT(statut='f',
9021              R_I             =SIMP(statut='o',typ='R'),
9022              R_0             =SIMP(statut='o',typ='R'),
9023              B               =SIMP(statut='o',typ='R'),
9024              PHI             =SIMP(statut='o',typ='R'),
9025              A1              =SIMP(statut='o',typ='R'),
9026              A2              =SIMP(statut='o',typ='R'),
9027              A3              =SIMP(statut='o',typ='R'),
9028              A4              =SIMP(statut='o',typ='R'),
9029              A5              =SIMP(statut='o',typ='R'),
9030              GAMMA1          =SIMP(statut='o',typ='R'),
9031              GAMMA2          =SIMP(statut='o',typ='R'),
9032              GAMMA3          =SIMP(statut='o',typ='R'),
9033              GAMMA4          =SIMP(statut='o',typ='R'),
9034              GAMMA5          =SIMP(statut='o',typ='R'),
9035              M1              =SIMP(statut='o',typ='R'),
9036              M2              =SIMP(statut='o',typ='R'),
9037              M3              =SIMP(statut='o',typ='R'),
9038              M4              =SIMP(statut='o',typ='R'),
9039              M5              =SIMP(statut='o',typ='R'),
9040                            ),
9041            OHNO_FO         =FACT(statut='f',
9042              R_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9043              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9044              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9045              PHI             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9046              A1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9047              A2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9048              A3              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9049              A4              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9050              A5              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9051              GAMMA1          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9052              GAMMA2          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9053              GAMMA3          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9054              GAMMA4          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9055              GAMMA5          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9056              M1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9057              M2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9058              M3              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9059              M4              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9060              M5              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9061              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9062            ),
9063            LMARC           =FACT(statut='f',
9064              DE_0            =SIMP(statut='o',typ='R'),
9065              R_0             =SIMP(statut='o',typ='R'),
9066              N               =SIMP(statut='o',typ='R'),
9067              K               =SIMP(statut='o',typ='R'),
9068              Y_I             =SIMP(statut='o',typ='R'),
9069              Y_0             =SIMP(statut='o',typ='R'),
9070              B               =SIMP(statut='o',typ='R'),
9071              A_0             =SIMP(statut='o',typ='R'),
9072              RM              =SIMP(statut='o',typ='R'),
9073              M               =SIMP(statut='o',typ='R'),
9074              P               =SIMP(statut='o',typ='R'),
9075              P1              =SIMP(statut='o',typ='R'),
9076              P2              =SIMP(statut='o',typ='R'),
9077              M11             =SIMP(statut='o',typ='R'),
9078              M22             =SIMP(statut='o',typ='R'),
9079              M33             =SIMP(statut='o',typ='R'),
9080              M66             =SIMP(statut='o',typ='R'),
9081              N11             =SIMP(statut='o',typ='R'),
9082              N22             =SIMP(statut='o',typ='R'),
9083              N33             =SIMP(statut='o',typ='R'),
9084              N66             =SIMP(statut='o',typ='R'),
9085              Q11             =SIMP(statut='o',typ='R'),
9086              Q22             =SIMP(statut='o',typ='R'),
9087              Q33             =SIMP(statut='o',typ='R'),
9088              Q66             =SIMP(statut='o',typ='R'),
9089              R11             =SIMP(statut='o',typ='R'),
9090              R22             =SIMP(statut='o',typ='R'),
9091              R33             =SIMP(statut='o',typ='R'),
9092              R66             =SIMP(statut='o',typ='R'),
9093            ),
9094            LMARC_FO        =FACT(statut='f',
9095              DE_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9096              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9097              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9098              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9099              Y_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9100              Y_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9101              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9102              A_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9103              RM              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9104              M               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9105              P               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9106              P1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9107              P2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9108              M11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9109              M22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9110              M33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9111              M66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9112              N11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9113              N22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9114              N33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9115              N66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9116              Q11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9117              Q22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9118              Q33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9119              Q66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9120              R11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9121              R22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9122              R33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9123              R66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9124              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9125            ),
9126            VMIS_POUTRE     =FACT(statut='f',
9127              NP              =SIMP(statut='o',typ='R'),
9128              MEY             =SIMP(statut='o',typ='R'),
9129              MPY             =SIMP(statut='o',typ='R'),
9130              CAY             =SIMP(statut='o',typ='R'),
9131              CBY             =SIMP(statut='o',typ='R'),
9132              MEZ             =SIMP(statut='o',typ='R'),
9133              MPZ             =SIMP(statut='o',typ='R'),
9134              CAZ             =SIMP(statut='o',typ='R'),
9135              CBZ             =SIMP(statut='o',typ='R'),
9136              MPX             =SIMP(statut='o',typ='R'),
9137            ),
9138            VMIS_POUTRE_FO  =FACT(statut='f',
9139              NP              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9140              MEY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9141              MPY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9142              CAY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9143              CBY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9144              MEZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9145              MPZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9146              CAZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9147              CBZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9148              MPX             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9149              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9150            ),
9151            ARME            =FACT(statut='f',
9152              KYE             =SIMP(statut='o',typ='R'),
9153              DLE             =SIMP(statut='o',typ='R'),
9154              KYP             =SIMP(statut='o',typ='R'),
9155              DLP             =SIMP(statut='o',typ='R'),
9156              KYG             =SIMP(statut='o',typ='R'),
9157            ),
9158            ASSE_CORN       =FACT(statut='f',
9159              NU_1            =SIMP(statut='o',typ='R'),
9160              MU_1            =SIMP(statut='o',typ='R'),
9161              DXU_1           =SIMP(statut='o',typ='R'),
9162              DRYU_1          =SIMP(statut='o',typ='R'),
9163              C_1             =SIMP(statut='o',typ='R'),
9164              NU_2            =SIMP(statut='o',typ='R'),
9165              MU_2            =SIMP(statut='o',typ='R'),
9166              DXU_2           =SIMP(statut='o',typ='R'),
9167              DRYU_2          =SIMP(statut='o',typ='R'),
9168              C_2             =SIMP(statut='o',typ='R'),
9169              KY              =SIMP(statut='o',typ='R'),
9170              KZ              =SIMP(statut='o',typ='R'),
9171              KRX             =SIMP(statut='o',typ='R'),
9172              KRZ             =SIMP(statut='o',typ='R'),
9173            ),
9174            DIS_CONTACT     =FACT(statut='f',
9175              RIGI_NOR        =SIMP(statut='f',typ='R' ),
9176              DIST_1          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9177              DIST_2          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9178              RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9179              AMOR_NOR        =SIMP(statut='f',typ='R' ),
9180              AMOR_TAN        =SIMP(statut='f',typ='R' ),
9181              COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9182              JEU             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9183              KT_ULTM         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9184              EFFO_N_INIT     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9185              regles=(EXCLUS('RIGI_N_FO','RIGI_N_IRRA',),
9186                      EXCLUS('RELA_MZ','ANGLE_1'),
9187                      PRESENT_PRESENT('ANGLE_1','ANGLE_2','ANGLE_3','ANGLE_4',
9188                                      'MOMENT_1','MOMENT_2','MOMENT_3','MOMENT_4'),),
9189              RIGI_N_IRRA     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9190              RIGI_N_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9191              RELA_MZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9192              ANGLE_1         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9193              ANGLE_2         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9194              ANGLE_3         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9195              ANGLE_4         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9196              MOMENT_1        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9197              MOMENT_2        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9198              MOMENT_3        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9199              MOMENT_4        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9200              C_PRAGER_MZ     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9201              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("DRZ","INST","TEMP",) ),
9202            ),
9203            NADAI_B         =FACT(statut='f',
9204              F_C             =SIMP(statut='o',typ='R'),
9205              F_T             =SIMP(statut='o',typ='R'),
9206              CRIT_E_C        =SIMP(statut='o',typ='R'),
9207              EPSP_P_C        =SIMP(statut='o',typ='R'),
9208              EPSP_R_C        =SIMP(statut='o',typ='R'),
9209              EPSI_R_T        =SIMP(statut='o',typ='R'),
9210              FAC_T_C         =SIMP(statut='o',typ='R'),
9211            ),
9212            BETON_DOUBLE_DP =FACT(statut='f',
9213              F_C             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9214              F_T             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9215              COEF_BIAX       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9216              ENER_COMP_RUPT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9217              ENER_TRAC_RUPT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9218              COEF_ELAS_COMP  =SIMP(statut='o',typ='R'),
9219              LONG_CARA       =SIMP(statut='f',typ='R'),
9220              ECRO_COMP_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","PARABOLE") ),
9221              ECRO_TRAC_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","EXPONENT") ),
9222              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH",) ),
9223            ),
9224            LABORD_1D=FACT(statut='f',min=0 ,
9225              Y01             =SIMP(statut='o',typ='R'),
9226              Y02             =SIMP(statut='o',typ='R'),
9227              A1              =SIMP(statut='o',typ='R'),
9228              A2              =SIMP(statut='o',typ='R'),
9229              B1              =SIMP(statut='o',typ='R'),
9230              B2              =SIMP(statut='o',typ='R'),
9231              BETA1           =SIMP(statut='o',typ='R'),
9232              BETA2           =SIMP(statut='o',typ='R'),
9233              SIGF            =SIMP(statut='o',typ='R'),
9234            ),
9235          MAZARS=FACT(statut='f',min=0 ,
9236              EPSD0           =SIMP(statut='o',typ='R'),
9237              BETA            =SIMP(statut='o',typ='R'),
9238              AC              =SIMP(statut='o',typ='R'),
9239              BC              =SIMP(statut='o',typ='R'),
9240              AT              =SIMP(statut='o',typ='R'),
9241              BT              =SIMP(statut='o',typ='R'),
9242            ),
9243          MAZARS_FO=FACT(statut='f',min=0 ,
9244              EPSD0           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9245              BETA            =SIMP(statut='o',typ='R'),
9246              AC              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9247              BC              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9248              AT              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9249              BT              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9250              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","SECH","HYDR") ),
9251            ),
9252          JOINT_BA=FACT(statut='f',min=0 ,max=1,
9253              HPEN            =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=0.E+0),
9254              GTT             =SIMP(statut='o',typ='R',val_min=0.E+0),
9255              GAMD0           =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E-1),
9256              AD1             =SIMP(statut='o',typ='R',val_min=0.E+0),
9257              BD1             =SIMP(statut='o',typ='R',defaut= 5.E-1,val_min=1.E-1),
9258              GAMD2           =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0),
9259              AD2             =SIMP(statut='o',typ='R',val_min=0.E+0),
9260              BD2             =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1),
9261              VIFROT          =SIMP(statut='o',typ='R',val_min=0.E+0),
9262              FA              =SIMP(statut='o',typ='R',val_min=0.E+0),
9263              FC              =SIMP(statut='o',typ='R',val_min=0.E+0),
9264              EPSTR0          =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0),
9265              ADN             =SIMP(statut='o',typ='R',val_min=0.E+0),
9266              BDN             =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1),
9267            ),
9268           VENDOCHAB       =FACT(statut='f',
9269              S_VP            =SIMP(statut='o',typ='R'),
9270              SEDVP1          =SIMP(statut='o',typ='R'),
9271              SEDVP2          =SIMP(statut='o',typ='R'),
9272              N_VP            =SIMP(statut='o',typ='R'),
9273              M_VP            =SIMP(statut='o',typ='R'),
9274              K_VP            =SIMP(statut='o',typ='R'),
9275              R_D             =SIMP(statut='o',typ='R'),
9276              A_D             =SIMP(statut='o',typ='R'),
9277              K_D             =SIMP(statut='o',typ='R'),
9278            ),
9279            VENDOCHAB_FO    =FACT(statut='f',
9280              S_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9281              SEDVP1          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9282              SEDVP2          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9283              N_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9284              M_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9285              K_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9286              R_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9287              A_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9288              K_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9289              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","X",) ),
9290            ),
9291            PINTO_MENEGOTTO =FACT(statut='f',
9292              SY              =SIMP(statut='o',typ='R'),
9293              EPSI_ULTM       =SIMP(statut='o',typ='R'),
9294              SIGM_ULTM       =SIMP(statut='o',typ='R'),
9295              ELAN            =SIMP(statut='f',typ='R',defaut= 4. ),
9296              EPSP_HARD       =SIMP(statut='o',typ='R'),
9297              R_PM            =SIMP(statut='f',typ='R',defaut= 20. ),
9298              EP_SUR_E        =SIMP(statut='f',typ='R'),
9299              A1_PM           =SIMP(statut='f',typ='R',defaut= 18.5 ),
9300              A2_PM           =SIMP(statut='f',typ='R',defaut= 0.15 ),
9301              A6_PM           =SIMP(statut='f',typ='R',defaut= 620. ),
9302              C_PM            =SIMP(statut='f',typ='R',defaut= 0.5 ),
9303              A_PM            =SIMP(statut='f',typ='R',defaut= 6.0E-3 ),
9304            ),
9305            BPEL_BETON      =FACT(statut='f',
9306              PERT_FLUA       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9307              PERT_RETR       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9308            ),
9309            BPEL_ACIER      =FACT(statut='f',
9310             regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',),
9311                      PRESENT_PRESENT('MU0_RELAX','F_PRG',),),
9312              RELAX_1000      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9313              MU0_RELAX       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9314              F_PRG           =SIMP(statut='f',typ='R'),
9315              FROT_COURB      =SIMP(statut='f',typ='R',defaut=0.E+0),
9316              FROT_LINE       =SIMP(statut='f',typ='R',defaut=0.E+0),
9317            ),
9318            CAM_CLAY      =FACT(statut='f',
9319              PORO            =SIMP(statut='o',typ='R'),
9320              LAMBDA          =SIMP(statut='o',typ='R'),
9321              KAPA            =SIMP(statut='o',typ='R'),
9322              M               =SIMP(statut='o',typ='R'),
9323              PRES_CRIT       =SIMP(statut='o',typ='R'),
9324              PA              =SIMP(statut='o',typ='R'),
9325            ),
9326            BARCELONE      =FACT(statut='f',
9327              R             =SIMP(statut='o',typ='R'),
9328              BETA          =SIMP(statut='o',typ='R'),
9329              KC            =SIMP(statut='o',typ='R'),
9330              PC0_INIT      =SIMP(statut='o',typ='R'),
9331              KAPAS         =SIMP(statut='o',typ='R'),
9332              LAMBDAS       =SIMP(statut='o',typ='R'),
9333              ALPHAB        =SIMP(statut='f',typ='R'),
9334            ),
9335            CJS             =FACT(statut='f',
9336              BETA_CJS        =SIMP(statut='o',typ='R'),
9337              RM              =SIMP(statut='o',typ='R'),
9338              N_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9339              KP              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9340              RC              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9341              A_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9342              B_CJS           =SIMP(statut='f',typ='R',defaut= 1.0E+25 ),
9343              C_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9344              GAMMA_CJS       =SIMP(statut='o',typ='R'),
9345              MU_CJS          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9346              PCO             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9347              PA              =SIMP(statut='o',typ='R'),
9348              Q_INIT          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9349              R_INIT          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9350            ),
9351            ECRO_ASYM_LINE  =FACT(statut='f',
9352              DC_SIGM_EPSI    =SIMP(statut='o',typ='R'),
9353              SY_C            =SIMP(statut='o',typ='R'),
9354              DT_SIGM_EPSI    =SIMP(statut='o',typ='R'),
9355              SY_T            =SIMP(statut='o',typ='R'),
9356            ),
9357            GRANGER_FP      =FACT(statut='f',
9358              J1              =SIMP(statut='f',typ='R'),
9359              J2              =SIMP(statut='f',typ='R'),
9360              J3              =SIMP(statut='f',typ='R'),
9361              J4              =SIMP(statut='f',typ='R'),
9362              J5              =SIMP(statut='f',typ='R'),
9363              J6              =SIMP(statut='f',typ='R'),
9364              J7              =SIMP(statut='f',typ='R'),
9365              J8              =SIMP(statut='f',typ='R'),
9366              TAUX_1          =SIMP(statut='f',typ='R'),
9367              TAUX_2          =SIMP(statut='f',typ='R'),
9368              TAUX_3          =SIMP(statut='f',typ='R'),
9369              TAUX_4          =SIMP(statut='f',typ='R'),
9370              TAUX_5          =SIMP(statut='f',typ='R'),
9371              TAUX_6          =SIMP(statut='f',typ='R'),
9372              TAUX_7          =SIMP(statut='f',typ='R'),
9373              TAUX_8          =SIMP(statut='f',typ='R'),
9374              QSR_K           =SIMP(statut='f',typ='R'),
9375            ),
9376            GRANGER_FP_INDT =FACT(statut='f',
9377              J1              =SIMP(statut='f',typ='R'),
9378              J2              =SIMP(statut='f',typ='R'),
9379              J3              =SIMP(statut='f',typ='R'),
9380              J4              =SIMP(statut='f',typ='R'),
9381              J5              =SIMP(statut='f',typ='R'),
9382              J6              =SIMP(statut='f',typ='R'),
9383              J7              =SIMP(statut='f',typ='R'),
9384              J8              =SIMP(statut='f',typ='R'),
9385              TAUX_1          =SIMP(statut='f',typ='R'),
9386              TAUX_2          =SIMP(statut='f',typ='R'),
9387              TAUX_3          =SIMP(statut='f',typ='R'),
9388              TAUX_4          =SIMP(statut='f',typ='R'),
9389              TAUX_5          =SIMP(statut='f',typ='R'),
9390              TAUX_6          =SIMP(statut='f',typ='R'),
9391              TAUX_7          =SIMP(statut='f',typ='R'),
9392              TAUX_8          =SIMP(statut='f',typ='R'),
9393            ),
9394            V_GRANGER_FP    =FACT(statut='f',
9395              QSR_VEIL        =SIMP(statut='f',typ='R'),
9396              FONC_V          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9397              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
9398            ),
9399            BAZANT_FD      =FACT(statut='f',
9400              LAM_VISC      =SIMP(statut='o',typ='R'),
9401            ),
9402            BETON_UMLV_FP   =FACT(statut='f',min=0 ,
9403              K_RS            =SIMP(statut='o',typ='R'),
9404              ETA_RS          =SIMP(statut='o',typ='R'),
9405              K_IS            =SIMP(statut='o',typ='R'),
9406              ETA_IS          =SIMP(statut='o',typ='R'),
9407              K_RD            =SIMP(statut='o',typ='R'),
9408              ETA_RD          =SIMP(statut='o',typ='R'),
9409              ETA_ID          =SIMP(statut='o',typ='R'),
9410              ETA_FD          =SIMP(statut='f',typ='R'),
9411            ),
9412            GLRC            =FACT(statut='f',min=0,max=1,
9413              MEX1            =SIMP(statut='o',typ='R',val_min=0.E+0),
9414              MEY1            =SIMP(statut='o',typ='R',val_min=0.E+0),
9415              MEX2            =SIMP(statut='o',typ='R',val_max=0.E+0),
9416              MEY2            =SIMP(statut='o',typ='R',val_max=0.E+0),
9417              CX1             =SIMP(statut='o',typ='R',val_min=0.E+0),
9418              CY1             =SIMP(statut='o',typ='R',val_min=0.E+0),
9419              CXY1            =SIMP(statut='o',typ='R',val_min=0.E+0),
9420              CX2             =SIMP(statut='o',typ='R',val_min=0.E+0),
9421              CY2             =SIMP(statut='o',typ='R',val_min=0.E+0),
9422              CXY2            =SIMP(statut='o',typ='R',val_min=0.E+0),
9423            ),
9424            GLRC_FO         =FACT(statut='f',min=0,max=1,
9425              MEX1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9426              MEY1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9427              MEX2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9428              MEY2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9429              CX1             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9430              CY1             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9431              CXY1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9432              CX2             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9433              CY2             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9434              CXY2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9435              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("NORM",) ),
9436            ),
9437            CORR_ACIER   =FACT(statut='f',min=0 ,max=1,
9438              D_CORR           =SIMP(statut='o',typ='R'),
9439              ECRO_K           =SIMP(statut='o',typ='R'),
9440              ECRO_M           =SIMP(statut='o',typ='R'),
9441              SY              =SIMP(statut='o',typ='R'),
9442              ),                    
9443 #
9444 # comportement thermique
9445 #
9446            THER_NL         =FACT(statut='f',
9447              regles=(UN_PARMI('BETA','RHO_CP', ),),
9448              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9449              BETA            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9450              RHO_CP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9451              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9452            ),
9453            THER_HYDR       =FACT(statut='f',
9454              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9455              BETA            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9456              AFFINITE        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9457              CHALHYDR        =SIMP(statut='o',typ='R'),
9458              QSR_K           =SIMP(statut='o',typ='R'),
9459              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("HYDR","TEMP",) ),
9460            ),
9461            THER            =FACT(statut='f',
9462              LAMBDA          =SIMP(statut='o',typ='R'),
9463              RHO_CP          =SIMP(statut='f',typ='R'),
9464            ),
9465            THER_FO         =FACT(statut='f',
9466              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9467              RHO_CP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9468              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
9469            ),
9470            THER_ORTH       =FACT(statut='f',
9471              LAMBDA_L        =SIMP(statut='o',typ='R'),
9472              LAMBDA_T        =SIMP(statut='o',typ='R'),
9473              LAMBDA_N        =SIMP(statut='f',typ='R'),
9474              RHO_CP          =SIMP(statut='f',typ='R'),
9475            ),
9476            THER_COQUE      =FACT(statut='f',
9477              COND_LMM        =SIMP(statut='o',typ='R'),
9478              COND_TMM        =SIMP(statut='o',typ='R'),
9479              COND_LMP        =SIMP(statut='o',typ='R'),
9480              COND_TMP        =SIMP(statut='o',typ='R'),
9481              COND_LPP        =SIMP(statut='o',typ='R'),
9482              COND_TPP        =SIMP(statut='o',typ='R'),
9483              COND_LSI        =SIMP(statut='o',typ='R'),
9484              COND_TSI        =SIMP(statut='o',typ='R'),
9485              COND_NMM        =SIMP(statut='o',typ='R'),
9486              COND_NMP        =SIMP(statut='o',typ='R'),
9487              COND_NPP        =SIMP(statut='o',typ='R'),
9488              COND_NSI        =SIMP(statut='o',typ='R'),
9489              CMAS_MM         =SIMP(statut='f',typ='R'),
9490              CMAS_MP         =SIMP(statut='f',typ='R'),
9491              CMAS_PP         =SIMP(statut='f',typ='R'),
9492              CMAS_SI         =SIMP(statut='f',typ='R'),
9493            ),
9494            THER_COQUE_FO   =FACT(statut='f',
9495              COND_LMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9496              COND_TMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9497              COND_LMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9498              COND_TMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9499              COND_LPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9500              COND_TPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9501              COND_LSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9502              COND_TSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9503              COND_NMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9504              COND_NMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9505              COND_NPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9506              COND_NSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9507              CMAS_MM         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9508              CMAS_MP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9509              CMAS_PP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9510              CMAS_SI         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9511            ),
9512            SECH_GRANGER    =FACT(statut='f',
9513              A               =SIMP(statut='o',typ='R'),
9514              B               =SIMP(statut='o',typ='R'),
9515              QSR_K           =SIMP(statut='o',typ='R'),
9516              TEMP_0_C        =SIMP(statut='o',typ='R'),
9517            ),
9518            SECH_MENSI      =FACT(statut='f',
9519              A               =SIMP(statut='o',typ='R'),
9520              B               =SIMP(statut='o',typ='R'),
9521            ),
9522            SECH_BAZANT     =FACT(statut='f',
9523              D1              =SIMP(statut='o',typ='R'),
9524              ALPHA_BAZANT    =SIMP(statut='o',typ='R'),
9525              N               =SIMP(statut='o',typ='R'),
9526              FONC_DESORP     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9527              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9528            ),
9529            SECH_NAPPE      =FACT(statut='f',
9530              FONCTION        =SIMP(statut='o',typ=(nappe_sdaster,formule)),
9531              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","TSEC",) ),
9532            ),
9533 #
9534 # comportement métallurgique
9535 #
9536            META_ACIER      =FACT(statut='f',
9537              TRC             =SIMP(statut='o',typ=(tabl_trc) ),
9538              AR3             =SIMP(statut='o',typ='R'),
9539              ALPHA           =SIMP(statut='o',typ='R'),
9540              MS0             =SIMP(statut='o',typ='R'),
9541              AC1             =SIMP(statut='o',typ='R'),
9542              AC3             =SIMP(statut='o',typ='R'),
9543              TAUX_1          =SIMP(statut='o',typ='R'),
9544              TAUX_3          =SIMP(statut='o',typ='R'),
9545              LAMBDA0         =SIMP(statut='f',typ='R'),
9546              QSR_K           =SIMP(statut='f',typ='R'),
9547              D10             =SIMP(statut='f',typ='R'),
9548              WSR_K           =SIMP(statut='f',typ='R'),
9549            ),
9550            META_ZIRC       =FACT(statut='f',
9551              TDEQ            =SIMP(statut='o',typ='R'),
9552              N               =SIMP(statut='o',typ='R'),
9553              K               =SIMP(statut='o',typ='R'),
9554              TDC             =SIMP(statut='o',typ='R'),
9555              AC              =SIMP(statut='o',typ='R'),
9556              M               =SIMP(statut='o',typ='R'),
9557              QSR_K           =SIMP(statut='f',typ='R'),
9558              TDR             =SIMP(statut='o',typ='R'),
9559              AR              =SIMP(statut='o',typ='R'),
9560              BR              =SIMP(statut='o',typ='R'),
9561            ),
9562            DURT_META       =FACT(statut='f',
9563              F1_DURT         =SIMP(statut='o',typ='R'),
9564              F2_DURT         =SIMP(statut='o',typ='R'),
9565              F3_DURT         =SIMP(statut='o',typ='R'),
9566              F4_DURT         =SIMP(statut='o',typ='R'),
9567              C_DURT          =SIMP(statut='o',typ='R'),
9568            ),
9569            ELAS_META       =FACT(statut='f',
9570              E               =SIMP(statut='o',typ='R'),
9571              NU              =SIMP(statut='o',typ='R'),
9572              F_ALPHA         =SIMP(statut='o',typ='R'),
9573              C_ALPHA         =SIMP(statut='o',typ='R'),
9574              PHASE_REFE      =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
9575              EPSF_EPSC_TREF  =SIMP(statut='o',typ='R'),
9576              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
9577              F1_SY           =SIMP(statut='f',typ='R'),
9578              F2_SY           =SIMP(statut='f',typ='R'),
9579              F3_SY           =SIMP(statut='f',typ='R'),
9580              F4_SY           =SIMP(statut='f',typ='R'),
9581              C_SY            =SIMP(statut='f',typ='R'),
9582              SY_MELANGE      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9583              F1_S_VP         =SIMP(statut='f',typ='R'),
9584              F2_S_VP         =SIMP(statut='f',typ='R'),
9585              F3_S_VP         =SIMP(statut='f',typ='R'),
9586              F4_S_VP         =SIMP(statut='f',typ='R'),
9587              C_S_VP          =SIMP(statut='f',typ='R' ),
9588              S_VP_MELANGE    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9589              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("META",)),
9590            ),
9591            ELAS_META_FO    =FACT(statut='f',
9592              regles=(
9593                       PRESENT_PRESENT('F_ALPHA','TEMP_DEF_ALPHA'),
9594                       PRESENT_PRESENT('C_ALPHA','TEMP_DEF_ALPHA'),
9595                     ),
9596              E               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9597              NU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9598              F_ALPHA         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9599              C_ALPHA         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9600              PHASE_REFE      =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
9601              EPSF_EPSC_TREF  =SIMP(statut='o',typ='R'),
9602              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
9603              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
9604              F1_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9605              F2_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9606              F3_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9607              F4_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9608              C_SY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9609              SY_MELANGE      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9610              F1_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9611              F2_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9612              F3_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9613              F4_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9614              C_S_VP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9615              S_VP_MELANGE    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9616              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","META",)),
9617            ),
9618            META_ECRO_LINE  =FACT(statut='f',
9619              F1_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9620              F2_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9621              F3_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9622              F4_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9623              C_D_SIGM_EPSI   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9624              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",)),
9625            ),
9626            META_TRACTION   =FACT(statut='f',
9627              SIGM_F1         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9628              SIGM_F2         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9629              SIGM_F3         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9630              SIGM_F4         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9631              SIGM_C          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9632              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("EPSI","TEMP",)),
9633            ),
9634            META_VISC_FO    =FACT(statut='f',
9635              F1_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9636              F1_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9637              F1_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9638              F1_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9639              F2_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9640              F2_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9641              F2_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9642              F2_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9643              F3_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9644              F3_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9645              F3_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9646              F3_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9647              F4_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9648              F4_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9649              F4_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9650              F4_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9651              C_ETA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9652              C_N             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9653              C_C             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9654              C_M             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9655              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9656            ),
9657            META_PT         =FACT(statut='f',
9658              F1_K            =SIMP(statut='f',typ='R'),
9659              F2_K            =SIMP(statut='f',typ='R'),
9660              F3_K            =SIMP(statut='f',typ='R'),
9661              F4_K            =SIMP(statut='f',typ='R'),
9662              F1_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9663              F2_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9664              F3_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9665              F4_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9666              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","META",) ),
9667            ),
9668            META_RE         =FACT(statut='f',
9669              C_F1_THETA      =SIMP(statut='f',typ='R'),
9670              C_F2_THETA      =SIMP(statut='f',typ='R'),
9671              C_F3_THETA      =SIMP(statut='f',typ='R'),
9672              C_F4_THETA      =SIMP(statut='f',typ='R'),
9673              F1_C_THETA      =SIMP(statut='f',typ='R'),
9674              F2_C_THETA      =SIMP(statut='f',typ='R'),
9675              F3_C_THETA      =SIMP(statut='f',typ='R'),
9676              F4_C_THETA      =SIMP(statut='f',typ='R'),
9677            ),
9678 #
9679 # comportement fluide
9680 #
9681            FLUIDE          =FACT(statut='f',
9682              regles=(EXCLUS('CELE_C','CELE_R'),),
9683              RHO             =SIMP(statut='o',typ='R'),
9684              CELE_C          =SIMP(statut='f',typ='C'),
9685              CELE_R          =SIMP(statut='f',typ='R'),
9686            ),
9687            PORO_JOINT      =FACT(statut='f',
9688              RHO_FLUI        =SIMP(statut='o',typ='R'),
9689              ENTRO_FLUI      =SIMP(statut='o',typ='R'),
9690              BIOT_M          =SIMP(statut='o',typ='R'),
9691              C_0             =SIMP(statut='o',typ='R'),
9692              T_R             =SIMP(statut='o',typ='R'),
9693              ALPHA_M         =SIMP(statut='o',typ='R'),
9694              LAMBDA_T        =SIMP(statut='o',typ='R'),
9695              LAMBDA_H        =SIMP(statut='o',typ='R'),
9696              SOURCE_INIT     =SIMP(statut='o',typ='R'),
9697              OMEGA_0         =SIMP(statut='o',typ='R'),
9698            ),
9699 # =================================================================================
9700 # COMPORTEMENT THERMO_HYDRO_MECANIQUE
9701 # LES DONNEES NECESSAIRES A LA DEFINITION DU MATERIAU SONT DEPENDANTES
9702 # DE LA LOI DE COUPLAGE THM DE LA RELATION
9703 # LE COMPORTEMENT DE COUPLAGE COMP_THM N EST VALABLE QUE POUR LES LOIS
9704 # DE COUPLAGE : LIQU_SATU,LIQU_GAZ,GAZ,LIQU_GAZ_ATM,LIQU_VAPE_GAZ,LIQU_VAPE
9705 # ET LIQU_AD_GAZ_VAPE
9706 # POUR LES LOIS DE COUPLAGE LIQU_SATU_GAT ET LIQU_NSAT_GAT
9707 # ON NE MODIFIE RIEN
9708 # LA CORRESPONDANCE AVEC LES VARIABLES CACHEES EST LA SUIVANTE :
9709 # 1 -->  LIQU_SATU
9710 # 2 -->  GAZ
9711 # 3 -->  LIQU_VAPE
9712 # 4 -->  LIQU_VAPE_GAZ
9713 # 5 -->  LIQU_GAZ
9714 # 6 -->  LIQU_GAZ_ATM
9715 # 7 -->  LIQU_SATU_GAT
9716 # 8 -->  LIQU_NSAT_GAT
9717 # 9 -->  LIQU_AD_GAZ_VAPE
9718 # =================================================================================
9719            COMP_THM        = SIMP(statut='f', typ='TXM',
9720                                   into = ( "LIQU_SATU"     ,
9721                                            "LIQU_GAZ"      ,
9722                                            "GAZ"           ,
9723                                            "LIQU_GAZ_ATM"  ,
9724                                            "LIQU_VAPE_GAZ" ,
9725                                            "LIQU_VAPE"     ,
9726                                            "LIQU_SATU_GAT" ,
9727                                            "LIQU_NSAT_GAT" ,
9728                                            "LIQU_AD_GAZ_VAPE" ,
9729                                           ) ),
9730 # =================================================================================
9731 # --- LOI DE COUPLAGE DE TYPE LIQU_SATU -------------------------------------------
9732 # =================================================================================
9733 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
9734 # --- THM_INIT, THM_DIFFU, THM_LIQU -----------------------------------------------
9735 # =================================================================================
9736            b_liqusatu      = BLOC(condition = "COMP_THM == 'LIQU_SATU' ",
9737                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU",
9738 # =================================================================================
9739 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9740 # =================================================================================
9741                              THM_INIT   = FACT(statut='o',
9742 # ---------------------------------------------------------------------------------
9743 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9744 # ---------------------------------------------------------------------------------
9745                                            PRE1          = SIMP(statut='o',typ='R'),
9746                                            PORO          = SIMP(statut='o',typ='R'),
9747 # ---------------------------------------------------------------------------------
9748 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9749 # ---------------------------------------------------------------------------------
9750                                            TEMP          = SIMP(statut='f',typ='R'),
9751 # ---------------------------------------------------------------------------------
9752 # -------------------   DONNEES INUTILES   ----------------------------------------
9753 # ---------------------------------------------------------------------------------
9754                                            PRE2          = SIMP(statut='f',typ='R'),
9755                                            PRES_VAPE     = SIMP(statut='f',typ='R'),
9756                                            DEGR_SATU     = SIMP(statut='f',typ='R'),
9757                                            PRES_ATMO     = SIMP(statut='f',typ='R'),
9758 # ---------------------------------------------------------------------------------
9759 # -------------------   DONNEE CACHEE ---------------------------------------------
9760 # ---------------------------------------------------------------------------------
9761                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 1.0,),
9762                                              ),
9763 # =================================================================================
9764 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9765 # =================================================================================
9766                              THM_DIFFU  = FACT(statut='o',
9767 # ---------------------------------------------------------------------------------
9768 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9769 # ---------------------------------------------------------------------------------
9770                                            RHO           = SIMP(statut='o',typ='R'),
9771                                            BIOT_COEF     = SIMP(statut='o',typ='R'),
9772                                            PESA_X        = SIMP(statut='o',typ='R'),
9773                                            PESA_Y        = SIMP(statut='o',typ='R'),
9774                                            PESA_Z        = SIMP(statut='o',typ='R'),
9775 # ---------------------------------------------------------------------------------
9776 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9777 # ---------------------------------------------------------------------------------
9778                                            CP            = SIMP(statut='f',typ='R'),
9779                                            PERM_IN       = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9780                                            PERM_END      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9781                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
9782                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
9783                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9784                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9785                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9786                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9787                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9788                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9789                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9790                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9791                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9792                                            LAMB_CT   = SIMP(statut='f',typ='R'),
9793 # ---------------------------------------------------------------------------------
9794 # -------------------   DONNEES INUTILES   ----------------------------------------
9795 # ---------------------------------------------------------------------------------
9796                                            R_GAZ         = SIMP(statut='f',typ='R'),
9797                                            EMMAG           = SIMP(statut='f',typ='R'),
9798                                            SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9799                                            D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9800                                            PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9801                                            D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9802                                            PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9803                                            D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9804                                            D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9805                                            SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9806                                            D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9807                                            PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9808                                            CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9809                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9810                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9811                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9812                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9813                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9814                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9815                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9816                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9817                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9818                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9819                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9820 # ---------------------------------------------------------------------------------
9821 # -------------------   DONNEES CACHEES -------------------------------------------
9822 # ---------------------------------------------------------------------------------
9823          VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
9824                                              ),
9825 # =================================================================================
9826 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9827 # =================================================================================
9828                              THM_LIQU   = FACT(statut='o',
9829 # ---------------------------------------------------------------------------------
9830 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9831 # ---------------------------------------------------------------------------------
9832                                            RHO           = SIMP(statut='o',typ='R'),
9833                                            UN_SUR_K      = SIMP(statut='o',typ='R'),
9834                                            VISC          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9835                                            D_VISC_TEMP   = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9836 # ---------------------------------------------------------------------------------
9837 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9838 # ---------------------------------------------------------------------------------
9839                                            ALPHA         = SIMP(statut='f',typ='R'),
9840                                            CP            = SIMP(statut='f',typ='R'),
9841 # ---------------------------------------------------------------------------------
9842 # -------------------   DONNEES CACHEES -------------------------------------------
9843 # ---------------------------------------------------------------------------------
9844                                            VERI_P        = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9845                                          ),
9846 # =================================================================================
9847 # --- MOT-CLE INUTILE -------------------------------------------------------------
9848 # =================================================================================
9849            THM_GAZ         =FACT(statut='f',
9850              MASS_MOL        =SIMP(statut='f',typ='R'),
9851              CP              =SIMP(statut='f',typ='R'),
9852              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9853              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9854              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9855            ),
9856 # =================================================================================
9857 # --- MOT-CLE INUTILE -------------------------------------------------------------
9858 # =================================================================================
9859            THM_VAPE_GAZ    =FACT(statut='f',
9860              MASS_MOL        =SIMP(statut='f',typ='R'),
9861              CP              =SIMP(statut='f',typ='R'),
9862              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9863              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9864              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9865            ),
9866                                  ),
9867 # =================================================================================
9868 # --- LOI DE COUPLAGE DE TYPE LIQU_GAZ --------------------------------------------
9869 # =================================================================================
9870 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
9871 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ --------------------------------------
9872 # =================================================================================
9873            b_liqugaz      = BLOC(condition = "COMP_THM == 'LIQU_GAZ' ",
9874                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ",
9875 # =================================================================================
9876 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9877 # =================================================================================
9878                              THM_INIT   = FACT(statut='o',
9879 # ---------------------------------------------------------------------------------
9880 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9881 # ---------------------------------------------------------------------------------
9882                                            PRE1             = SIMP(statut='o',typ='R'),
9883                                            PRE2             = SIMP(statut='o',typ='R'),
9884                                            PORO             = SIMP(statut='o',typ='R'),
9885 # ---------------------------------------------------------------------------------
9886 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9887 # ---------------------------------------------------------------------------------
9888                                            TEMP             = SIMP(statut='f',typ='R'),
9889 # ---------------------------------------------------------------------------------
9890 # -------------------   DONNEES INUTILES   ----------------------------------------
9891 # ---------------------------------------------------------------------------------
9892                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
9893                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
9894                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
9895 # ---------------------------------------------------------------------------------
9896 # -------------------   DONNEE CACHEE ---------------------------------------------
9897 # ---------------------------------------------------------------------------------
9898                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 5.0,),
9899                                              ),
9900 # =================================================================================
9901 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9902 # =================================================================================
9903                              THM_DIFFU  = FACT(statut='o',
9904 # ---------------------------------------------------------------------------------
9905 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9906 # ---------------------------------------------------------------------------------
9907                                            R_GAZ            = SIMP(statut='o',typ='R'),
9908                                            RHO              = SIMP(statut='o',typ='R'),
9909                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
9910                                            PESA_X           = SIMP(statut='o',typ='R'),
9911                                            PESA_Y           = SIMP(statut='o',typ='R'),
9912                                            PESA_Z           = SIMP(statut='o',typ='R'),
9913                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9914                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9915                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9916                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9917                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9918                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9919                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9920 # ---------------------------------------------------------------------------------
9921 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9922 # ---------------------------------------------------------------------------------
9923                                            CP               = SIMP(statut='f',typ='R'),
9924                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9925                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9926                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
9927                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
9928                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9929                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9930                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9931                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9932                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9933                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9934                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9935                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9936                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9937                                            LAMB_CT   = SIMP(statut='f',typ='R'),
9938 # ---------------------------------------------------------------------------------
9939 # -------------------   DONNEES INUTILES   ----------------------------------------
9940 # ---------------------------------------------------------------------------------
9941                                            EMMAG           = SIMP(statut='f',typ='R'),
9942                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9943                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9944                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9945                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9946                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9947                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9948                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9949                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9950                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9951                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9952                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9953                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9954                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9955                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9956                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9957 # ---------------------------------------------------------------------------------
9958 # -------------------   DONNEES CACHEES -------------------------------------------
9959 # ---------------------------------------------------------------------------------
9960           VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
9961                                              ) ,
9962 # =================================================================================
9963 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9964 # =================================================================================
9965                              THM_LIQU   = FACT(statut='o',
9966 # ---------------------------------------------------------------------------------
9967 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9968 # ---------------------------------------------------------------------------------
9969                                            RHO              = SIMP(statut='o',typ='R'),
9970                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
9971                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9972                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9973 # ---------------------------------------------------------------------------------
9974 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9975 # ---------------------------------------------------------------------------------
9976                                            ALPHA            = SIMP(statut='f',typ='R'),
9977                                            CP               = SIMP(statut='f',typ='R'),
9978 # ---------------------------------------------------------------------------------
9979 # -------------------   DONNEES CACHEES -------------------------------------------
9980 # ---------------------------------------------------------------------------------
9981                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9982                                              ),
9983 # =================================================================================
9984 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9985 # =================================================================================
9986                              THM_GAZ    = FACT(statut='o',
9987 # ---------------------------------------------------------------------------------
9988 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9989 # ---------------------------------------------------------------------------------
9990                                            MASS_MOL        = SIMP(statut='o',typ='R'),
9991                                            VISC            = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9992                                            D_VISC_TEMP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9993 # ---------------------------------------------------------------------------------
9994 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9995 # ---------------------------------------------------------------------------------
9996                                            CP              = SIMP(statut='f',typ='R'),
9997 # ---------------------------------------------------------------------------------
9998 # -------------------   DONNEES CACHEES -------------------------------------------
9999 # ---------------------------------------------------------------------------------
10000                                            VERI_P          = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10001                                              ),
10002 # =================================================================================
10003 # --- MOT-CLE INUTILE -------------------------------------------------------------
10004 # =================================================================================
10005            THM_VAPE_GAZ    =FACT(statut='f',
10006              MASS_MOL        =SIMP(statut='f',typ='R'),
10007              CP              =SIMP(statut='f',typ='R'),
10008              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10009              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10010              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10011            ),
10012                                  ),
10013 # =================================================================================
10014 # --- LOI DE COUPLAGE DE TYPE GAZ -------------------------------------------------
10015 # =================================================================================
10016 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10017 # --- THM_INIT, THM_DIFFU, THM_GAZ ------------------------------------------------
10018 # =================================================================================
10019            b_gaz          = BLOC(condition = "COMP_THM == 'GAZ' ",
10020                                  fr="Paramètres nécessaires pour une loi de couplage de type GAZ",
10021 # =================================================================================
10022 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10023 # =================================================================================
10024                              THM_INIT   = FACT(statut='o',
10025 # ---------------------------------------------------------------------------------
10026 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10027 # ---------------------------------------------------------------------------------
10028                                            TEMP             = SIMP(statut='o',typ='R'),
10029                                            PRE1             = SIMP(statut='o',typ='R'),
10030                                            PORO             = SIMP(statut='o',typ='R'),
10031 # ---------------------------------------------------------------------------------
10032 # -------------------   DONNEES INUTILES   ----------------------------------------
10033 # ---------------------------------------------------------------------------------
10034                                            PRE2             = SIMP(statut='f',typ='R'),
10035                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
10036                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10037                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10038 # ---------------------------------------------------------------------------------
10039 # -------------------   DONNEE CACHEE ---------------------------------------------
10040 # ---------------------------------------------------------------------------------
10041                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 2.0,),
10042                                              ),
10043 # =================================================================================
10044 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10045 # =================================================================================
10046                              THM_DIFFU  = FACT(statut='o',
10047 # ---------------------------------------------------------------------------------
10048 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10049 # ---------------------------------------------------------------------------------
10050                                            R_GAZ            = SIMP(statut='o',typ='R'),
10051                                            RHO              = SIMP(statut='o',typ='R'),
10052                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10053                                            PESA_X           = SIMP(statut='o',typ='R'),
10054                                            PESA_Y           = SIMP(statut='o',typ='R'),
10055                                            PESA_Z           = SIMP(statut='o',typ='R'),
10056 # ---------------------------------------------------------------------------------
10057 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10058 # ---------------------------------------------------------------------------------
10059                                            CP               = SIMP(statut='f',typ='R'),
10060                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10061                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10062                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10063                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10064                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10065                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10066                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10067                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10068                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10069                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10070                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10071                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10072                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10073                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10074 # ---------------------------------------------------------------------------------
10075 # -------------------   DONNEES INUTILES   ----------------------------------------
10076 # ---------------------------------------------------------------------------------
10077                                            EMMAG           = SIMP(statut='f',typ='R'),
10078                                            SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10079                                            D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10080                                            PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10081                                            D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10082                                            PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10083                                            D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10084                                            D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10085                                            SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10086                                            D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10087                                            PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10088                                            CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10089                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10090                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10091                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10092                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10093                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10094                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10095                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10096                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10097                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10098                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10099                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10100 # ---------------------------------------------------------------------------------
10101 # -------------------   DONNEES CACHEES -------------------------------------------
10102 # ---------------------------------------------------------------------------------
10103             VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10104                                              ) ,
10105 # =================================================================================
10106 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10107 # =================================================================================
10108                              THM_GAZ    = FACT(statut='o',
10109 # ---------------------------------------------------------------------------------
10110 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10111 # ---------------------------------------------------------------------------------
10112                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10113                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10114                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10115 # ---------------------------------------------------------------------------------
10116 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10117 # ---------------------------------------------------------------------------------
10118                                            CP               = SIMP(statut='f',typ='R'),
10119 # ---------------------------------------------------------------------------------
10120 # -------------------   DONNEES CACHEES -------------------------------------------
10121 # ---------------------------------------------------------------------------------
10122                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10123                                              ),
10124 # =================================================================================
10125 # --- MOT-CLE INUTILE -------------------------------------------------------------
10126 # =================================================================================
10127            THM_LIQU        =FACT(statut='f',
10128              RHO             =SIMP(statut='f',typ='R'),
10129              UN_SUR_K        =SIMP(statut='f',typ='R'),
10130              ALPHA           =SIMP(statut='f',typ='R'),
10131              CP              =SIMP(statut='f',typ='R'),
10132              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10133              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10134              COEF_HENRY      =SIMP(statut='f',typ='R'),
10135              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10136            ),
10137 # =================================================================================
10138 # --- MOT-CLE INUTILE -------------------------------------------------------------
10139 # =================================================================================
10140            THM_VAPE_GAZ    =FACT(statut='f',
10141              MASS_MOL        =SIMP(statut='f',typ='R'),
10142              CP              =SIMP(statut='f',typ='R'),
10143              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10144              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10145              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10146            ),
10147                                  ),
10148 # =================================================================================
10149 # --- LOI DE COUPLAGE DE TYPE LIQU_GAZ_ATM ----------------------------------------
10150 # =================================================================================
10151 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10152 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ --------------------------------------
10153 # =================================================================================
10154            b_liqugazatm   = BLOC(condition = "COMP_THM == 'LIQU_GAZ_ATM' ",
10155                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ_ATM",
10156 # =================================================================================
10157 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10158 # =================================================================================
10159                              THM_INIT   = FACT(statut='o',
10160 # ---------------------------------------------------------------------------------
10161 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10162 # ---------------------------------------------------------------------------------
10163                                            PRE1             = SIMP(statut='o',typ='R'),
10164                                            PORO             = SIMP(statut='o',typ='R'),
10165 # ---------------------------------------------------------------------------------
10166 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10167 # ---------------------------------------------------------------------------------
10168                                            TEMP             = SIMP(statut='f',typ='R'),
10169 # ---------------------------------------------------------------------------------
10170 # -------------------   DONNEES INUTILES   ----------------------------------------
10171 # ---------------------------------------------------------------------------------
10172                                            PRE2             = SIMP(statut='f',typ='R'),
10173                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
10174                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10175                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10176 # ---------------------------------------------------------------------------------
10177 # -------------------   DONNEE CACHEE ---------------------------------------------
10178 # ---------------------------------------------------------------------------------
10179                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 6.0,),
10180                                              ),
10181 # =================================================================================
10182 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10183 # =================================================================================
10184                              THM_DIFFU  = FACT(statut='o',
10185 # ---------------------------------------------------------------------------------
10186 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10187 # ---------------------------------------------------------------------------------
10188                                            RHO              = SIMP(statut='o',typ='R'),
10189                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10190                                            PESA_X           = SIMP(statut='o',typ='R'),
10191                                            PESA_Y           = SIMP(statut='o',typ='R'),
10192                                            PESA_Z           = SIMP(statut='o',typ='R'),
10193                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10194                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10195                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10196                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10197 # ---------------------------------------------------------------------------------
10198 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10199 # ---------------------------------------------------------------------------------
10200                                            CP               = SIMP(statut='f',typ='R'),
10201                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10202                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10203                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10204                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10205                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10206                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10207                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10208                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10209                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10210                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10211                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10212                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10213                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10214                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10215 # ---------------------------------------------------------------------------------
10216 # -------------------   DONNEES INUTILES   ----------------------------------------
10217 # ---------------------------------------------------------------------------------
10218              EMMAG           = SIMP(statut='f',typ='R'),
10219              R_GAZ           =SIMP(statut='f',typ='R'),
10220              PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10221              D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10222              D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10223              SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10224              D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10225              PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10226              CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10227              FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10228              FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10229              FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10230              FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10231              D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10232              D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10233              FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10234              FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10235              FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10236              FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10237              D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10238 # ---------------------------------------------------------------------------------
10239 # -------------------   DONNEES CACHEES -------------------------------------------
10240 # ---------------------------------------------------------------------------------
10241              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10242                                              ) ,
10243 # =================================================================================
10244 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10245 # =================================================================================
10246                              THM_LIQU   = FACT(statut='o',
10247 # ---------------------------------------------------------------------------------
10248 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10249 # ---------------------------------------------------------------------------------
10250                                            RHO              = SIMP(statut='o',typ='R'),
10251                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10252                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10253                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10254 # ---------------------------------------------------------------------------------
10255 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10256 # ---------------------------------------------------------------------------------
10257                                            ALPHA            = SIMP(statut='f',typ='R'),
10258                                            CP               = SIMP(statut='f',typ='R'),
10259 # ---------------------------------------------------------------------------------
10260 # -------------------   DONNEES CACHEES -------------------------------------------
10261 # ---------------------------------------------------------------------------------
10262                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10263                                              ),
10264 # =================================================================================
10265 # --- MOT-CLE INUTILE -------------------------------------------------------------
10266 # =================================================================================
10267                              THM_GAZ    = FACT(statut='f',
10268                                            MASS_MOL         = SIMP(statut='f',typ='R'),
10269                                            VISC             = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10270                                            D_VISC_TEMP      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10271                                            CP               = SIMP(statut='f',typ='R'),
10272                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10273                                              ),
10274 # =================================================================================
10275 # --- MOT-CLE INUTILE -------------------------------------------------------------
10276 # =================================================================================
10277            THM_VAPE_GAZ    =FACT(statut='f',
10278              MASS_MOL        =SIMP(statut='f',typ='R'),
10279              CP              =SIMP(statut='f',typ='R'),
10280              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10281              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10282              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10283            ),
10284                                  ),
10285 # =================================================================================
10286 # --- LOI DE COUPLAGE DE TYPE LIQU_VAPE_GAZ ---------------------------------------
10287 # =================================================================================
10288 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10289 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ ------------------------
10290 # =================================================================================
10291            b_liquvapegaz  = BLOC(condition = "COMP_THM == 'LIQU_VAPE_GAZ' ",
10292                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE_GAZ",
10293 # =================================================================================
10294 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10295 # =================================================================================
10296                              THM_INIT   = FACT(statut='o',
10297 # ---------------------------------------------------------------------------------
10298 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10299 # ---------------------------------------------------------------------------------
10300                                            PRE1             = SIMP(statut='o',typ='R'),
10301                                            PRE2             = SIMP(statut='o',typ='R'),
10302                                            PORO             = SIMP(statut='o',typ='R'),
10303                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
10304 # ---------------------------------------------------------------------------------
10305 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10306 # ---------------------------------------------------------------------------------
10307                                            TEMP             = SIMP(statut='f',typ='R'),
10308 # ---------------------------------------------------------------------------------
10309 # -------------------   DONNEES INUTILES   ----------------------------------------
10310 # ---------------------------------------------------------------------------------
10311                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10312                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10313 # ---------------------------------------------------------------------------------
10314 # -------------------   DONNEE CACHEE ---------------------------------------------
10315 # ---------------------------------------------------------------------------------
10316                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 4.0,),
10317                                              ),
10318 # =================================================================================
10319 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10320 # =================================================================================
10321                              THM_DIFFU  = FACT(statut='o',
10322 # ---------------------------------------------------------------------------------
10323 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10324 # ---------------------------------------------------------------------------------
10325                                            R_GAZ            = SIMP(statut='o',typ='R'),
10326                                            RHO              = SIMP(statut='o',typ='R'),
10327                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10328                                            PESA_X           = SIMP(statut='o',typ='R'),
10329                                            PESA_Y           = SIMP(statut='o',typ='R'),
10330                                            PESA_Z           = SIMP(statut='o',typ='R'),
10331                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10332                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10333                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10334                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10335                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10336                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10337                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10338                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10339 # ---------------------------------------------------------------------------------
10340 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10341 # ---------------------------------------------------------------------------------
10342                                            CP               = SIMP(statut='f',typ='R'),
10343                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10344                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10345                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10346                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10347                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10348                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10349                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10350                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10351                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10352                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10353                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10354                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10355                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10356                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10357 # ---------------------------------------------------------------------------------
10358 # -------------------   DONNEES FACULTATIVE   ----------------------------------
10359 # ---------------------------------------------------------------------------------
10360                                            EMMAG            = SIMP(statut='f',typ='R'),
10361                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10362                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10363                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10364                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10365                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10366                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10367                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10368                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10369                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10370 # ---------------------------------------------------------------------------------
10371 # -------------------   DONNEES INUTILES   ----------------------------------------
10372 # ---------------------------------------------------------------------------------
10373                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10374                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10375                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10376                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10377                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10378 # ---------------------------------------------------------------------------------
10379 # -------------------   DONNEES CACHEES -------------------------------------------
10380 # ---------------------------------------------------------------------------------
10381          VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT" ,"PORO","PGAZ","PCAP","ENDO","PVAP","PLIQ","PAD",) ),
10382                                              ) ,
10383 # =================================================================================
10384 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10385 # =================================================================================
10386                              THM_LIQU   = FACT(statut='o',
10387 # ---------------------------------------------------------------------------------
10388 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10389 # ---------------------------------------------------------------------------------
10390                                            RHO              = SIMP(statut='o',typ='R'),
10391                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10392                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10393                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10394 # ---------------------------------------------------------------------------------
10395 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10396 # ---------------------------------------------------------------------------------
10397                                            ALPHA            = SIMP(statut='f',typ='R'),
10398                                            CP               = SIMP(statut='f',typ='R'),
10399 # ---------------------------------------------------------------------------------
10400 # -------------------   DONNEES CACHEES -------------------------------------------
10401 # ---------------------------------------------------------------------------------
10402                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10403                                              ),
10404 # =================================================================================
10405 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10406 # =================================================================================
10407                              THM_GAZ    = FACT(statut='o',
10408 # ---------------------------------------------------------------------------------
10409 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10410 # ---------------------------------------------------------------------------------
10411                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10412                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10413                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10414 # ---------------------------------------------------------------------------------
10415 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10416 # ---------------------------------------------------------------------------------
10417                                            CP               = SIMP(statut='f',typ='R'),
10418 # ---------------------------------------------------------------------------------
10419 # -------------------   DONNEES CACHEES -------------------------------------------
10420 # ---------------------------------------------------------------------------------
10421                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10422                                              ),
10423 # =================================================================================
10424 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10425 # =================================================================================
10426                              THM_VAPE_GAZ = FACT(statut='o',
10427 # ---------------------------------------------------------------------------------
10428 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10429 # ---------------------------------------------------------------------------------
10430                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10431                                            CP               = SIMP(statut='o',typ='R'),
10432                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10433                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10434 # ---------------------------------------------------------------------------------
10435 # -------------------   DONNEES CACHEES -------------------------------------------
10436 # ---------------------------------------------------------------------------------
10437                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10438                                              ),
10439                                  ),
10440 # =================================================================================
10441 # --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ_VAPE -------------------------------------
10442 # =================================================================================
10443 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10444 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ THM_AIR_DISSOUS---------
10445 # =================================================================================
10446            b_liquadvape  = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ_VAPE' ",
10447                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ_VAPE",
10448 # =================================================================================
10449 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10450 # =================================================================================
10451                              THM_INIT   = FACT(statut='o',
10452 # ---------------------------------------------------------------------------------
10453 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10454 # ---------------------------------------------------------------------------------
10455                                            PRE1             = SIMP(statut='o',typ='R'),
10456                                            PRE2             = SIMP(statut='o',typ='R'),
10457                                            PORO             = SIMP(statut='o',typ='R'),
10458                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
10459 # ---------------------------------------------------------------------------------
10460 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10461 # ---------------------------------------------------------------------------------
10462                                            TEMP             = SIMP(statut='f',typ='R'),
10463 # ---------------------------------------------------------------------------------
10464 # -------------------   DONNEES INUTILES   ----------------------------------------
10465 # ---------------------------------------------------------------------------------
10466                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10467                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10468 # ---------------------------------------------------------------------------------
10469 # -------------------   DONNEE CACHEE ---------------------------------------------
10470 # ---------------------------------------------------------------------------------
10471                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 9.0,),
10472                                              ),
10473 # =================================================================================
10474 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10475 # =================================================================================
10476                              THM_DIFFU  = FACT(statut='o',
10477 # ---------------------------------------------------------------------------------
10478 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10479 # ---------------------------------------------------------------------------------
10480                                            R_GAZ            = SIMP(statut='o',typ='R'),
10481                                            RHO              = SIMP(statut='o',typ='R'),
10482                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10483                                            PESA_X           = SIMP(statut='o',typ='R'),
10484                                            PESA_Y           = SIMP(statut='o',typ='R'),
10485                                            PESA_Z           = SIMP(statut='o',typ='R'),
10486                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10487                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10488                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10489                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10490                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10491                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10492                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10493                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10494                                            FICKA_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10495 # ---------------------------------------------------------------------------------
10496 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10497 # ---------------------------------------------------------------------------------
10498                                            CP               = SIMP(statut='f',typ='R'),
10499                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10500                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10501                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10502                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10503                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10504                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10505                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10506                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10507                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10508                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10509                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10510                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10511                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10512                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10513 # ---------------------------------------------------------------------------------
10514 # -------------------   DONNEES FACULTATIVES   ------------------------------------
10515 # ---------------------------------------------------------------------------------
10516                                            EMMAG            = SIMP(statut='f',typ='R'),
10517                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10518                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10519                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10520                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10521                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10522                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10523                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10524                                            D_FV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10525                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10526 #
10527                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10528                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10529                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10530                                            D_FA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10531 # ---------------------------------------------------------------------------------
10532 # -------------------   DONNEES CACHEES -------------------------------------------
10533 # ---------------------------------------------------------------------------------
10534          VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO","PVAP","PLIQ","PAD",) ),
10535                                              ) ,
10536 # =================================================================================
10537 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10538 # =================================================================================
10539                              THM_LIQU   = FACT(statut='o',
10540 # ---------------------------------------------------------------------------------
10541 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10542 # ---------------------------------------------------------------------------------
10543                                            RHO              = SIMP(statut='o',typ='R'),
10544                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10545                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10546                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10547 # ---------------------------------------------------------------------------------
10548 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10549 # ---------------------------------------------------------------------------------
10550                                            ALPHA            = SIMP(statut='f',typ='R'),
10551                                            CP               = SIMP(statut='f',typ='R'),
10552                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10553                                            D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10554                                            LAMB_T    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10555                                            D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10556                                            LAMB_CT        = SIMP(statut='f',typ='R'),
10557 # ---------------------------------------------------------------------------------
10558 # -------------------   DONNEES CACHEES -------------------------------------------
10559 # ---------------------------------------------------------------------------------
10560                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10561                                              ),
10562 # =================================================================================
10563 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10564 # =================================================================================
10565                              THM_GAZ    = FACT(statut='o',
10566 # ---------------------------------------------------------------------------------
10567 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10568 # ---------------------------------------------------------------------------------
10569                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10570                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10571                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10572 # ---------------------------------------------------------------------------------
10573 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10574 # ---------------------------------------------------------------------------------
10575                                            CP               = SIMP(statut='f',typ='R'),
10576 # ---------------------------------------------------------------------------------
10577 # -------------------   DONNEES CACHEES -------------------------------------------
10578 # ---------------------------------------------------------------------------------
10579                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10580                                              ),
10581 # =================================================================================
10582 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10583 # =================================================================================
10584                              THM_VAPE_GAZ = FACT(statut='o',
10585 # ---------------------------------------------------------------------------------
10586 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10587 # ---------------------------------------------------------------------------------
10588                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10589                                            CP               = SIMP(statut='o',typ='R'),
10590                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10591                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10592 # ---------------------------------------------------------------------------------
10593 # -------------------   DONNEES CACHEES -------------------------------------------
10594 # ---------------------------------------------------------------------------------
10595                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10596                                              ),
10597 # =================================================================================
10598 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10599 # =================================================================================
10600                              THM_AIR_DISS = FACT(statut='o',
10601 # ---------------------------------------------------------------------------------
10602 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10603 # ---------------------------------------------------------------------------------
10604                                            CP               = SIMP(statut='o',typ='R'),
10605                                            COEF_HENRY       = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10606                                            VERI_P      = SIMP(statut='c',typ='TXM',defaut=("TEMP",),),
10607                                              ),
10608                                  ),
10609 # =================================================================================
10610 # --- LOI DE COUPLAGE DE TYPE LIQU_VAPE -------------------------------------------
10611 # =================================================================================
10612 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10613 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_VAPE_GAZ ---------------------------------
10614 # =================================================================================
10615            b_liquvape  = BLOC(condition = "COMP_THM == 'LIQU_VAPE' ",
10616                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE",
10617 # =================================================================================
10618 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10619 # =================================================================================
10620                              THM_INIT   = FACT(statut='o',
10621 # ---------------------------------------------------------------------------------
10622 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10623 # ---------------------------------------------------------------------------------
10624                                            PRE1             = SIMP(statut='o',typ='R'),
10625                                            PORO             = SIMP(statut='o',typ='R'),
10626                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
10627 # ---------------------------------------------------------------------------------
10628 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10629 # ---------------------------------------------------------------------------------
10630                                            TEMP             = SIMP(statut='f',typ='R'),
10631 # ---------------------------------------------------------------------------------
10632 # -------------------   DONNEES INUTILES   ----------------------------------------
10633 # ---------------------------------------------------------------------------------
10634                                            PRE2             = SIMP(statut='f',typ='R'),
10635                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10636                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10637 # ---------------------------------------------------------------------------------
10638 # -------------------   DONNEE CACHEE ---------------------------------------------
10639 # ---------------------------------------------------------------------------------
10640                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 3.0,),
10641                                              ),
10642 # =================================================================================
10643 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10644 # =================================================================================
10645                              THM_DIFFU  = FACT(statut='o',
10646 # ---------------------------------------------------------------------------------
10647 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10648 # ---------------------------------------------------------------------------------
10649                                            R_GAZ            = SIMP(statut='o',typ='R'),
10650                                            RHO              = SIMP(statut='o',typ='R'),
10651                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10652                                            PESA_X           = SIMP(statut='o',typ='R'),
10653                                            PESA_Y           = SIMP(statut='o',typ='R'),
10654                                            PESA_Z           = SIMP(statut='o',typ='R'),
10655                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10656                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10657                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10658                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10659                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10660                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10661                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10662 # ---------------------------------------------------------------------------------
10663 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10664 # ---------------------------------------------------------------------------------
10665                                            CP               = SIMP(statut='f',typ='R'),
10666                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10667                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10668                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10669                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10670                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10671                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10672                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10673                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10674                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10675                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10676                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10677                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10678                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10679                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10680 # ---------------------------------------------------------------------------------
10681 # -------------------   DONNEES INUTILES   ----------------------------------------
10682 # ---------------------------------------------------------------------------------
10683                                            EMMAG            = SIMP(statut='f',typ='R'),
10684                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10685                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10686                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10687                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10688                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10689                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10690                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10691                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10692                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10693                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10694                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10695                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10696                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10697                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10698                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10699 # ---------------------------------------------------------------------------------
10700 # -------------------   DONNEES CACHEES -------------------------------------------
10701 # ---------------------------------------------------------------------------------
10702             VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10703                                              ) ,
10704 # =================================================================================
10705 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10706 # =================================================================================
10707                              THM_LIQU   = FACT(statut='o',
10708 # ---------------------------------------------------------------------------------
10709 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10710 # ---------------------------------------------------------------------------------
10711                                            RHO              = SIMP(statut='o',typ='R'),
10712                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10713                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10714                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10715 # ---------------------------------------------------------------------------------
10716 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10717 # ---------------------------------------------------------------------------------
10718                                            ALPHA            = SIMP(statut='f',typ='R'),
10719                                            CP               = SIMP(statut='f',typ='R'),
10720 # ---------------------------------------------------------------------------------
10721 # -------------------   DONNEES CACHEES ---------------------------------------------
10722 # ---------------------------------------------------------------------------------
10723                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10724                                              ),
10725 # =================================================================================
10726 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10727 # =================================================================================
10728                              THM_VAPE_GAZ = FACT(statut='o',
10729 # ---------------------------------------------------------------------------------
10730 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10731 # ---------------------------------------------------------------------------------
10732                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10733                                            CP               = SIMP(statut='o',typ='R'),
10734                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10735                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10736 # ---------------------------------------------------------------------------------
10737 # -------------------   DONNEES CACHEES -------------------------------------------
10738 # ---------------------------------------------------------------------------------
10739                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10740                                              ),
10741 # =================================================================================
10742 # --- MOT-CLE INUTILE -------------------------------------------------------------
10743 # =================================================================================
10744            THM_GAZ         =FACT(statut='f',
10745              MASS_MOL        =SIMP(statut='f',typ='R'),
10746              CP              =SIMP(statut='f',typ='R'),
10747              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10748              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10749              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10750            ),
10751                                  ),
10752 # =================================================================================
10753            b_liqusatugat   = BLOC(condition = "COMP_THM == 'LIQU_SATU_GAT' ",
10754                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU_GAT",
10755            THM_LIQU        =FACT(statut='f',
10756              RHO             =SIMP(statut='o',typ='R'),
10757              UN_SUR_K        =SIMP(statut='f',typ='R'),
10758              ALPHA           =SIMP(statut='f',typ='R'),
10759              CP              =SIMP(statut='f',typ='R'),
10760              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10761              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10762              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10763              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10764              COEF_HENRY      =SIMP(statut='f',typ='R'),
10765              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10766            ),
10767            THM_GAZ         =FACT(statut='f',
10768              MASS_MOL        =SIMP(statut='f',typ='R'),
10769              CP              =SIMP(statut='f',typ='R'),
10770              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10771              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10772              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10773              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10774              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10775            ),
10776            THM_VAPE_GAZ    =FACT(statut='f',
10777              MASS_MOL        =SIMP(statut='f',typ='R'),
10778              CP              =SIMP(statut='f',typ='R'),
10779              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10780              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10781              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10782            ),
10783             THM_AIR_DISS = FACT(statut='f',
10784                             CP               = SIMP(statut='f',typ='R'),
10785                             COEF_HENRY       = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10786                             VERI_P      = SIMP(statut='c',typ='TXM',defaut=("TEMP",),),
10787                               ),
10788            THM_INIT        =FACT(statut='f',
10789              TEMP            =SIMP(statut='o',typ='R'),
10790              PRE1            =SIMP(statut='o',typ='R'),
10791              PRE2            =SIMP(statut='o',typ='R'),
10792              PORO            =SIMP(statut='o',typ='R'),
10793              PRES_VAPE       =SIMP(statut='o',typ='R'),
10794              DEGR_SATU       =SIMP(statut='f',typ='R'),
10795              PRES_ATMO       =SIMP(statut='f',typ='R'),
10796 # ---------------------------------------------------------------------------------
10797 # -------------------   DONNEE CACHEE ---------------------------------------------
10798 # ---------------------------------------------------------------------------------
10799              COMP_THM         = SIMP(statut='c',typ='R',defaut= 7.0,),
10800            ),
10801            THM_DIFFU       =FACT(statut='f',
10802              R_GAZ           =SIMP(statut='o',typ='R'),
10803              RHO             =SIMP(statut='f',typ='R'),
10804              CP              =SIMP(statut='f',typ='R'),
10805              BIOT_COEF       =SIMP(statut='f',typ='R'),
10806              SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10807              D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10808              PESA_X          =SIMP(statut='f',typ='R'),
10809              PESA_Y          =SIMP(statut='f',typ='R'),
10810              PESA_Z          =SIMP(statut='f',typ='R'),
10811              PERM_IN         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10812              PERM_END       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10813                           regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10814                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10815              PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10816              PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10817              PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10818              PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10819              D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10820              PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10821              D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10822              D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10823              FICK            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10824              D_FICK_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10825              D_FICK_GAZ_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10826              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10827              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10828              SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10829              D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10830              PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10831              CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10832              FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10833              FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10834              FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10835              FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10836              D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10837              D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10838              FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10839              FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10840              FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10841              FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10842              D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10843              VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10844            ),
10845            ),
10846            b_liqunsatgat   = BLOC(condition = "COMP_THM == 'LIQU_NSAT_GAT' ",
10847                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_NSAT_GAT",
10848            THM_LIQU        =FACT(statut='f',
10849              RHO             =SIMP(statut='o',typ='R'),
10850              UN_SUR_K        =SIMP(statut='f',typ='R'),
10851              ALPHA           =SIMP(statut='f',typ='R'),
10852              CP              =SIMP(statut='f',typ='R'),
10853              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10854              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10855              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10856              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10857              COEF_HENRY      =SIMP(statut='f',typ='R'),
10858              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10859            ),
10860            THM_GAZ         =FACT(statut='f',
10861              MASS_MOL        =SIMP(statut='f',typ='R'),
10862              CP              =SIMP(statut='f',typ='R'),
10863              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10864              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10865              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10866              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10867              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10868            ),
10869             THM_AIR_DISS = FACT(statut='f',
10870                             CP               = SIMP(statut='f',typ='R'),
10871                             COEF_HENRY       = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10872                               ),
10873            THM_VAPE_GAZ    =FACT(statut='f',
10874              MASS_MOL        =SIMP(statut='f',typ='R'),
10875              CP              =SIMP(statut='f',typ='R'),
10876              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10877              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10878              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10879            ),
10880            THM_INIT        =FACT(statut='f',
10881              TEMP            =SIMP(statut='o',typ='R'),
10882              PRE1            =SIMP(statut='o',typ='R'),
10883              PRE2            =SIMP(statut='o',typ='R'),
10884              PORO            =SIMP(statut='o',typ='R'),
10885              PRES_VAPE       =SIMP(statut='o',typ='R'),
10886              DEGR_SATU       =SIMP(statut='f',typ='R'),
10887              PRES_ATMO       =SIMP(statut='f',typ='R'),
10888 # ---------------------------------------------------------------------------------
10889 # -------------------   DONNEE CACHEE ---------------------------------------------
10890 # ---------------------------------------------------------------------------------
10891              COMP_THM         = SIMP(statut='c',typ='R',defaut= 8.0,),
10892            ),
10893            THM_DIFFU       =FACT(statut='f',
10894              R_GAZ           =SIMP(statut='o',typ='R'),
10895              RHO             =SIMP(statut='f',typ='R'),
10896              CP              =SIMP(statut='f',typ='R'),
10897              BIOT_COEF       =SIMP(statut='f',typ='R'),
10898              SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10899              D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10900              PESA_X          =SIMP(statut='f',typ='R'),
10901              PESA_Y          =SIMP(statut='f',typ='R'),
10902              PESA_Z          =SIMP(statut='f',typ='R'),
10903              PERM_IN         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10904              PERM_END       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10905                           regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10906                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10907              PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10908              PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10909              PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10910              PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10911              D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10912              PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10913              D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10914              D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10915              FICK            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10916              D_FICK_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10917              D_FICK_GAZ_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10918              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10919              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10920              SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10921              D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10922              PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10923              CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10924              FICKV_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10925              FICKV_PV        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10926              FICKV_PG        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10927              FICKV_S         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10928              D_FV_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10929              D_FV_PG         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10930              FICKA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10931              FICKA_PA        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10932              FICKA_PL        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10933              FICKA_S         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10934              D_FA_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10935              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10936            ),
10937            ),
10938 # courbes et coefficients associés à la fatigue et au dommage
10939 #
10940            FATIGUE         =FACT(statut='f',
10941              regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'),
10942                      PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'),
10943                      PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'),
10944                      ENSEMBLE('A_BASQUIN','BETA_BASQUIN'),
10945                      ENSEMBLE('A0','A1','A2','A3','SL'),
10946                      PRESENT_PRESENT('A0','E_REFE'),
10947                      ENSEMBLE('D0','TAU0'),),
10948              WOHLER          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10949              A_BASQUIN       =SIMP(statut='f',typ='R'),
10950              BETA_BASQUIN    =SIMP(statut='f',typ='R'),
10951              A0              =SIMP(statut='f',typ='R'),
10952              A1              =SIMP(statut='f',typ='R'),
10953              A2              =SIMP(statut='f',typ='R'),
10954              A3              =SIMP(statut='f',typ='R'),
10955              SL              =SIMP(statut='f',typ='R'),
10956              MANSON_COFFIN   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10957              E_REFE          =SIMP(statut='f',typ='R'),
10958              D0              =SIMP(statut='f',typ='R'),
10959              TAU0            =SIMP(statut='f',typ='R'),
10960              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("SIGM","EPSI",) ),
10961            ),
10962            DOMMA_LEMAITRE  =FACT(statut='f',
10963              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10964              EPSP_SEUIL      =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10965              EXP_S           =SIMP(statut='f',typ='R',val_min=0.0E0,defaut=1.0),
10966              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
10967            ),
10968            CISA_PLAN_CRIT  =FACT(statut='f',
10969              CRITERE       =SIMP(statut='o',typ='TXM',into=("MATAKE","DANG_VAN_MODI_AC","DANG_VAN_MODI_AV","DOMM_MAXI") ),
10970
10971              b_critere_matake =BLOC(condition="CRITERE=='MATAKE'",
10972                                     fr="Cisaillement plan critique  critère de matake",
10973                MATAKE_A         =SIMP(statut='o',typ='R'),
10974                MATAKE_B         =SIMP(statut='o',typ='R'),
10975                COEF_FLEX_TORS   =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
10976              ),
10977
10978              b_critere_dang_van =BLOC(condition="(CRITERE=='DANG_VAN_MODI_AC' or CRITERE=='DANG_VAN_MODI_AV')",
10979                                  fr="Critère de Dang Van modifié pour les cas amplitude constante et amplitude variable",
10980                D_VAN_A            =SIMP(statut='o',typ='R'),
10981                D_VAN_B            =SIMP(statut='o',typ='R'),
10982                COEF_CISA_TRAC     =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
10983              ),
10984
10985              b_crit_domm_maxi  =BLOC(condition="CRITERE=='DOMM_MAXI'",
10986                                       fr="Critère pour chargement non périodique : domm_maxi",
10987                DOMM_A             =SIMP(statut='o',typ='R'),
10988                DOMM_B             =SIMP(statut='o',typ='R'),
10989                COEF_CISA_TRAC     =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
10990              ),
10991            ),
10992 #
10993 # autres comportements ...
10994 #
10995            WEIBULL         =FACT(statut='f',
10996              M               =SIMP(statut='o',typ='R'),
10997              VOLU_REFE       =SIMP(statut='o',typ='R'),
10998              SIGM_REFE       =SIMP(statut='o',typ='R'),
10999              SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
11000            ),
11001            WEIBULL_FO      =FACT(statut='f',
11002              M               =SIMP(statut='o',typ='R'),
11003              VOLU_REFE       =SIMP(statut='o',typ='R'),
11004              SIGM_CNV        =SIMP(statut='o',typ='R'),
11005              SIGM_REFE       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11006              SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
11007              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
11008            ),
11009            NON_LOCAL       =FACT(statut='f',
11010              LONG_CARA       =SIMP(statut='o',typ='R'),
11011              COEF_RIGI_MINI  =SIMP(statut='f',typ='R'),
11012            ),
11013            RUPT_FRAG       =FACT(statut='f',
11014              GC              =SIMP(statut='o',typ='R'),
11015              SIGM_C          =SIMP(statut='f',typ='R'),
11016              SAUT_C          =SIMP(statut='f',typ='R'),
11017            ),
11018            RCCM            =FACT(statut='f',
11019              SY_02           =SIMP(statut='f',typ='R'),
11020              SM              =SIMP(statut='f',typ='R'),
11021              SU              =SIMP(statut='f',typ='R'),
11022              SC              =SIMP(statut='f',typ='R'),
11023              SH              =SIMP(statut='f',typ='R'),
11024              N_KE            =SIMP(statut='f',typ='R'),
11025              M_KE            =SIMP(statut='f',typ='R'),
11026            ),
11027            RCCM_FO         =FACT(statut='f',
11028              SY_02           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11029              SM              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11030              SU              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11031              S               =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11032              N_KE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11033              M_KE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11034              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
11035            ),
11036            LAIGLE          =FACT(statut='f',
11037              GAMMA_ULT       =SIMP(statut='o',typ='R'),
11038              GAMMA_E         =SIMP(statut='o',typ='R'),
11039              M_ULT           =SIMP(statut='o',typ='R'),
11040              M_E             =SIMP(statut='o',typ='R'),
11041              A_E             =SIMP(statut='o',typ='R'),
11042              M_PIC           =SIMP(statut='o',typ='R'),
11043              A_PIC           =SIMP(statut='o',typ='R'),
11044              ETA             =SIMP(statut='o',typ='R'),
11045              SIGMA_C         =SIMP(statut='o',typ='R'),
11046              GAMMA           =SIMP(statut='o',typ='R'),
11047              KSI             =SIMP(statut='o',typ='R'),
11048              GAMMA_CJS       =SIMP(statut='o',typ='R'),
11049              SIGMA_P1        =SIMP(statut='o',typ='R'),
11050              PA              =SIMP(statut='o',typ='R'),
11051            ),
11052            DRUCK_PRAGER  =FACT(statut='f',
11053              ALPHA           =SIMP(statut='o',typ='R'),
11054              SY              =SIMP(statut='o',typ='R'),
11055              P_ULTM          =SIMP(statut='o',typ='R'),
11056              ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")),
11057              b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'",
11058                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire",
11059                     H               =SIMP(statut='o',typ='R'),
11060                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 1.0,),
11061              ),
11062              b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'",
11063                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique",
11064                     SY_ULTM         =SIMP(statut='o',typ='R'),
11065                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 2.0,),
11066              ),
11067            ),
11068 ####  MONOCRISTAL
11069            
11070            ECOU_VISC1      =FACT(statut='f',
11071              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
11072              N               =SIMP(statut='o',typ='R'),
11073              K               =SIMP(statut='o',typ='R'),
11074              C               =SIMP(statut='o',typ='R'),
11075            ),
11076            ECOU_VISC2      =FACT(statut='f',
11077              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
11078              N               =SIMP(statut='o',typ='R'),
11079              K               =SIMP(statut='o',typ='R'),
11080              C               =SIMP(statut='o',typ='R'),
11081              D               =SIMP(statut='o',typ='R'),
11082              A               =SIMP(statut='o',typ='R'),
11083            ),
11084            ECOU_VISC3      =FACT(statut='f',
11085              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
11086              K               =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"),
11087              TAUMU           =SIMP(statut='o',typ='R',fr="Seuil d ecoulement, en unite de contraintes"),
11088              GAMMA0          =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale"),
11089              DELTAV          =SIMP(statut='o',typ='R',fr="Volume d activation"),
11090              DELTAG0         =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"),
11091            ),
11092            ECOU_PLAS1      =FACT(statut='f',
11093              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_PLAS",),),
11094              C               =SIMP(statut='o',typ='R'),
11095            ),
11096            ECRO_ISOT1      =FACT(statut='f',
11097              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),),
11098              R_0             =SIMP(statut='o',typ='R'),
11099              Q               =SIMP(statut='o',typ='R'),
11100              B               =SIMP(statut='o',typ='R'),
11101              H               =SIMP(statut='o',typ='R'),
11102            ),
11103            ECRO_ISOT2      =FACT(statut='f',
11104              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),),
11105              R_0             =SIMP(statut='o',typ='R'),
11106              Q1              =SIMP(statut='o',typ='R'),
11107              B1              =SIMP(statut='o',typ='R'),
11108              H               =SIMP(statut='o',typ='R'),
11109              Q2              =SIMP(statut='o',typ='R'),
11110              B2              =SIMP(statut='o',typ='R'),
11111            ),
11112            ECRO_CINE1      =FACT(statut='f',
11113              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),),
11114              D               =SIMP(statut='o',typ='R'),
11115            ),
11116            ECRO_CINE2      =FACT(statut='f',
11117              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),),
11118              D               =SIMP(statut='o',typ='R'),
11119              GM              =SIMP(statut='o',typ='R'),
11120              PM              =SIMP(statut='o',typ='R'),
11121              C               =SIMP(statut='o',typ='R'),
11122            ),
11123            
11124 ####  MONOCRISTAL
11125            
11126            DRUCK_PRAGER_FO  =FACT(statut='f',
11127              ALPHA           =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11128              SY              =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11129              P_ULTM          =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11130              ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")),
11131              b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'",
11132                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire",
11133                     H               =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11134                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 1.0,),
11135              ),
11136              b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'",
11137                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique",
11138                     SY_ULTM         =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11139                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 2.0,),
11140              ),
11141            ),
11142            
11143            
11144            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
11145 )  ;
11146 #& MODIF COMMANDE  DATE 30/08/2004   AUTEUR NICOLAS O.NICOLAS 
11147 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11148 # ======================================================================
11149 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11150 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11151 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11152 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11153 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11154 #
11155 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11156 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11157 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11158 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11159 #
11160 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11161 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11162 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11163 # ======================================================================
11164 DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene,
11165                       reentrant='n',
11166             UIinfo={"groupes":("Matrices/vecteurs",)},
11167          SOUS_STRUC      =FACT(statut='o',max='**',
11168            NOM             =SIMP(statut='o',typ='TXM' ),
11169            MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
11170            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
11171            TRANS           =SIMP(statut='f',typ='R',max=3),
11172          ),
11173          LIAISON         =FACT(statut='o',max='**',
11174            SOUS_STRUC_1    =SIMP(statut='o',typ='TXM' ),
11175            INTERFACE_1     =SIMP(statut='o',typ='TXM' ),
11176            SOUS_STRUC_2    =SIMP(statut='o',typ='TXM' ),
11177            INTERFACE_2     =SIMP(statut='o',typ='TXM' ),
11178            regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),
11179                    EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),),
11180            GROUP_MA_MAIT_1   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11181            MAILLE_MAIT_1     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11182            GROUP_MA_MAIT_2   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11183            MAILLE_MAIT_2     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11184            OPTION            =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ),
11185          ),
11186          VERIF           =FACT(statut='f',max='**',
11187 #  dans la doc U stop_erreur est obligatoire         
11188            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
11189            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
11190            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11191          ),
11192          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11193 )  ;
11194 #& MODIF COMMANDE  DATE 10/10/2005   AUTEUR MCOURTOI M.COURTOIS 
11195 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11196 # ======================================================================
11197 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11198 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11199 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11200 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11201 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11202 #
11203 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11204 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11205 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11206 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11207 #
11208 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11209 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11210 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11211 # ======================================================================
11212 DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=   4,sd_prod=nappe_sdaster,
11213                 fr="Définition des valeurs d une fonction de deux variables réelles",
11214                 reentrant='n',
11215             UIinfo={"groupes":("Fonction",)},
11216          regles=(UN_PARMI('FONCTION','DEFI_FONCTION'),
11217                  EXCLUS('FONCTION','NOM_PARA_FONC',),
11218                  ENSEMBLE('NOM_PARA_FONC','DEFI_FONCTION'),),
11219          NOM_PARA        =SIMP(statut='o',typ='TXM',),
11220          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),       
11221          PARA            =SIMP(statut='o',typ='R',max='**'),
11222          FONCTION        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
11223          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',into=("TEMP","INST","X","Y","Z","EPSI","FREQ",
11224                                                           "PULS","AMOR","EPAIS","SAT", "PGAZ","PCAP") ),
11225          DEFI_FONCTION   =FACT(statut='f',max='**',
11226            VALE            =SIMP(statut='o',typ='R',max='**'),
11227            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
11228            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11229            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11230          ),
11231          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
11232          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11233          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11234          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11235          VERIF           =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ),
11236          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11237 )  ;
11238 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11239 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11240 # ======================================================================
11241 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11242 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11243 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11244 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11245 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11246 #
11247 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11248 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11249 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11250 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11251 #
11252 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11253 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11254 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11255 # ======================================================================
11256 DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op=  73,sd_prod=obstacle_sdaster
11257                     ,fr="Définition d un obstacle plan perpendiculaire à une structure filaire",
11258                      reentrant='n',
11259             UIinfo={"groupes":("Modélisation",)},
11260          TYPE            =SIMP(statut='o',typ='TXM',defaut="CERCLE",
11261                              into=("CERCLE","PLAN_Y","PLAN_Z","DISCRET",
11262                              "BI_CERCLE","BI_PLAN_Y","BI_PLAN_Z","BI_CERC_INT",
11263                              "CRAYON_900","CRAYON_1300","GUID_A_CARTE_900",
11264                              "GUID_B_CARTE_900","GUID_C_CARTE_900",
11265                              "GUID_D_CARTE_900","GUID_E_CARTE_900",
11266                              "GUID_F_CARTE_900","GUID_A_CARTE_1300",
11267                              "GUID_B_CARTE_1300","GUID_C_CARTE_1300",
11268                              "GUID_D_CARTE_1300","GUID_E_CARTE_1300",
11269                              "GUID_F_CARTE_1300","GUID_A_CARSP_900",
11270                              "GUID_B_CARSP_900","GUID_C_CARSP_900",
11271                              "GUID_D_CARSP_900","GUID_E_CARSP_900",
11272                              "GUID_F_CARSP_900","GUID_A_CARSP_1300",
11273                              "GUID_B_CARSP_1300","GUID_C_CARSP_1300",
11274                              "GUID_D_CARSP_1300","GUID_E_CARSP_1300",
11275                              "GUID_F_CARSP_1300","GUID_A_GCONT_900",
11276                              "GUID_B_GCONT_900","GUID_C_GCONT_900",
11277                              "GUID_D_GCONT_900","GUID_E_GCONT_900",
11278                              "GUID_F_GCONT_900","GUID_A_GCONT_1300",
11279                              "GUID_B_GCONT_1300","GUID_C_GCONT_1300",
11280                              "GUID_D_GCONT_1300","GUID_E_GCONT_1300",
11281                              "GUID_F_GCONT_1300","GUID_A_GCOMB_900",
11282                              "GUID_B_GCOMB_900","GUID_C_GCOMB_900",
11283                              "GUID_D_GCOMB_900","GUID_E_GCOMB_900",
11284                              "GUID_F_GCOMB_900","GUID_A_GCOMB_1300",
11285                              "GUID_B_GCOMB_1300","GUID_C_GCOMB_1300",
11286                              "GUID_D_GCOMB_1300","GUID_E_GCOMB_1300",
11287                              "GUID_F_GCOMB_1300",) ),
11288          VALE            =SIMP(statut='f',typ='R',max='**'),
11289          VERIF           =SIMP(statut='f',typ='TXM',defaut="FERME"),
11290 )  ;
11291 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11292 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11293 # ======================================================================
11294 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11295 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11296 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11297 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11298 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11299 #
11300 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11301 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11302 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11303 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11304 #
11305 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11306 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11307 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11308 # ======================================================================
11309 # RESPONSABLE GNICOLAS G.NICOLAS
11310 DEFI_PARA_SENSI=OPER(nom="DEFI_PARA_SENSI",op=   2,sd_prod=para_sensi,
11311                     fr="Définition d'un paramètre de sensibilité",
11312                     ang="Definition of a sensitive parameter",
11313                     reentrant='n',
11314             UIinfo={"groupes":("Fonction",)},
11315          NOM_RESU        =SIMP(statut='c',typ='TXM',into=("TOUTRESU",),defaut="TOUTRESU",
11316                                fr="Nom du concept créé",
11317                                ang="Name of the concept"),
11318          VALE            =SIMP(statut='o',typ='R',
11319                                fr="Valeur du parametre",
11320                                ang="Value of the parameter"),
11321          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11322 )  ;
11323 #& MODIF COMMANDE  DATE 15/11/2004   AUTEUR ASSIRE A.ASSIRE 
11324 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11325 # ======================================================================
11326 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
11327 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
11328 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
11329 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
11330 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
11331 #                                                                       
11332 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
11333 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
11334 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
11335 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
11336 #                                                                       
11337 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
11338 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
11339 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
11340 # ======================================================================
11341 # RESPONSABLE BOITEAU O.BOITEAU
11342
11343 from Macro.defi_part_feti_ops import defi_part_feti_ops
11344
11345 DEFI_PART_FETI=MACRO(nom="DEFI_PART_FETI",op=defi_part_feti_ops,sd_prod=sd_feti_sdaster,
11346                      reentrant='n',
11347                      fr="Creation partitionnement en sous-domaines pour FETI",
11348          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
11349          MODELE          =SIMP(statut='f',typ=modele_sdaster),
11350          NB_PART         =SIMP(statut='o',typ='I'),
11351          EXCIT           =FACT(statut='f',max='**',
11352            CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),),
11353          METHODE         =SIMP(statut='o',typ='TXM',into=("PMETIS","KMETIS","AUTRE",), defaut="PMETIS" ),
11354          b_methode       =BLOC(condition="METHODE == 'AUTRE'", fr="Autre logiciel",
11355              LOGICIEL        =SIMP(statut='f',typ='TXM'),
11356              ),
11357          NOM_GROUP_MA    =SIMP(statut='f',typ='TXM',defaut='SD' ),
11358          INFO            =SIMP(statut='f',typ='I',into=(1, 2, 3, 4,5), defaut=1),
11359 );
11360 #& MODIF COMMANDE  DATE 08/11/2004   AUTEUR ASSIRE A.ASSIRE 
11361 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11362 # ======================================================================
11363 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
11364 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
11365 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
11366 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
11367 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
11368 #                                                                       
11369 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
11370 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
11371 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
11372 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
11373 #                                                                       
11374 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
11375 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
11376 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
11377 # ======================================================================
11378 # RESPONSABLE ASSIRE A.ASSIRE
11379
11380 DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_feti_sdaster,
11381                     fr="Creation partitionnement en sous-domaines pour FETI",
11382                     docu="U4.23.05",reentrant='n',
11383                     UIinfo={"groupes":("Résolution",)},
11384          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
11385          NOM             =SIMP(statut='f',typ='TXM',defaut='SD'),
11386          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ),
11387
11388          DEFI          =FACT(statut='f',max='**',
11389            GROUP_MA        =SIMP(statut='o',typ=grma),
11390            GROUP_MA_BORD   =SIMP(statut='f',typ=grma),
11391          ),
11392          EXCIT           =FACT(statut='f',max='**',
11393            CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
11394          ),
11395 );
11396 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
11397 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11398 # ======================================================================
11399 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11400 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11401 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11402 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11403 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11404 #
11405 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11406 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11407 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11408 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11409 #
11410 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11411 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11412 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11413 # ======================================================================
11414 DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster,
11415                     fr="Définition d'un spectre d'excitation turbulente",
11416                     reentrant='n',
11417             UIinfo={"groupes":("Modélisation",)},
11418          regles=(UN_PARMI('SPEC_LONG_COR_1','SPEC_LONG_COR_2','SPEC_LONG_COR_3',
11419                           'SPEC_LONG_COR_4','SPEC_CORR_CONV_1','SPEC_CORR_CONV_2',
11420                           'SPEC_FONC_FORME','SPEC_EXCI_POINT'),),
11421          SPEC_LONG_COR_1 =FACT(statut='f',
11422            LONG_COR        =SIMP(statut='o',typ='R' ),
11423            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11424            VISC_CINE       =SIMP(statut='o',typ='R' ),
11425          ),
11426          SPEC_LONG_COR_2 =FACT(statut='f',
11427            regles=(ENSEMBLE('FREQ_COUP','PHI0','BETA' ),),
11428            LONG_COR        =SIMP(statut='o',typ='R' ),
11429            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11430            FREQ_COUP       =SIMP(statut='f',typ='R',defaut= 0.1 ),
11431            PHI0            =SIMP(statut='f',typ='R',defaut= 1.5E-3 ),
11432            BETA            =SIMP(statut='f',typ='R',defaut= 2.7 ),
11433          ),
11434          SPEC_LONG_COR_3 =FACT(statut='f',
11435            regles=(ENSEMBLE('PHI0_1','BETA_1','PHI0_2','BETA_2','FREQ_COUP'),),
11436            LONG_COR        =SIMP(statut='o',typ='R' ),
11437            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11438            FREQ_COUP       =SIMP(statut='f',typ='R',defaut= 0.2 ),
11439            PHI0_1          =SIMP(statut='f',typ='R',defaut= 5.E-3 ),
11440            BETA_1          =SIMP(statut='f',typ='R',defaut= 0.5 ),
11441            PHI0_2          =SIMP(statut='f',typ='R',defaut= 4.E-5 ),
11442            BETA_2          =SIMP(statut='f',typ='R',defaut= 3.5 ),
11443          ),
11444          SPEC_LONG_COR_4 =FACT(statut='f',
11445            regles=(ENSEMBLE('BETA','GAMMA'),),
11446            LONG_COR        =SIMP(statut='o',typ='R' ),
11447            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11448            TAUX_VIDE       =SIMP(statut='o',typ='R' ),
11449            BETA            =SIMP(statut='f',typ='R',defaut= 2. ),
11450            GAMMA           =SIMP(statut='f',typ='R',defaut= 4. ),
11451          ),
11452          SPEC_CORR_CONV_1=FACT(statut='f',
11453            LONG_COR_1      =SIMP(statut='o',typ='R' ),
11454            LONG_COR_2      =SIMP(statut='f',typ='R' ),
11455            VITE_FLUI       =SIMP(statut='o',typ='R' ),
11456            RHO_FLUI        =SIMP(statut='o',typ='R' ),
11457            FREQ_COUP       =SIMP(statut='f',typ='R' ),
11458            K               =SIMP(statut='f',typ='R',defaut= 5.8E-3 ),
11459            D_FLUI          =SIMP(statut='o',typ='R' ),
11460            COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
11461            COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
11462            METHODE         =SIMP(statut='f',typ='TXM',defaut="GENERALE",
11463                                  into=("AU_YANG","GENERALE","CORCOS") ),
11464          ),
11465          SPEC_CORR_CONV_2=FACT(statut='f',
11466            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11467            VITE_FLUI       =SIMP(statut='o',typ='R' ),
11468            FREQ_COUP       =SIMP(statut='f',typ='R' ),
11469            METHODE         =SIMP(statut='f',typ='TXM',defaut="GENERALE",
11470                                  into=("AU_YANG","GENERALE","CORCOS",) ),
11471            COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
11472            COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
11473          ),
11474          SPEC_FONC_FORME =FACT(statut='f',
11475            regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'),
11476                    ENSEMBLE('INTE_SPEC','FONCTION'),),
11477            INTE_SPEC       =SIMP(statut='f',typ=tabl_intsp ),
11478            FONCTION        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
11479            GRAPPE_1        =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ),
11480            NOEUD           =SIMP(statut='o',typ=no),
11481            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
11482            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
11483          ),
11484          SPEC_EXCI_POINT =FACT(statut='f',
11485            regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),),
11486            INTE_SPEC       =SIMP(statut='f',typ=tabl_intsp ),
11487            GRAPPE_2        =SIMP(statut='f',typ='TXM',
11488                                  into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC",) ),
11489 #  Quels sont les statuts des mots cles à l interieur des deux blocs qui suivent
11490            b_inte_spec =BLOC(condition = "INTE_SPEC != None",
11491              NATURE          =SIMP(statut='o',typ='TXM',max='**',into=("FORCE","MOMENT",) ),
11492              ANGL            =SIMP(statut='o',typ='R',max='**'),
11493              NOEUD           =SIMP(statut='o',typ=no,max='**'),
11494            ),
11495            b_grappe_2      =BLOC(condition = "GRAPPE_2 != None",
11496              RHO_FLUI        =SIMP(statut='o',typ='R' ),
11497              NOEUD           =SIMP(statut='o',typ=no),
11498            ),
11499            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
11500            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
11501          ),
11502          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11503 )  ;
11504 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11505 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11506 # ======================================================================
11507 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11508 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11509 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11510 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11511 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11512 #
11513 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11514 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11515 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11516 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11517 #
11518 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11519 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11520 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11521 # ======================================================================
11522 DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette,
11523                     fr="Définition d un maillage de visualisation",
11524                     reentrant='n',
11525             UIinfo={"groupes":("Maillage",)},
11526          regles=(UN_PARMI('MODE_CYCL','MODELE_GENE','MAILLAGE'),
11527                  PRESENT_PRESENT('MODE_CYCL','SECTEUR'),
11528                  EXCLUS('SOUS_STRUC','SECTEUR'),
11529                  PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'),
11530                  PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),),
11531          MODE_CYCL       =SIMP(statut='f',typ=mode_cycl ),
11532          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
11533          SQUELETTE       =SIMP(statut='f',typ=squelette ),
11534          RECO_GLOBAL     =FACT(statut='f',max='**',
11535            regles=(EXCLUS('TOUT','GROUP_NO_1'),
11536                    PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'),
11537                    PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'),
11538                    PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'),
11539                    PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),),
11540            TOUT            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ),
11541            GROUP_NO_1      =SIMP(statut='f',typ=grno),
11542            SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
11543            GROUP_NO_2      =SIMP(statut='f',typ=grno),
11544            SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
11545            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
11546            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11547            DIST_REFE       =SIMP(statut='f',typ='R' ),
11548          ),
11549          NOM_GROUP_MA    =FACT(statut='f',max='**',
11550            NOM             =SIMP(statut='o',typ='TXM' ),
11551            SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
11552            GROUP_MA        =SIMP(statut='o',typ=grma),
11553          ),
11554          EXCLUSIF        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
11555          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
11556          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11557          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11558          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11559          TRANS           =SIMP(statut='f',typ='R',min=3,max=3),
11560          ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),
11561          SOUS_STRUC      =FACT(statut='f',max='**',
11562            NOM             =SIMP(statut='f',typ='TXM' ),
11563            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11564            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11565            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11566          ),
11567          SECTEUR         =FACT(statut='f',max='**',
11568            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11569            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11570            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11571          ),
11572          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11573 )  ;
11574 #& MODIF COMMANDE  DATE 22/11/2004   AUTEUR JMBHH01 J.M.PROIX 
11575 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11576 # ======================================================================
11577 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11578 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11579 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11580 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11581 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11582 #
11583 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11584 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11585 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11586 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11587 #
11588 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11589 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11590 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11591 # ======================================================================
11592 DEFI_TEXTURE=OPER(nom="DEFI_TEXTURE",op= 181,sd_prod=tabl_texture,
11593                   fr=" ",reentrant='n',
11594             UIinfo={"groupes":("Modélisation",)},
11595          SYST_GLISSEMENT =FACT(statut='o',min=3,max=3,
11596            N               =SIMP(statut='o',typ='R',min=12,max=12 ),  
11597            L               =SIMP(statut='o',typ='R',max='**' ),  
11598          ),
11599          PLAN            =FACT(statut='o',min=1,max=40,
11600            ANGL_NAUT       =SIMP(statut='o',typ='R',max='**' ),  
11601            PROPORTION      =SIMP(statut='o',typ='R' ),  
11602          ),
11603          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
11604 )  ;
11605 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11606 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11607 # ======================================================================
11608 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11609 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11610 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11611 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11612 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11613 #
11614 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11615 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11616 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11617 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11618 #
11619 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11620 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11621 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11622 # ======================================================================
11623 DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction_sdaster,reentrant='n',
11624             UIinfo={"groupes":("Outils métier",)},
11625                     fr="Calculer la fonction d évolution temporelle de température due à l effet JOULE dans un cable",
11626          LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
11627          INST_CC_INIT    =SIMP(statut='f',typ='R',defaut= 0.0E+0 ),
11628          INST_CC_FIN     =SIMP(statut='f',typ='R',defaut= 1.0E+10),
11629          INST_RENC_INIT  =SIMP(statut='f',typ='R',defaut= 1.0E+10),
11630          INST_RENC_FIN   =SIMP(statut='f',typ='R',defaut= 1.0E+10),
11631          TEMP_EXT_POSE   =SIMP(statut='f',typ='R',defaut= 15.0E+0),
11632          TEMP_EXT        =SIMP(statut='f',typ='R',defaut= 15.0E+0),
11633          TEMP_RESI_REF   =SIMP(statut='f',typ='R',defaut= 20.0E+0),
11634          PARA_COND_1D    =FACT(statut='f',max='**',
11635            INTE_CC         =SIMP(statut='f',typ='R',defaut= 0.0E+0),
11636            INTE_RENC       =SIMP(statut='f',typ='R',defaut= 0.0E+0),
11637            A               =SIMP(statut='f',typ='R',defaut= 1.0E+0),
11638            SECTION         =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE",) ),
11639            RESI_R0         =SIMP(statut='f',typ='R',defaut= 0.0E+0),
11640            RESI_R1         =SIMP(statut='f',typ='R',defaut= 0.E+0),
11641            RHO_CP          =SIMP(statut='f',typ='R',defaut= 1.0E+0),
11642            COEF_H          =SIMP(statut='f',typ='R',defaut= 40.0E+0),
11643            TEMP_INIT       =SIMP(statut='f',typ='R',defaut= 15.0E+0),
11644          ),
11645 )  ;
11646
11647 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11648 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11649 # ======================================================================
11650 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11651 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11652 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11653 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11654 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11655 #
11656 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11657 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11658 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11659 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11660 #
11661 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11662 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11663 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11664 # ======================================================================
11665 DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=tabl_trc,reentrant='n',
11666             UIinfo={"groupes":("Modélisation",)},
11667               fr="Définition d un diagramme de transformations en refroidissement continu d un acier",
11668          HIST_EXP        =FACT(statut='o',max='**',
11669            VALE            =SIMP(statut='o',typ='R',max='**'),
11670          ),
11671          TEMP_MS         =FACT(statut='o',max='**',
11672            SEUIL           =SIMP(statut='o',typ='R'),
11673            AKM             =SIMP(statut='o',typ='R'),
11674            BKM             =SIMP(statut='o',typ='R'),
11675            TPLM            =SIMP(statut='o',typ='R'),
11676          ),
11677          GRAIN_AUST      =FACT(statut='f',max='**',
11678            DREF           =SIMP(statut='f',typ='R'),
11679            A              =SIMP(statut='f',typ='R'),
11680          ),
11681 )  ;
11682 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11683 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11684 # ======================================================================
11685 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11686 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11687 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11688 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11689 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11690 #
11691 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11692 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11693 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11694 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11695 #
11696 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11697 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11698 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11699 # ======================================================================
11700 DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=cham_no_depl_r,reentrant='n',
11701             UIinfo={"groupes":("Matrices/vecteurs",)},
11702                   fr="Récupération du champ de déplacement interne à une sous-structure",
11703          DEPL_GLOBAL     =SIMP(statut='o',typ=cham_no_depl_r),
11704          MAILLE          =SIMP(statut='o',typ=ma,),
11705          NOM_CAS         =SIMP(statut='f',typ='TXM',defaut=" "),
11706 )  ;
11707 #& MODIF COMMANDE  DATE 03/11/2004   AUTEUR MCOURTOI M.COURTOIS 
11708 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11709 # ======================================================================
11710 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11711 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11712 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11713 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11714 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11715 #
11716 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11717 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11718 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11719 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11720 #
11721 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11722 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11723 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11724 # ======================================================================
11725 DETRUIRE=PROC(nom="DETRUIRE",op=-7,
11726             UIinfo={"groupes":("Gestion du travail",)},
11727               fr="Destruction d un concept utilisateur dans la base GLOBALE",
11728              op_init=ops.detruire,
11729              regles=(UN_PARMI('CONCEPT','OBJET',),), 
11730             CONCEPT     =FACT(statut='f',max='**',
11731                 NOM         =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),
11732             ),
11733             OBJET  =FACT(statut='f',max='**',
11734                CLASSE      =SIMP(statut='f',typ='TXM',into=('G','V','L'),defaut='G'),  
11735                CHAINE      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
11736                POSITION    =SIMP(statut='f',typ='I'  ,max='**'),
11737             ),
11738             ALARME        =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI',),
11739             INFO          =SIMP(statut='f',typ='I',into=(1,2),defaut=2, ),           
11740 );
11741 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11742 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11743 # ======================================================================
11744 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11745 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11746 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11747 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11748 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11749 #
11750 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11751 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11752 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11753 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11754 #
11755 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11756 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11757 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11758 # ======================================================================
11759 DIST_LIGN_3D=OPER(nom="DIST_LIGN_3D",op= 133,sd_prod=fonction_sdaster,reentrant='n', 
11760             UIinfo={"groupes":("Outils métier",)},
11761                   fr="Calcul sous forme d une fonction du temps de la distance minimale entre deux structures filaires",
11762       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),
11763               UN_PARMI('GROUP_MA_2','POIN_FIXE'),),
11764          MODELE          =SIMP(statut='o',typ=modele_sdaster),
11765          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,evol_noli) ),
11766          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",)),
11767          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
11768          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
11769          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
11770          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
11771          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
11772          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11773          GROUP_MA_1      =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
11774          GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11775          POIN_FIXE       =SIMP(statut='f',typ='R',min=3,max=3),
11776          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
11777 )  ;
11778 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11779 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11780 # ======================================================================
11781 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11782 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11783 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11784 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11785 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11786 #
11787 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11788 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11789 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11790 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11791 #
11792 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11793 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11794 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11795 # ======================================================================
11796 DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=tabl_intsp
11797                     ,fr="Calcule la réponse spectrale d une structure linéaire sous une excitation connue par sa DSP",
11798                      reentrant='n',
11799             UIinfo={"groupes":("Résolution",)},
11800          BASE_MODALE     =FACT(statut='o',
11801            regles=(UN_PARMI('NUME_ORDRE','BANDE'),),
11802            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
11803            BANDE           =SIMP(statut='f',typ='R',validators=NoRepeat(),max=2),
11804            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
11805            b_bande =BLOC(condition = "BANDE != None",
11806              AMOR_UNIF       =SIMP(statut='o',typ='R' ),
11807            ),
11808            b_nume_ordre =BLOC(condition = "NUME_ORDRE != None",
11809              AMOR_REDUIT     =SIMP(statut='o',typ='R',max='**'),
11810            ),
11811          ),
11812          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
11813 # MODE_STAT devrait etre dans EXCIT car est utile et obligatoire que si NOM_CMP=depl_r, on pourrait
11814 # ainsi rajouter un bloc du genre  b_mod_stat= BLOC(condition = "(GRANDEUR == None) or (GRANDEUR == 'DEPL_R')",        
11815          EXCIT           =FACT(statut='o',
11816            INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
11817            NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
11818            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG",) ),
11819            MODAL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
11820            b_modal_non = BLOC(condition = "(MODAL == None) or (MODAL == 'NON')",           
11821              regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I'),),
11822              NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**'),
11823              NOEUD_I         =SIMP(statut='f',typ=no,max='**'),
11824              b_nume_ordre_i  =BLOC(condition = "NUME_ORDRE_I != None",
11825                regles=(EXCLUS('CHAM_NO','NOEUD'),),
11826 # on devrait rajouter EXCLUS('GRANDEUR','CHAM_NO') pour eviter ambiguite car CHAM_NO => GRANDEUR='EFFO'
11827 # cela impliquerait d'enlever la valeur par defaut a GRANDEUR            
11828                NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**'),
11829                CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
11830                NOEUD           =SIMP(statut='f',typ=no,max='**'),
11831                b_noeud         =BLOC(condition = "NOEUD != None",
11832                   NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
11833                 ),  
11834                GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
11835                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
11836 # que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP  
11837                DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
11838              ),           
11839              b_noeud_i       =BLOC(condition = "NOEUD_I != None",
11840                NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
11841                NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**'),
11842                NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**'),
11843                NOEUD           =SIMP(statut='o',typ=no,max='**'),
11844                NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
11845 # ne serait-il pas bien que NOEUD et NOM_CMP soient facultatifs, car l'information peut etre contenue dans
11846 # NOEUD_I, NOM_CMP_I ...  => modif. du Fortran
11847                GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
11848                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
11849 # que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP_I  
11850                DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
11851              ),
11852            ),  
11853            b_modal_oui = BLOC(condition = "(MODAL == 'OUI')",
11854 # dans ce cas, y-a-t-il vraiment la possibilite d'une matrice interspectrale avec plusieurs termes
11855              NUME_ORDRE_I    =SIMP(statut='o',typ='I',max='**'),
11856              NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**'),
11857              GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
11858                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
11859              DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
11860 # dans le cas MODAL=OUI, GRANDEUR peut-il etre different de EFFO et doit il etre impose a EFFO   On devrait
11861 # pouvoir supprimer GRANDEUR et DERIVATION ici   
11862            ),  
11863                     
11864          ),
11865          REPONSE         =FACT(statut='f',
11866            regles=( ENSEMBLE('FREQ_MIN','FREQ_MAX'),),
11867            DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ,) ),
11868            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
11869            FREQ_MIN        =SIMP(statut='f',typ='R' ),
11870            FREQ_MAX        =SIMP(statut='f',typ='R' ),
11871            PAS             =SIMP(statut='f',typ='R' ),
11872            b_defaut_freq   =BLOC(condition = "FREQ_MIN == NONE",
11873               FREQ_EXCIT      =SIMP(statut='f',typ='TXM',defaut="AVEC",into=("AVEC","SANS") ),
11874               NB_POIN_MODE    =SIMP(statut='f',typ='I',defaut= 50 ),
11875            ),
11876          ),
11877          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11878          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11879 )  ;
11880 #& MODIF COMMANDE  DATE 04/07/2005   AUTEUR NICOLAS O.NICOLAS 
11881 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11882 # ======================================================================
11883 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11884 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11885 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11886 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11887 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11888 #
11889 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11890 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11891 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11892 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11893 #
11894 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11895 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11896 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11897 # ======================================================================
11898 def dyna_line_harm_prod(MATR_RIGI,**args):
11899   if AsType(MATR_RIGI) == matr_asse_depl_r : return dyna_harmo
11900   if AsType(MATR_RIGI) == matr_asse_depl_c : return dyna_harmo
11901   if AsType(MATR_RIGI) == matr_asse_pres_c : return acou_harmo
11902   if AsType(MATR_RIGI) == matr_asse_gene_r : return harm_gene
11903   if AsType(MATR_RIGI) == matr_asse_gene_c : return harm_gene
11904   raise AsException("type de concept resultat non prevu")
11905
11906 DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
11907                     fr="Réponse dynamique complexe d un système à une excitation harmonique",
11908                     reentrant='n',
11909             UIinfo={"groupes":("Résolution",)},
11910          regles=(PRESENT_ABSENT('AMOR_REDUIT','MATR_AMOR'),
11911                  PRESENT_ABSENT('AMOR_REDUIT','LIST_AMOR'),
11912                  PRESENT_ABSENT('MATR_AMOR','LIST_AMOR'),
11913                  UN_PARMI('FREQ','LIST_FREQ'),),
11914          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
11915          CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
11916          CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
11917          MATR_MASS       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ),
11918          MATR_RIGI       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c
11919                                               ,matr_asse_gene_r,matr_asse_gene_c ) ),
11920          MATR_AMOR       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ),
11921          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
11922          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
11923          MATR_IMPE_PHI   =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
11924          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
11925          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
11926          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",)),
11927          NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ),
11928          EXCIT           =FACT(statut='o',max='**',
11929            regles=(UN_PARMI('VECT_ASSE','CHARGE'),
11930                    UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),
11931 # Je rajoute ces deux regles car seules les termes complexes peuvent etre pris en 
11932 # compte lors de l'utilisation d'une charge                   
11933                    PRESENT_ABSENT('CHARGE','FONC_MULT'),
11934                    PRESENT_ABSENT('CHARGE','COEF_MULT'),
11935 # a corriger                   
11936                    ),
11937            VECT_ASSE       =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_pres_c,vect_asse_gene ) ),
11938            CHARGE          =SIMP(statut='f',typ=char_meca ),
11939            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
11940            FONC_MULT_C     =SIMP(statut='f',typ=fonction_c ),
11941            COEF_MULT_C     =SIMP(statut='f',typ='C' ),
11942            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11943            COEF_MULT       =SIMP(statut='f',typ='R' ),
11944            PHAS_DEG        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
11945            PUIS_PULS       =SIMP(statut='f',typ='I',defaut= 0 ),
11946          ),
11947          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11948          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
11949                                fr="Liste des paramètres de sensibilité.",
11950                                ang="List of sensitivity parameters"),
11951 )  ;
11952 # Rajouter test icompatibilite vect_asse et sensibilite
11953 # Peut-on aussi rajouter ici le test d incompatibilite charge complexe - derivation 
11954 #  presents dans le Fortran          
11955 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
11956 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11957 # ======================================================================
11958 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11959 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11960 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11961 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11962 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11963 #
11964 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11965 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11966 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11967 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11968 #
11969 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11970 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11971 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11972 # ======================================================================
11973 DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
11974                     fr="Réponse temporelle d un système à une excitation transitoire",
11975                     reentrant='f',
11976             UIinfo={"groupes":("Résolution",)},
11977 #         regles=(UN_PARMI('WILSON','DIFF_CENTRE','ADAPT'),),
11978          regles=(UN_PARMI('NEWMARK','WILSON','DIFF_CENTRE','ADAPT'),),
11979          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
11980          CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
11981          CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
11982          MATR_MASS       =SIMP(statut='o',typ=matr_asse_depl_r ),
11983          MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
11984          MATR_AMOR       =SIMP(statut='f',typ=matr_asse_depl_r ),
11985          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
11986          NEWMARK         =FACT(statut='f',
11987            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25 ),
11988            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5 ),
11989          ),
11990          WILSON          =FACT(statut='f',
11991            THETA           =SIMP(statut='f',typ='R',defaut= 1.4 ),
11992          ),
11993          DIFF_CENTRE     =FACT(statut='f',
11994          ),
11995          ADAPT           =FACT(statut='f',
11996          ),
11997          ETAT_INIT       =FACT(statut='f',
11998            regles=(AU_MOINS_UN('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT',),
11999                    PRESENT_ABSENT('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT'),),
12000            DYNA_TRANS      =SIMP(statut='f',typ=dyna_trans ),
12001            b_dyna_trans    =BLOC(condition = "DYNA_TRANS != None",
12002              regles=(EXCLUS('NUME_INIT','INST_INIT' ),),
12003              NUME_INIT       =SIMP(statut='f',typ='I' ),
12004              INST_INIT       =SIMP(statut='f',typ='R' ),
12005              b_inst_init     =BLOC(condition = "INST_INIT != None",
12006                PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12007                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12008              ),
12009            ),
12010            DEPL_INIT       =SIMP(statut='f',typ=(cham_no_depl_r) ),
12011            VITE_INIT       =SIMP(statut='f',typ=(cham_no_depl_r) ),
12012          ),
12013          EXCIT           =FACT(statut='f',max='**',
12014            regles=(UN_PARMI('CHARGE','VECT_ASSE'),
12015                    EXCLUS('CHARGE','COEF_MULT'),
12016                    EXCLUS('FONC_MULT','COEF_MULT'),
12017                    EXCLUS('ACCE','COEF_MULT'),
12018                    PRESENT_ABSENT('ACCE','FONC_MULT'),
12019                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12020                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
12021                    ),
12022            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
12023            CHARGE          =SIMP(statut='f',typ=char_meca ),
12024            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12025            COEF_MULT       =SIMP(statut='f',typ='R' ),
12026            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
12027            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12028            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12029            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12030            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12031            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
12032            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12033            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12034          ),
12035          AMOR_MODAL      =FACT(statut='f',
12036            MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
12037            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
12038            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12039            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12040          ),
12041 #  ce n est pas le mot clesolveur standard
12042          SOLVEUR         =FACT(statut='d',
12043            NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12044            STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12045            RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12046            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12047          ),
12048          INCREMENT       =FACT(statut='o',max='**',
12049            regles=(UN_PARMI('LIST_INST','FONC_INST','PAS'),),
12050            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ), 
12051            FONC_INST       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),       
12052            PAS             =SIMP(statut='f',typ='R' ),
12053            b_pas           =BLOC(condition = "PAS != None",
12054                INST_INIT       =SIMP(statut='f',typ='R' ),
12055                INST_FIN        =SIMP(statut='f',typ='R' ),    
12056            ),
12057            b_list_fonc     =BLOC(condition = "LIST_INST != None or FONC_INST != None",
12058                regles=(EXCLUS('INST_FIN','NUME_FIN'),),
12059                NUME_FIN        =SIMP(statut='f',typ='I' ), 
12060                INST_FIN        =SIMP(statut='f',typ='R' ),   
12061            ),
12062            VITE_MIN        =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
12063            COEF_MULT_PAS   =SIMP(statut='f',typ='R',defaut= 1.1 ),
12064            COEF_DIVI_PAS   =SIMP(statut='f',typ='R',defaut= 1.33334 ),
12065            PAS_LIMI_RELA   =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12066            NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
12067            NMAX_ITER_PAS   =SIMP(statut='f',typ='I',defaut= 16 ),
12068            PAS_CALCUL      =SIMP(statut='f',typ='I',defaut= 1 ),
12069          ),
12070          ARCHIVAGE       =FACT(statut='f',
12071            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH', ),),
12072            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster ),
12073            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12074            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ),
12075          ),
12076          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
12077                                fr="Liste des param\350tres de sensibilit\351.",
12078                                ang="List of sensitivity parameters",
12079          ),
12080          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12081          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
12082 )  ;
12083 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR NICOLAS O.NICOLAS 
12084 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12085 # ======================================================================
12086 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12087 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12088 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12089 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12090 # (AT YOUR OPTION) ANY LATER VERSION.
12091 #
12092 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12093 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12094 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12095 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12096 #
12097 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12098 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12099 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12100 # ======================================================================
12101 DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
12102                    fr="Analyse mécanique dynamique non linéaire",
12103             UIinfo={"groupes":("Résolution",)},
12104          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',),
12105                  UN_PARMI('NEWMARK','HHT','TETA_METHODE', ),),
12106          MODELE          =SIMP(statut='o',typ=modele_sdaster),
12107          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
12108          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
12109          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
12110          EXCIT           =FACT(statut='o',max='**',
12111            regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
12112                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12113                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
12114                    ),
12115            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
12116                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
12117            CHARGE          =SIMP(statut='o',typ=char_meca),
12118            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12119            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12120            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12121            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12122            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12123            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
12124            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12125            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12126          ),
12127          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
12128                 regles=(UN_PARMI('TOUT','MAILLE'),),
12129                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
12130                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12131                 MAILLE      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
12132               ),
12133          AMOR_MODAL      =FACT(statut='f',
12134            MODE_MECA       =SIMP(statut='f',typ=mode_meca),
12135            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**' ),
12136            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12137            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12138          ),
12139          VARI_COMM           =FACT(statut='f',
12140            regles=(AU_MOINS_UN('IRRA',),),
12141            IRRA     =SIMP(statut='f',typ=evol_varc),
12142            CORROSION  =SIMP(statut='f',typ=carte_corr_r),
12143          ),
12144          COMP_INCR       =C_COMP_INCR(),
12145          COMP_ELAS       =FACT(statut='f',max='**',
12146            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
12147                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
12148                                        "ELAS_POUTRE_GR","CABLE")),
12149            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12150            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12151            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12152            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
12153            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12154            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
12155       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12156            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12157            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12158            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12159          ),
12160 #-------------------------------------------------------------------
12161          b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
12162          ETAT_INIT       =FACT(statut='o',
12163            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',),
12164                    EXCLUS('EVOL_NOLI','DEPL',),
12165                    EXCLUS('EVOL_NOLI','VITE'),
12166                    EXCLUS('EVOL_NOLI','SIGM',),
12167                    EXCLUS('EVOL_NOLI','VARI',),
12168                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
12169                    EXCLUS('NUME_ORDRE','INST'), ),
12170            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
12171            VITE            =SIMP(statut='f',typ=cham_no_depl_r),
12172            SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
12173            VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
12174            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
12175            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
12176            NUME_ORDRE      =SIMP(statut='f',typ='I'),
12177            INST            =SIMP(statut='f',typ='R'),
12178            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12179            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12180            NUME_DIDI       =SIMP(statut='f',typ='I'),
12181            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
12182          ),),
12183          b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
12184          ETAT_INIT       =FACT(statut='f',
12185            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',),
12186                    EXCLUS('EVOL_NOLI','DEPL',),
12187                    EXCLUS('EVOL_NOLI','VITE'),
12188                    EXCLUS('EVOL_NOLI','SIGM',),
12189                    EXCLUS('EVOL_NOLI','VARI',),
12190                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
12191                    EXCLUS('NUME_ORDRE','INST'), ),
12192            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
12193            VITE            =SIMP(statut='f',typ=cham_no_depl_r),
12194            SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
12195            VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
12196            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
12197            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
12198            NUME_ORDRE      =SIMP(statut='f',typ='I'),
12199            INST            =SIMP(statut='f',typ='R'),
12200            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12201            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12202            NUME_DIDI       =SIMP(statut='f',typ='I'),
12203            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
12204          ),),
12205 #-------------------------------------------------------------------
12206          INCREMENT       =FACT(statut='o',
12207            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
12208                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
12209            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
12210            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
12211                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
12212            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
12213            INST_INIT       =SIMP(statut='f',typ='R'),
12214            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
12215            INST_FIN        =SIMP(statut='f',typ='R'),
12216            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
12217            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
12218            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
12219            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12220            OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
12221            NOM_CHAM        =SIMP(statut='f',typ='TXM',),
12222            NOM_CMP         =SIMP(statut='f',typ='TXM',),
12223            VALE            =SIMP(statut='f',typ='R'),
12224          ),
12225 #-------------------------------------------------------------------
12226          NEWMARK         =FACT(statut='f',
12227            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25),
12228            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5),
12229          ),
12230          HHT             =FACT(statut='f',
12231            ALPHA           =SIMP(statut='f',typ='R'
12232                                 ,defaut= -0.29999999999999999 ),
12233          ),
12234          TETA_METHODE      =FACT(statut='f',
12235            TETA            =SIMP(statut='f',typ='R'
12236                                 ,defaut= 1.,val_min=0.5,val_max=1. ),
12237          ),
12238          NEWTON          =FACT(statut='d',
12239            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
12240            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
12241            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
12242            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
12243            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
12244            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12245          ),
12246          SOLVEUR         =FACT(statut='d',
12247            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12248            b_mult_front    =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12249              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12250            ),
12251            b_ldlt          =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT",
12252              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12253            ),
12254            b_ldlt_mult     =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'",
12255                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12256              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12257              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
12258            ),
12259            b_gcpc          =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué",
12260              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12261              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
12262              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
12263              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12264              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12265            ),
12266            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12267          ),
12268 #-------------------------------------------------------------------
12269          RECH_LINEAIRE   =FACT(statut='f',
12270            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
12271            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
12272            ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
12273            PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12274            RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
12275            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
12276            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2),
12277          ),
12278          PILOTAGE        =FACT(statut='f',
12279            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12280            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
12281            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12282            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
12283            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
12284            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
12285            ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
12286            PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
12287            SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
12288            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12289            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12290            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
12291            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
12292            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
12293            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),
12294                          ),
12295          CONVERGENCE     =FACT(statut='d',
12296            regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
12297            SIGM_REFE       =SIMP(statut='f',typ='R'),
12298            EPSI_REFE       =SIMP(statut='f',typ='R'),
12299            FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
12300            FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
12301            FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),           
12302            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
12303            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
12304            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
12305            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
12306            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
12307            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
12308            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
12309                                 ,defaut= 1.0E-6),
12310            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
12311            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
12312            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
12313                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
12314          ),
12315 #-------------------------------------------------------------------
12316          ARCHIVAGE       =FACT(statut='f',
12317            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
12318                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
12319            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
12320            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12321            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12322            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
12323            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12324            NUME_INIT       =SIMP(statut='f',typ='I'),
12325            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12326            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
12327            into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")),
12328          ),
12329          OBSERVATION     =FACT(statut='f',max='**',
12330            regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),
12331                    PRESENT_PRESENT('MAILLE','POINT'),),
12332            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
12333
12334 into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU") ),
12335            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
12336            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
12337            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
12338            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12339            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12340            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12341            PAS_OBSE        =SIMP(statut='f',typ='I'),
12342            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12343            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12344            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12345            POINT           =SIMP(statut='f',typ='I' ,max='**'),
12346          ),
12347 #-------------------------------------------------------------------
12348            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
12349                                fr="Liste des paramètres de sensibilité",
12350                                ang="List of sensitivity parameters"),
12351 #-------------------------------------------------------------------
12352            SOLV_NON_LOCAL  =FACT(statut='f',
12353              METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12354              b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12355                RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12356              ),
12357              b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
12358                RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12359              ),
12360              b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
12361                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12362                NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12363                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12364              ),
12365              b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
12366                PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12367                NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
12368                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12369                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12370              ),
12371              EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12372            ),
12373            LAGR_NON_LOCAL  =FACT(statut='f',
12374              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
12375              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
12376              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
12377              R               =SIMP(statut='f',typ='R',defaut= 1000.),
12378              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
12379            ),
12380 #-------------------------------------------------------------------
12381          PARM_THETA      =SIMP(statut='f',typ='R'
12382                               ,defaut= 1. ),
12383 #-------------------------------------------------------------------
12384          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
12385          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12386 )  ;
12387 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12388 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12389 # ======================================================================
12390 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12391 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12392 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12393 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12394 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12395 #
12396 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12397 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12398 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12399 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12400 #
12401 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12402 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12403 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12404 # ======================================================================
12405 DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=tabl_intsp,
12406                      fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire",
12407                      reentrant='n',
12408             UIinfo={"groupes":("Résolution",)},
12409          BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu_sdaster ),
12410          EXCIT           =FACT(statut='o',
12411            INTE_SPEC_GENE  =SIMP(statut='o',typ=tabl_intsp ),
12412          ),
12413          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
12414          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12415 )  ;
12416 #& MODIF COMMANDE  DATE 12/09/2005   AUTEUR BOYERE E.BOYERE 
12417 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12418 # ======================================================================
12419 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
12420 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
12421 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
12422 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
12423 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
12424 #                                                                       
12425 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
12426 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
12427 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
12428 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
12429 #                                                                       
12430 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
12431 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
12432 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
12433 # ======================================================================
12434 #& RESPONSABLE
12435 DYNA_TRAN_EXPLI=OPER(nom="DYNA_TRAN_EXPLI",op= 69,sd_prod=evol_noli,reentrant='f',
12436                    fr="Analyse mecanique dynamique explicite",
12437          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',),),
12438          MODELE          =SIMP(statut='o',typ=modele_sdaster),
12439          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
12440          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
12441          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
12442          EXCIT           =FACT(statut='o',max='**',
12443            regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
12444                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12445                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
12446                    ),
12447            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
12448                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
12449            CHARGE          =SIMP(statut='o',typ=char_meca),
12450            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12451            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12452            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12453            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12454            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12455            DIRECTION       =SIMP(statut='f',typ='R',max=3),
12456            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12457            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12458          ),
12459          AMOR_MODAL      =FACT(statut='f',
12460            MODE_MECA       =SIMP(statut='f',typ=mode_meca),
12461            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**' ),
12462            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12463            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12464          ),
12465          PROJ_MODAL      =FACT(statut='f',
12466            MODE_MECA       =SIMP(statut='f',typ=mode_meca),
12467            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12468          ),
12469          VARI_COMM           =FACT(statut='f',
12470            regles=(AU_MOINS_UN('IRRA','CORROSION'),),
12471            IRRA       =SIMP(statut='f',typ=evol_varc),
12472            CORROSION  =SIMP(statut='f',typ=carte_corr_r),
12473          ),
12474          COMP_INCR       =C_COMP_INCR(),
12475          COMP_ELAS       =FACT(statut='f',max='**',
12476            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
12477                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
12478                                        "ELAS_POUTRE_GR","CABLE")),
12479            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12480            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12481            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12482            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
12483            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12484            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
12485       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12486            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12487            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12488            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12489          ),
12490 #-------------------------------------------------------------------
12491          ETAT_INIT       =FACT(statut='f',
12492            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',),
12493                    EXCLUS('EVOL_NOLI','DEPL',),
12494                    EXCLUS('EVOL_NOLI','VITE'),
12495                    EXCLUS('EVOL_NOLI','SIGM',),
12496                    EXCLUS('EVOL_NOLI','VARI',),
12497                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
12498                    EXCLUS('NUME_ORDRE','INST'), ),
12499            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
12500            VITE            =SIMP(statut='f',typ=cham_no_depl_r),
12501            SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
12502            VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
12503            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
12504            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
12505            NUME_ORDRE      =SIMP(statut='f',typ='I'),
12506            INST            =SIMP(statut='f',typ='R'),
12507            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12508            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12509            NUME_DIDI       =SIMP(statut='f',typ='I'),
12510            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
12511          ),
12512 #-------------------------------------------------------------------
12513          INCREMENT       =FACT(statut='o',
12514            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
12515                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
12516            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
12517            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
12518                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
12519            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
12520            INST_INIT       =SIMP(statut='f',typ='R'),
12521            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
12522            INST_FIN        =SIMP(statut='f',typ='R'),
12523            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
12524            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
12525            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
12526            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12527            OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
12528            NOM_CHAM        =SIMP(statut='f',typ='TXM',),
12529            NOM_CMP         =SIMP(statut='f',typ='TXM',),
12530            VALE            =SIMP(statut='f',typ='R'),
12531          ),
12532 #-------------------------------------------------------------------
12533          NEWMARK         =FACT(statut='d',
12534            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25),
12535            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5),
12536          ),
12537          NEWTON          =FACT(statut='c',
12538            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
12539            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
12540            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
12541            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
12542            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
12543            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12544          ),
12545          SOLVEUR         =FACT(statut='d',
12546            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12547            b_mult_front    =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12548              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12549            ),
12550            b_ldlt          =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT",
12551              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12552            ),
12553            b_ldlt_mult     =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'",
12554                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12555              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12556              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
12557            ),
12558            b_gcpc          =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué",
12559              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12560              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
12561              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
12562              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12563              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12564            ),
12565            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12566          ),
12567 #-------------------------------------------------------------------
12568          RECH_LINEAIRE   =FACT(statut='c',
12569            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
12570            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
12571            ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
12572            PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12573            RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
12574            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
12575            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2),
12576          ),
12577          PILOTAGE        =FACT(statut='c',
12578            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12579            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
12580            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12581            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
12582            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
12583            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
12584            ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
12585            PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
12586            SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
12587            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12588            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12589            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
12590            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
12591            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
12592            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),
12593                          ),
12594          CONVERGENCE     =FACT(statut='d',
12595            regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
12596            SIGM_REFE       =SIMP(statut='f',typ='R'),
12597            EPSI_REFE       =SIMP(statut='f',typ='R'),
12598            FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
12599            FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
12600            FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),           
12601            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
12602            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
12603            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
12604            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
12605            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
12606            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
12607            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
12608                                 ,defaut= 1.0E-6),
12609            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
12610            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
12611            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
12612                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
12613          ),
12614 #-------------------------------------------------------------------
12615          ARCHIVAGE       =FACT(statut='f',
12616            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
12617                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
12618            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
12619            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12620            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12621            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
12622            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12623            NUME_INIT       =SIMP(statut='f',typ='I'),
12624            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12625            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
12626            into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")),
12627          ),
12628          OBSERVATION     =FACT(statut='f',max='**',
12629            regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),
12630                    PRESENT_PRESENT('MAILLE','POINT'),),
12631            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
12632
12633 into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU") ),
12634            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
12635            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
12636            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
12637            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12638            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12639            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12640            PAS_OBSE        =SIMP(statut='f',typ='I'),
12641            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12642            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12643            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12644            POINT           =SIMP(statut='f',typ='I' ,max='**'),
12645          ),
12646 #-------------------------------------------------------------------
12647            SOLV_NON_LOCAL  =FACT(statut='f',
12648              METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12649              b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12650                RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12651              ),
12652              b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
12653                RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12654              ),
12655              b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
12656                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12657                NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12658                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12659              ),
12660              b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
12661                PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12662                NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
12663                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12664                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12665              ),
12666            ),
12667            LAGR_NON_LOCAL  =FACT(statut='f',
12668              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
12669              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
12670              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
12671              R               =SIMP(statut='f',typ='R',defaut= 1000.),
12672              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
12673            ),
12674 #-------------------------------------------------------------------
12675          PARM_THETA      =SIMP(statut='f',typ='R'
12676                               ,defaut= 1. ),
12677 #-------------------------------------------------------------------
12678          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
12679          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12680 )  ;
12681 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
12682 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12683 # ======================================================================
12684 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12685 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12686 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12687 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12688 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12689 #
12690 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12691 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12692 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12693 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12694 #
12695 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12696 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12697 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12698 # ======================================================================
12699 DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
12700                      fr="Réponse dynamique transitoire en coordonnées généralisées par recombinaison modale",
12701                      reentrant='f',
12702             UIinfo={"groupes":("Résolution",)},
12703       regles=(EXCLUS('AMOR_REDUIT','AMOR_GENE','LIST_AMOR'), 
12704               PRESENT_ABSENT('MODE_STAT','MODE_CORR'),),
12705          METHODE         =SIMP(statut='f',typ='TXM',defaut="EULER",
12706                                into=("EULER","NEWMARK","DEVOGE","ADAPT","ITMI") ),
12707          MASS_GENE       =SIMP(statut='o',typ=matr_asse_gene_r ),
12708          RIGI_GENE       =SIMP(statut='o',typ=matr_asse_gene_r ),
12709          AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r ),
12710          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
12711          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
12712          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc) ),
12713          MODE_CORR       =SIMP(statut='f',typ=(mult_elas,mode_stat_acce) ,),
12714          
12715          ETAT_INIT       =FACT(statut='f',
12716            regles=(EXCLUS('RESU_GENE','DEPL_INIT_GENE'),
12717                    EXCLUS('RESU_GENE','VITE_INIT_GENE'),),
12718            RESU_GENE       =SIMP(statut='f',typ=tran_gene ),
12719            b_resu_gene     =BLOC(condition = "RESU_GENE != None",
12720              INST_INIT       =SIMP(statut='f',typ='R' ),
12721              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12722              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12723            ),
12724            DEPL_INIT_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
12725            VITE_INIT_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
12726          ),
12727          INCREMENT       =FACT(statut='o',max='**',
12728            INST_INIT       =SIMP(statut='f',typ='R' ),
12729            INST_FIN        =SIMP(statut='o',typ='R' ),
12730            PAS             =SIMP(statut='f',typ='R' ),
12731            VERI_PAS        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12732            VITE_MIN        =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
12733            COEF_MULT_PAS   =SIMP(statut='f',typ='R',defaut= 1.1 ),
12734            COEF_DIVI_PAS   =SIMP(statut='f',typ='R',defaut= 1.3333334 ),
12735            PAS_LIMI_RELA   =SIMP(statut='f',typ='R',defaut= 1.0E-6 ),
12736            NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
12737            NMAX_ITER_PAS   =SIMP(statut='f',typ='I',defaut= 16 ),
12738          ),
12739          ARCHIVAGE       =FACT(statut='f',
12740            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH'),),
12741            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster ),
12742            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12743          ),
12744          
12745          NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 20 ),
12746          RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12747          LAMBDA          =SIMP(statut='f',typ='R',defaut= 10. ),
12748          
12749          EXCIT           =FACT(statut='f',max='**',
12750            regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'),
12751                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12752                    PRESENT_PRESENT('D_FONC_DT','D_FONC_DT2'),
12753                    PRESENT_ABSENT('NUME_MODE','VECT_GENE','COEF_MULT'),
12754                    EXCLUS('MULT_APPUI','CORR_STAT'),
12755                    PRESENT_ABSENT('MULT_APPUI','COEF_MULT'),
12756                    PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),),
12757            VECT_GENE       =SIMP(statut='f',typ=vect_asse_gene ),
12758            NUME_MODE       =SIMP(statut='f',typ='I' ),
12759            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12760            COEF_MULT       =SIMP(statut='f',typ='R' ),
12761            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12762            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12763            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12764            MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12765            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
12766            b_loca          =BLOC(condition= "DIRECTION != None",
12767              regles=(EXCLUS('NOEUD','GROUP_NO'),),
12768              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12769              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12770            ),
12771            CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12772            D_FONC_DT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12773            D_FONC_DT2      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12774          ),
12775          CHOC            =FACT(statut='f',max='**',
12776            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1' ),
12777                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
12778                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
12779            INTITULE        =SIMP(statut='f',typ='TXM' ),
12780            NOEUD_1         =SIMP(statut='f',typ=no),
12781            NOEUD_2         =SIMP(statut='f',typ=no),
12782            GROUP_NO_1      =SIMP(statut='f',typ=grno),
12783            GROUP_NO_2      =SIMP(statut='f',typ=grno),
12784            OBSTACLE        =SIMP(statut='o',typ=obstacle_sdaster ),
12785            ORIG_OBST       =SIMP(statut='f',typ='R',min=3,max=3),
12786            NORM_OBST       =SIMP(statut='o',typ='R',min=3,max=3),
12787            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
12788            JEU             =SIMP(statut='f',typ='R',defaut= 1. ),
12789            DIST_1          =SIMP(statut='f',typ='R',val_min=0.E+0 ),
12790            DIST_2          =SIMP(statut='f',typ='R',val_min=0.E+0 ),
12791            SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
12792            SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
12793            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
12794            RIGI_NOR        =SIMP(statut='f',typ='R' ),
12795            AMOR_NOR        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12796            RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12797            AMOR_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12798            COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12799
12800            LAME_FLUIDE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12801            b_lame          =BLOC(condition="LAME_FLUIDE=='OUI'",
12802                ALPHA           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12803                BETA            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12804                CHI             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12805                DELTA           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12806            ),
12807          ),
12808          VERI_CHOC       =FACT(statut='f',max='**',
12809            STOP_CRITERE    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12810            SEUIL           =SIMP(statut='f',typ='R',defaut= 0.5 ),
12811          ),
12812          FLAMBAGE        =FACT(statut='f',max='**',
12813            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
12814                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
12815                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
12816            NOEUD_1         =SIMP(statut='f',typ=no),
12817            NOEUD_2         =SIMP(statut='f',typ=no),
12818            GROUP_NO_1      =SIMP(statut='f',typ=grno),
12819            GROUP_NO_2      =SIMP(statut='f',typ=grno),
12820            OBSTACLE        =SIMP(statut='o',typ=obstacle_sdaster ),
12821            ORIG_OBST       =SIMP(statut='f',typ='R',max='**'),
12822            NORM_OBST       =SIMP(statut='o',typ='R',max='**'),
12823            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
12824            JEU             =SIMP(statut='f',typ='R',defaut= 1. ),
12825            DIST_1          =SIMP(statut='f',typ='R' ),
12826            DIST_2          =SIMP(statut='f',typ='R' ),
12827            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
12828            RIGI_NOR        =SIMP(statut='f',typ='R' ),
12829            FNOR_CRIT       =SIMP(statut='f',typ='R' ),
12830            FNOR_POST_FL    =SIMP(statut='f',typ='R' ),
12831            RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ),
12832          ),
12833          ANTI_SISM       =FACT(statut='f',max='**',
12834            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
12835                    UN_PARMI('NOEUD_2','GROUP_NO_2'),
12836                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
12837                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
12838            NOEUD_1         =SIMP(statut='f',typ=no),
12839            NOEUD_2         =SIMP(statut='f',typ=no),
12840            GROUP_NO_1      =SIMP(statut='f',typ=grno),
12841            GROUP_NO_2      =SIMP(statut='f',typ=grno),
12842            RIGI_K1         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12843            RIGI_K2         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12844            SEUIL_FX        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12845            C               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12846            PUIS_ALPHA      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12847            DX_MAX          =SIMP(statut='f',typ='R',defaut= 1. ),
12848          ),
12849          RELA_EFFO_DEPL  =FACT(statut='f',max='**',
12850            NOEUD           =SIMP(statut='o',typ=no),
12851            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
12852            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
12853            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12854          ),
12855          RELA_TRANSIS    =FACT(statut='f',max='**',
12856            NOEUD           =SIMP(statut='o',typ=no),
12857            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
12858            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
12859            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12860          ),
12861          RELA_EFFO_VITE  =FACT(statut='f',max='**',
12862            NOEUD           =SIMP(statut='o',typ=no),
12863            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
12864            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
12865            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12866          ),
12867          b_itmi          =BLOC(condition = "METHODE=='ITMI'",
12868                 regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),),
12869                 BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
12870                 NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
12871                 ETAT_STAT       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12872                 PREC_DUREE      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
12873                 CHOC_FLUI       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12874                 NB_MODE         =SIMP(statut='f',typ='I' ),
12875                 NB_MODE_FLUI    =SIMP(statut='f',typ='I' ),
12876                 NB_MODE_DIAG    =SIMP(statut='f',typ='I' ),
12877                 TS_REG_ETAB     =SIMP(statut='f',typ='R' ),
12878          ),
12879          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
12880          IMPRESSION      =FACT(statut='f',max='**',
12881            regles=(EXCLUS('TOUT','NIVEAU'),),
12882            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12883            NIVEAU          =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ),
12884            INST_INIT       =SIMP(statut='f',typ='R' ),
12885            INST_FIN        =SIMP(statut='f',typ='R' ),
12886          ),
12887          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12888  )  ;
12889 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
12890 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12891 # ======================================================================
12892 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12893 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12894 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12895 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12896 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12897 #
12898 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12899 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12900 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12901 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12902 #
12903 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12904 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12905 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12906 # ======================================================================
12907 # RESPONSABLE VABHHTS J.PELLET
12908 ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,
12909             UIinfo={"groupes":("Impression",)},
12910       regles=(UN_PARMI('TOUT','CO'),),
12911          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
12912          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12913          CO              =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'),
12914          TYPE_TEST       =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME","RESUME") ),
12915          FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE12.5"),
12916          PREC_R          =SIMP(statut='f',typ='TXM',defaut="1.E-5"),
12917 )  ;
12918 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12919 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12920 # ======================================================================
12921 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12922 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12923 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12924 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12925 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12926 #
12927 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12928 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12929 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12930 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12931 #
12932 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12933 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12934 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12935 # ======================================================================
12936 EXEC_LOGICIEL=PROC(nom="EXEC_LOGICIEL",op= 183,fr="",
12937             UIinfo={"groupes":("Impression",)},
12938          LOGICIEL        =SIMP(statut='f',typ='TXM' ),  
12939          ARGUMENT        =FACT(statut='f',max='**',
12940            NOM_PARA        =SIMP(statut='f',typ='TXM' ),  
12941          ),
12942 )  ;
12943 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12944 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12945 # ======================================================================
12946 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12947 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12948 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12949 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12950 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12951 #
12952 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12953 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12954 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12955 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12956 #
12957 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12958 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12959 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12960 # ======================================================================
12961 def extr_mode_prod(FILTRE_MODE,**args):
12962   vale=FILTRE_MODE[0]['MODE']
12963   if AsType(vale) == mode_meca   : return mode_meca
12964   if AsType(vale) == mode_meca_c : return mode_meca_c
12965   if AsType(vale) == mode_gene   : return mode_gene
12966   raise AsException("type de concept resultat non prevu")
12967
12968 EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod,
12969                reentrant='n',
12970             UIinfo={"groupes":("Résolution",)},
12971          FILTRE_MODE     =FACT(statut='o',max='**',
12972            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','NUME_MODE','NUME_MODE_EXCLU','FREQ_MIN','CRIT_EXTR',),),
12973            MODE            =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_gene ) ),
12974            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
12975            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12976            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12977            NUME_MODE_EXCLU =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12978            FREQ_MIN        =SIMP(statut='f',typ='R' ),
12979            CRIT_EXTR       =SIMP(statut='f',typ='TXM',into=("MASS_EFFE_UN","MASS_GENE") ),
12980            b_freq_min      =BLOC(condition = "FREQ_MIN != None",  
12981              FREQ_MAX        =SIMP(statut='o',typ='R' ),
12982              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12983            ),
12984            b_crit_extr     =BLOC(condition = "CRIT_EXTR != None",
12985              SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12986            ),    
12987          ),
12988          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12989          IMPRESSION      =FACT(statut='f',
12990            CUMUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12991            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ),
12992          ),
12993 )  ;
12994 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12995 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12996 # ======================================================================
12997 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12998 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12999 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13000 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13001 # (AT YOUR OPTION) ANY LATER VERSION.
13002 #
13003 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13004 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13005 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13006 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13007 #
13008 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13009 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13010 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13011 # ======================================================================
13012 def extr_resu_prod(RESULTAT,**args):
13013   if AsType(RESULTAT) == evol_elas    : return evol_elas
13014   if AsType(RESULTAT) == evol_noli    : return evol_noli
13015   if AsType(RESULTAT) == evol_ther    : return evol_ther
13016   if AsType(RESULTAT) == dyna_trans   : return dyna_trans
13017   if AsType(RESULTAT) == dyna_harmo   : return dyna_harmo
13018   if AsType(RESULTAT) == acou_harmo   : return acou_harmo
13019   if AsType(RESULTAT) == mode_meca    : return mode_meca
13020   if AsType(RESULTAT) == mode_acou    : return mode_acou
13021   if AsType(RESULTAT) == mode_stat :    return mode_stat
13022   if AsType(mode_stat) == mode_stat_depl :    return mode_stat_depl
13023   if AsType(mode_stat) == mode_stat_acce :    return mode_stat_acce
13024   if AsType(mode_stat) == mode_stat_forc :    return mode_stat_forc
13025   if AsType(RESULTAT) == mult_elas    : return mult_elas
13026   if AsType(RESULTAT) == fourier_elas : return fourier_elas
13027   raise AsException("type de concept resultat non prevu")
13028
13029 EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f',
13030             UIinfo={"groupes":("Résultats et champs",)},
13031          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,
13032                                                mode_acou,mode_stat_depl,mode_stat_acce,mode_stat_forc,evol_ther,evol_noli,
13033                                                mult_elas,fourier_elas ) ),
13034
13035          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
13036                                    fr="Liste des paramètres de sensibilité.",
13037                                    ang="List of sensitivity parameters"),
13038
13039          ARCHIVAGE       =FACT(statut='f',
13040            regles=(  UN_PARMI('NUME_ORDRE', 'INST', 'FREQ', 'NUME_MODE',
13041                         'NOEUD_CMP', 'LIST_INST', 'LIST_FREQ', 'LIST_ORDRE',
13042                         'NOM_CAS', 'LIST_ARCH', 'PAS_ARCH' ),
13043                      EXCLUS( 'CHAM_EXCLU','NOM_CHAM' ),   ),
13044            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
13045            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()),
13046            PRECISION       =SIMP(statut='f',typ='R',defaut=1.E-3 ),
13047            CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),defaut="RELATIF"),
13048            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
13049            PAS_ARCH        =SIMP(statut='f',typ='I'),
13050            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13051            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
13052            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13053            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
13054            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13055            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
13056            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13057            NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
13058            NOM_CAS         =SIMP(statut='f',typ='TXM'),
13059                                ),
13060
13061          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
13062 )  ;
13063 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13064 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13065 # ======================================================================
13066 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
13067 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13068 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13069 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13070 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13071 #                                                                       
13072 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13073 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13074 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13075 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13076 #                                                                       
13077 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13078 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13079 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13080 # ======================================================================
13081 def extr_table_prod(TYPE_RESU,**args):
13082   if TYPE_RESU == "MATR_ASSE_GENE_R" : return matr_asse_gene_r
13083   raise AsException("type de concept resultat non prevu")
13084
13085 EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n',
13086             UIinfo={"groupes":("Résultats et champs",)},
13087
13088          TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("MATR_ASSE_GENE_R",) ),
13089
13090          TABLE           =SIMP(statut='o',typ=table_sdaster),
13091
13092          NOM_PARA        =SIMP(statut='o',typ='TXM'),
13093
13094          FILTRE          =FACT(statut='f',min=1,max='**',
13095            NOM_PARA        =SIMP(statut='o',typ='TXM'),
13096            CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
13097                                  into=("EQ","LT","GT","NE","LE","GE","VIDE",
13098                                        "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
13099            b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
13100               regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
13101               VALE            =SIMP(statut='f',typ='R'),
13102               VALE_I          =SIMP(statut='f',typ='I'),
13103               VALE_C          =SIMP(statut='f',typ='C'),
13104               VALE_K          =SIMP(statut='f',typ='TXM'),),
13105
13106            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
13107            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
13108          ),
13109
13110          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
13111 )  ;
13112 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13113 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13114 # ======================================================================
13115 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13116 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13117 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13118 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13119 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13120 #
13121 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13122 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13123 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13124 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13125 #
13126 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13127 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13128 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13129 # ======================================================================
13130 def fact_grad_prod(MATR_ASSE,**args):
13131   if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
13132   if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
13133   if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
13134   raise AsException("type de concept resultat non prevu")
13135
13136 FACT_GRAD=OPER(nom="FACT_GRAD",op=85,sd_prod=fact_grad_prod,
13137             UIinfo={"groupes":("Résolution",)},
13138                fr="Préconditionnement pour résolution par gradient conjugué",
13139                reentrant='n',
13140          MATR_ASSE       =SIMP(statut='o',
13141                                typ=(matr_asse_depl_r,matr_asse_temp_r,
13142                                     matr_asse_pres_r) ),
13143          PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LDLT_INC",into=("LDLT_INC",) ),
13144          NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),  
13145          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
13146 )  ;
13147 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13148 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13149 # ======================================================================
13150 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13151 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13152 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13153 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13154 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13155 #
13156 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13157 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13158 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13159 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13160 #
13161 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13162 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13163 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13164 # ======================================================================
13165 # RESPONSABLE VABHHTS J.PELLET
13166 def fact_ldlt_prod(MATR_ASSE,**args):
13167   if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
13168   if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c
13169   if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
13170   if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c
13171   if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
13172   if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c
13173   raise AsException("type de concept resultat non prevu")
13174
13175 FACT_LDLT=OPER(nom="FACT_LDLT",op=14,sd_prod=fact_ldlt_prod,fr="Factorisation en place ou hors place",
13176                reentrant='f',
13177             UIinfo={"groupes":("Résolution",)},
13178          regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'),
13179                  EXCLUS('BLOC_FIN','DDL_FIN'),),
13180          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
13181                                                matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
13182          STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
13183          NPREC           =SIMP(statut='f',typ='I',defaut=8,val_min=0,),
13184          PRE_COND        =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","DIAG") ),
13185          BLOC_DEBUT      =SIMP(statut='f',typ='I',val_min=1,),
13186          DDL_DEBUT       =SIMP(statut='f',typ='I',val_min=1,),
13187          BLOC_FIN        =SIMP(statut='f',typ='I',val_min=1,),
13188          DDL_FIN         =SIMP(statut='f',typ='I',val_min=1,),
13189 #
13190          EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13191 #
13192          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
13193          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
13194 )  ;
13195 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
13196 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13197 # ======================================================================
13198 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13199 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13200 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13201 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13202 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13203 #
13204 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13205 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13206 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13207 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13208 #
13209 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13210 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13211 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13212 # ======================================================================
13213 FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude",
13214             UIinfo={"groupes":("Gestion du travail",)},
13215          FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
13216                                typ='TXM',defaut="NON",into=("OUI","NON",) ), 
13217          RETASSAGE       =SIMP(fr="provoque le retassage de la base GLOBALE",
13218                                statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
13219          PERFORMANCE     =SIMP(fr="provoque l'impression d'un résumé des mesures de temps ",
13220                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
13221          INFO_RESU       =SIMP(fr="provoque l'impression des informations sur les structures de données",
13222                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
13223          UNITE           =SIMP(statut='f',typ='I',defaut=6),  
13224 )  ;
13225 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13226 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13227 # ======================================================================
13228 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13229 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13230 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13231 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13232 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13233 #
13234 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13235 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13236 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13237 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13238 #
13239 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13240 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13241 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13242 # ======================================================================
13243 FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster,
13244                     reentrant='n',
13245             UIinfo={"groupes":("Fonction",)},
13246          TYPE_FLUI_STRU  =SIMP(statut='o',typ=(type_flui_stru) ),
13247 )  ;
13248 #& MODIF COMMANDE  DATE 22/11/2004   AUTEUR DURAND C.DURAND 
13249 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13250 # ======================================================================
13251 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13252 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13253 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13254 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13255 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13256 #
13257 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13258 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13259 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13260 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13261 #
13262 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13263 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13264 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13265 # ======================================================================
13266 def form_pyth_ops(self,d):
13267   import types,string
13268   NOM_PARA=self.etape['NOM_PARA']
13269   VALE    =self.etape['VALE']
13270   if type(NOM_PARA) not in (types.ListType,types.TupleType) : NOM_PARA=[NOM_PARA,]
13271   if self.sd==None : return
13272   texte=string.join(VALE.splitlines())
13273
13274   self.sd.setFormule(NOM_PARA,string.strip(texte))
13275
13276 FORMULE=FORM(nom="FORMULE",op_init=form_pyth_ops,op=-5,
13277              sd_prod=formule,UIinfo={"groupes":("Fonction",)},
13278          VALE     =SIMP(statut='f',typ='TXM'),
13279          NOM_PARA =SIMP(statut='o',typ='TXM',max='**'),
13280 );
13281 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13282 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13283 # ======================================================================
13284 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13285 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13286 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13287 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13288 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13289 #
13290 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13291 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13292 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13293 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13294 #
13295 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13296 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13297 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13298 # ======================================================================
13299 # RESPONSABLE CAMBIER S.CAMBIER
13300 GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_sdaster,
13301                     fr="Génération de la fonction temporelle à partir d une matrice interspectrale",
13302                     reentrant='n',
13303             UIinfo={"groupes":("Fonction",)},
13304          INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
13305          NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
13306          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ),
13307          b_interpol_oui    =BLOC(condition = "INTERPOL == 'OUI' ",fr="Parametres cas interpolation autorisee",
13308            DUREE_TIRAGE    =SIMP(statut='f',typ='R' ),
13309            FREQ_INIT       =SIMP(statut='f',typ='R' ),
13310            FREQ_FIN        =SIMP(statut='f',typ='R' ),
13311              ),
13312          NB_POIN         =SIMP(statut='f',typ='I'),
13313          NB_TIRAGE       =SIMP(statut='f',typ='I',defaut= 1 ),
13314          INIT_ALEA       =SIMP(statut='f',typ='I'),
13315          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
13316          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
13317 )  ;
13318 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13319 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13320 # ======================================================================
13321 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
13322 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13323 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13324 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13325 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13326 #                                                                       
13327 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13328 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13329 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13330 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13331 #                                                                       
13332 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13333 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13334 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13335 # ======================================================================
13336 # RESPONSABLE CAMBIER S.CAMBIER
13337 GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op=  27,sd_prod=matr_asse_gene_r,
13338                fr="Generateur de matrice aleatoire",
13339                reentrant='n',
13340             UIinfo={"groupes":("Fonction",)},
13341    MATR_MOYEN   = SIMP(statut='o', typ=matr_asse_gene_r),
13342    COEF_VAR     = SIMP(statut='f', typ='R', defaut=0.1),
13343    INIT_ALEA    =SIMP(statut='f',typ='I'),
13344 ) ;
13345    
13346 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13347 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13348 # ======================================================================
13349 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
13350 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13351 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13352 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13353 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13354 #                                                                       
13355 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13356 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13357 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13358 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13359 #                                                                       
13360 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13361 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13362 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13363 # ======================================================================
13364 # RESPONSABLE CAMBIER S.CAMBIER
13365 GENE_VARI_ALEA=OPER(nom="GENE_VARI_ALEA",op=  28,sd_prod=table_sdaster,
13366                fr="Generateur de variable aleatoire",
13367                reentrant='n',
13368             UIinfo={"groupes":("Fonction",)},
13369    TYPE       = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"),
13370    b_gamma    =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma",
13371            VALE_MOY   = SIMP(statut='f', typ='R', defaut=1.),
13372            BORNE_INF  = SIMP(statut='f', typ='R', defaut=0.),
13373            COEF_VAR   = SIMP(statut='f', typ='R', defaut=0.1),
13374              ),
13375    b_expo    =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle",
13376            VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
13377            BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
13378              ),
13379    b_expo_tronq    =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee",
13380            VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
13381            BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
13382            BORNE_SUP  = SIMP(statut='f', typ='R', defaut=1.),
13383            COEF_VAR   = SIMP(statut='f', typ='R', defaut=0.1),
13384              ),
13385    INIT_ALEA       =SIMP(statut='f',typ='I'),
13386 ) ;
13387    
13388 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13389 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13390 # ======================================================================
13391 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13392 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13393 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13394 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13395 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13396 #
13397 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13398 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13399 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13400 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13401 #
13402 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13403 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13404 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13405 # ======================================================================
13406 IMPR_CLASSI=PROC(nom="IMPR_CLASSI",op= 114,
13407             UIinfo={"groupes":("Fonction",)},
13408          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ',
13409                         'LIST_ORDRE' ),),
13410          UNITE_CLASSI    =SIMP(statut='o',typ='I' ),
13411          MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
13412          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13413          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13414          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
13415          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13416          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13417          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
13418          b_prec_crit     =BLOC(condition = "LIST_FREQ != None or FREQ != None",
13419              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
13420              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
13421                                    into=("RELATIF","ABSOLU") ),
13422          ),
13423          IMPRESSION      =FACT(statut='f',max='**',
13424            regles=(UN_PARMI('NOEUD','GROUP_NO', ),),
13425            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
13426            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
13427            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
13428          ),
13429          AMOR            =SIMP(statut='o',typ='R',max='**'),
13430 )  ;
13431 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
13432 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13433 # ======================================================================
13434 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13435 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13436 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13437 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13438 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13439 #
13440 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13441 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13442 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13443 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13444 #
13445 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13446 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13447 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13448 # ======================================================================
13449 # RESPONSABLE VABHHTS J.PELLET
13450 IMPR_CO=PROC(nom="IMPR_CO",op=17,
13451             UIinfo={"groupes":("Impression",)},
13452              fr="Impression du contenu d un concept utilisateur (pour développeur)",
13453          regles=(UN_PARMI('CO','CHAINE', ),),
13454          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
13455          NIVEAU          =SIMP(statut='f',typ='I',defaut=2,into=(0,1,2) ),
13456          ATTRIBUT        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ),
13457          CONTENU         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ),
13458          BASE            =SIMP(statut='f',typ='TXM',defaut="G",into=("","G","V","L") ),
13459          CO              =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'),
13460          CHAINE          =SIMP(statut='f',typ='TXM'),
13461          POSITION        =SIMP(statut='f',typ='I',defaut=1),
13462 )  ;
13463 #& MODIF COMMANDE  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
13464 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13465 # ======================================================================
13466 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13467 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13468 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13469 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13470 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13471 #
13472 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13473 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13474 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13475 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13476 #
13477 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13478 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13479 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13480 # ======================================================================
13481 # RESPONSABLE GNICOLAS G.NICOLAS
13482 IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b",
13483             UIinfo={"groupes":("Fonction",)},
13484                     fr="Imprime le fichier de configuration de HOMARD.",
13485                     ang="Writes the configuration file for HOMARD.",
13486 #
13487 # 1. Le niveau d'information
13488 #
13489          INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
13490 #
13491 # 2. Langue des messages issus de HOMARD
13492 #
13493          LANGUE =SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
13494                       into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
13495                       fr="Langue des messages issus de HOMARD.",
13496                       ang="Language for HOMARD messages." ),
13497 #
13498 # 3. Le nom local du fichier de configuration HOMARD
13499 #
13500          UNITE_CONF    =SIMP(statut='o',typ='I'),
13501 #
13502 # 4. Le nom local du fichier de données HOMARD
13503 #
13504          UNITE_DONN    =SIMP(statut='f',typ='I'),
13505 #
13506 # 5. Gestion des éléments autres que des simplexes
13507 #       0 : autres elements refuses (defaut)
13508 #       1 : raffinement sur les simplexes, mais autres acceptes
13509 #       2 : tous
13510 #
13511          NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=0,into=(0,1,2),
13512                           fr="Type d'éléments acceptés.",
13513                           ang="Type of authorized elements." ),
13514 #
13515 # 6. Le type de traitement :
13516 #
13517          TRAITEMENT      =FACT(statut='o',
13518 #
13519 # 6.1. TROIS CHOIX EXCLUSIFS :
13520 #
13521 #      A. ADAPTATION PAR UN INDICATEUR D'ERREUR, AVEC TROIS VARIANTES :
13522 #         . RAFFINEMENT ET DERAFFINEMENT
13523 #         . RAFFINEMENT SEUL
13524 #         . DERAFFINEMENT SEUL
13525 #      B. ADAPTATION UNIFORME, AVEC DEUX VARIANTES :
13526 #         . RAFFINEMENT SEUL
13527 #         . DERAFFINEMENT SEUL
13528 #         . RIEN : LE MAILLAGE EST LE MEME A LA SORTIE ET A L'ENTREE
13529 #      C. INFORMATION SUR UN MAILLAGE
13530 #
13531            regles=( UN_PARMI('ADAPTATION','UNIFORME','INFORMATION'),),
13532            ADAPTATION      =SIMP(statut='f',typ='TXM',     
13533                                  fr="Adaptation libre",
13534                                  ang="Free adaptation",
13535                                  into=("RAFFINEMENT","DERAFFINEMENT","RAFF_DERA") ),
13536            UNIFORME        =SIMP(statut='f',typ='TXM',     
13537                                  fr="Adaptation uniforme",
13538                                  ang="Uniforme adaptation",
13539                                  into=("RAFFINEMENT","DERAFFINEMENT","RIEN") ),
13540            INFORMATION     =SIMP(statut='f',typ='TXM',
13541                                  fr="Information sur un maillage",
13542                                  ang="Information on a mesh",
13543                                  into=("OUI",) ),
13544 #
13545 # 6.2. LES CONTRAINTES :
13546 #
13547 # 6.2.1. POUR DE L'ADAPTATION LIBRE, IL FAUT :
13548 #      A. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13549 #      B. LE NOM MED DU MAILLAGE D'ENTREE
13550 #      C. LE NOM MED DE L'INDICATEUR D'ERREUR
13551 #      D. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13552 #      E. LA MISE A JOUR DE SOLUTION
13553 #      F. LE NOM MED DU MAILLAGE DE SORTIE
13554 #      REMARQUE : IL FAUT DES CRITERES, MAIS ON NE SAIT PAS LESQUELS
13555 #
13556 # 6.2.2. POUR DE L'ADAPTATION UNIFORME
13557 #          IL FAUT :
13558 #      A. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13559 #      B. LE NOM MED DU MAILLAGE DE SORTIE
13560 #          IL NE FAUT PAS :
13561 #      A. LE NOM MED DE L'INDICATEUR D'ERREUR
13562 #      B. LE NOM DE LA COMPOSANTE DE L'INDICATEUR D'ERREUR
13563 #      C. LES CRITERES
13564 #      REMARQUE : A L'ITERATION 0, OU AUX ITERATIONS SUIVANTES SI MAJ DE SOLUTION,
13565 #                 IL FAUT LE NOM MED DU MAILLAGE D'ENTREE
13566 #
13567 # 6.2.3. POUR DE L'INFORMATION :
13568 #          IL FAUT :
13569 #      A. LE NOM MED DU MAILLAGE D'ENTREE
13570 #          IL NE FAUT PAS :
13571 #      A. LE NOM MED DE L'INDICATEUR D'ERREUR
13572 #      B. LE NOM DE LA COMPOSANTE DE L'INDICATEUR D'ERREUR
13573 #      C. LES CRITERES
13574 #      D. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13575 #      E. LA MISE A JOUR DE SOLUTION
13576 #
13577            b_maillage_initial =BLOC(condition = "( INFORMATION != None ) or ( ADAPTATION != None ) ",
13578                            fr="Nom MED du maillage en entrée",
13579                            ang="MED name of the in-mesh",
13580                            NOM_MED_MAILLAGE_N   =SIMP(statut='o',typ='TXM',),
13581                            ) ,
13582 #
13583            b_maillage_initial_uniforme =BLOC(condition = "( UNIFORME != None ) ",
13584                            fr="Nom MED du maillage en entrée",
13585                            ang="MED name of the in-mesh",
13586                            NOM_MED_MAILLAGE_N   =SIMP(statut='f',typ='TXM',),
13587                            ) ,
13588 #
13589            b_iteration =BLOC(condition = "( UNIFORME != None ) or ( ADAPTATION != None ) ",
13590                            fr="Nom MED du maillage en sortie, numero d'iteration",
13591                            ang="MED name of the out-mesh, iteration rank",
13592                            NITER                =SIMP(statut='o',typ='I',
13593                            fr="Numéro d'itération.",
13594                            ang="Iteration number." ),
13595                            NOM_MED_MAILLAGE_NP1 =SIMP(statut='o',typ='TXM',
13596                            fr="Nom MED du maillage en sortie",
13597                            ang="MED name of the out-mesh" ),
13598                            ) ,
13599 #
13600            b_indicateur_d_erreur  =BLOC(condition = "ADAPTATION != None",
13601                            fr="Indicateur d'erreur",
13602                            ang="Error indicator",
13603                            regles=(AU_MOINS_UN('NUME_ORDRE','INST','RESULTAT'),
13604                                    EXCLUS('NUME_ORDRE','INST'),
13605                                    EXCLUS('NUME_ORDRE','RESULTAT'),
13606                                    PRESENT_PRESENT('RESULTAT','NOM_CHAM'),),
13607                            NOM_MED  =SIMP(statut='o',typ='TXM',
13608                            fr="Nom MED de l'indicateur d'erreur.",
13609                            ang="MED name of error indicator.",),
13610                            COMPOSANTE  =SIMP(statut='o',typ='TXM',
13611                            fr="Nom de la composante de l'indicateur d'erreur retenue.",
13612                            ang="Name of the selected component of the error indicator.",),
13613                            NUME_ORDRE  =SIMP(statut='f',typ='I',
13614                            fr="Numero d'ordre de l'indicateur.",
13615                            ang="Rank number of the error indicator.",),
13616                            INST        =SIMP(statut='f',typ='R',
13617                            fr="Instant de l'indicateur.",
13618                            ang="Instant of the error indicator.",),
13619                            b_precision     =BLOC(condition="(INST != None)",
13620                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
13621                              fr="Précision sur le choix de l'instant associé",
13622                              ang="Accuracy over instant choice" ),
13623                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
13624                              fr="Critère de précision sur le choix de l'instant associé",
13625                              ang="Accuracy criterium over instant choice" ),),
13626                            RESULTAT  =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther),
13627                            fr="Concept contenant l'indicateur.",
13628                            ang="Conceipt wich contains the error indicator.",),
13629                            NOM_CHAM  =SIMP(statut='f',typ='TXM',
13630                            fr="Nom du champ dans le résultat de l'indicateur.",
13631                            ang="Name of the field of the error indicator.",),
13632                            ) ,
13633 #
13634            b_critere_de_raffinement =BLOC( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' )" ,
13635                            fr="Critère de raffinement.",
13636                            ang="Refinement threshold.",
13637                            regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),),
13638                            CRIT_RAFF_ABS   =SIMP(statut='f',typ='R',
13639                                                  fr="Critère absolu",
13640                                                  ang="Absolute threshold"  ),
13641                            CRIT_RAFF_REL   =SIMP(statut='f',typ='R',
13642                                                  fr="Critère relatif",
13643                                                  ang="Relative threshold" ),
13644                            CRIT_RAFF_PE    =SIMP(statut='f',typ='R',
13645                                                  fr="Pourcentage d'éléments",
13646                                                  ang="Percentage of elements" ),
13647                            ) ,
13648 #
13649            b_critere_de_deraffinement =BLOC ( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' )" ,
13650                            fr="Critère de déraffinement.",
13651                            ang="Unrefinement threshold.",
13652                            regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),),
13653                            CRIT_DERA_ABS   =SIMP(statut='f',typ='R' ,
13654                                                  fr="Critère absolu",
13655                                                  ang="Absolute threshold" ),
13656                            CRIT_DERA_REL   =SIMP(statut='f',typ='R',
13657                                                  fr="Critère relatif",
13658                                                  ang="Relative threshold" ),
13659                            CRIT_DERA_PE    =SIMP(statut='f',typ='R',
13660                                                  fr="Pourcentage d'éléments",
13661                                                  ang="Percentage of elements" ),
13662                            ) ,
13663 #
13664            b_niveau_maximum =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' ) or \
13665                                                   ( UNIFORME == 'RAFFINEMENT' )" ,
13666                            NIVE_MAX        =SIMP(statut='f',typ='I',
13667                                                  fr="Niveau maximum de profondeur de raffinement",
13668                                                  ang="Maximum level for refinement"),
13669                            ) ,
13670 #
13671            b_niveau_minimum =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' ) or \
13672                                                   ( UNIFORME == 'DERAFFINEMENT' )" ,
13673                            NIVE_MIN        =SIMP(statut='f',typ='I',
13674                                                  fr="Niveau minimum de déraffinement",
13675                                                  ang="Minimum level for unrefinement" ),
13676                            ) ,
13677 #
13678 # 6.3. Le suivi de frontiere eventuel :
13679 #
13680          NOM_MED_MAILLAGE_FRONTIERE =SIMP(statut='f',typ='TXM',
13681                            fr="Nom MED du maillage de la frontiere à suivre",
13682                            ang="MED name of the boundary mesh" ),
13683 #
13684          b_frontiere_1 =BLOC ( condition = "NOM_MED_MAILLAGE_FRONTIERE != None" ,
13685                            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
13686                                                  fr="Groupes définissant la frontière",
13687                                                  ang="Groups which define the boundary" ),
13688                                ) ,
13689 #
13690          ),
13691 #
13692 # 7. Mise à jour de champs sur le nouveau maillage
13693 #
13694          MAJ_CHAM        =FACT(statut='f',max='**',
13695                            fr="Mise à jour de champs sur le nouveau maillage.",
13696                            ang="Updating of fields over the new mesh.",
13697                            regles=(AU_MOINS_UN('NUME_ORDRE','INST','RESULTAT'),
13698                                    EXCLUS('NUME_ORDRE','INST'),
13699                                    EXCLUS('NUME_ORDRE','RESULTAT'),
13700                                    PRESENT_PRESENT('RESULTAT','NOM_CHAM'),),
13701                            NOM_MED  =SIMP(statut='o',typ='TXM',
13702                            fr="Nom MED du champ à mettre à jour.",
13703                            ang="MED name of field.",),
13704                            NUME_ORDRE  =SIMP(statut='f',typ='I',
13705                            fr="Numero d'ordre du champ à mettre à jour.",
13706                            ang="Rank number of field.",),
13707                            INST        =SIMP(statut='f',typ='R',
13708                            fr="Instant du champ à mettre à jour.",
13709                            ang="Instant of field.",),
13710                            b_precision     =BLOC(condition="(INST != None)",
13711                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
13712                              fr="Précision sur le choix de l'instant associé",
13713                              ang="Accuracy over instant choice" ),
13714                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
13715                              fr="Critère de précision sur le choix de l'instant associé",
13716                              ang="Accuracy criterium over instant choice" ),),
13717                            RESULTAT  =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther),
13718                            fr="Concept contenant le champ à mettre à jour.",
13719                            ang="Conceipt wich contains the field.",),
13720                            NOM_CHAM  =SIMP(statut='f',typ='TXM',
13721                            fr="Nom du champ dans le résultat du champ à mettre à jour.",
13722                            ang="Name of the field.",),
13723          ),
13724 #
13725 # 8. L'ANALYSE DU MAILLAGE
13726 #
13727          ANALYSE         =FACT(statut='f',
13728                                fr="Analyse du maillage.",
13729                                ang="Mesh analysis.",
13730 #
13731 #    5 CHOIX NON EXCLUSIFS, AVEC DEUX VARIANTES (OUI/NON) :
13732 #    A. NOMBRE DES ELEMENTS
13733 #    B. QUALITE DES ELEMENTS
13734 #    C. INTERPENETRATION DES ELEMENTS
13735 #    D. CONNEXITE DU MAILLAGE
13736 #    E. TAILLE DES DIFFERENTS SOUS-DOMAINES
13737 #
13738            regles=(AU_MOINS_UN('NOMBRE','QUALITE','INTERPENETRATION','CONNEXITE','TAILLE'),),
13739 #
13740          NOMBRE          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
13741                           fr="Nombre de noeuds et éléments du maillage",
13742                           ang="Number of nodes and elements in the mesh" ),
13743 #
13744          QUALITE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13745                           fr="Qualité du maillage",
13746                           ang="Mesh quality" ),
13747 #
13748          INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13749                           fr="Controle de la non interpénétration des éléments.",
13750                           ang="Overlapping checking." ),
13751 #
13752          CONNEXITE       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13753                           fr="Connexité du maillage.",
13754                           ang="Mesh connexity." ),
13755 #
13756          TAILLE          =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13757                           fr="Tailles des sous-domaines du maillage.",
13758                           ang="Sizes of mesh sub-domains." ),
13759 #
13760          ),
13761 #
13762 )  ;
13763 #& MODIF COMMANDE  DATE 15/11/2004   AUTEUR MCOURTOI M.COURTOIS 
13764 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13765 # ======================================================================
13766 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
13767 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13768 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13769 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13770 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13771 #                                                                       
13772 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13773 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13774 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13775 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13776 #                                                                       
13777 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13778 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13779 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13780 # ======================================================================
13781 # RESPONSABLE MCOURTOI M.COURTOIS
13782 from Macro.impr_fonction_ops import impr_fonction_ops
13783
13784 IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",op=impr_fonction_ops,sd_prod=None,
13785                  fr="Impression de fonctions sur fichiers, les valeurs ayant été récupérées par RECU_FONCTION",
13786             UIinfo={"groupes":("Fonction",)},
13787          FORMAT          =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU',
13788                                into=("TABLEAU","AGRAF","XMGRACE",),),
13789          b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'",
13790                         fr="Mots-clés propres à XMGRACE",
13791            PILOTE          =SIMP(statut='f',typ='TXM',defaut='',
13792                                  into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
13793                             fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
13794            UNITE           =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
13795                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
13796          ),
13797          b_agraf = BLOC(condition = "FORMAT == 'AGRAF'",
13798                         fr="Mots-clés propres à AGRAF",
13799            UNITE           =SIMP(statut='o',typ='I',defaut=25,
13800                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
13801            UNITE_DIGR      =SIMP(statut='o',typ='I',defaut=26,
13802                                  fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"),
13803          ),
13804          # unite pour TABLEAU dans le bloc de mise en forme spécifique
13805
13806          COURBE          =FACT(statut='o',max='**',fr="Définition de la fonction à tracer",
13807            regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),),
13808            FONCTION        =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster),
13809                                  fr="Fonction réelle ou complexe", ),
13810            LIST_RESU       =SIMP(statut='f',typ=listr8_sdaster,
13811                                  fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ),
13812            FONC_X          =SIMP(statut='f',typ=(fonction_sdaster,formule),
13813                                  fr="Fonction abscisses d'une fonction paramétrique",),
13814            ABSCISSE        =SIMP(statut='f',typ='R',max='**',
13815                                  fr="Valeurs des abscisses", ),
13816            b_fonction      =BLOC(condition = "FONCTION != None",
13817              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
13818            ),
13819            b_fonction_c  =BLOC(condition = "AsType(FONCTION) == fonction_c",
13820                                  fr="Fonction complexe définie par le mot-clé fonction",
13821              PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
13822            ),
13823            b_list_resu     =BLOC(condition = "LIST_RESU != None",
13824              LIST_PARA       =SIMP(statut='o',typ=listr8_sdaster ),
13825            ),
13826            b_fonc_x        =BLOC(condition = "FONC_X != None",
13827              FONC_Y          =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ),
13828              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
13829            ),
13830            b_vale_resu     =BLOC(condition = "ABSCISSE != None",
13831              ORDONNEE      =SIMP(statut='o',typ='R',max='**',
13832                                  fr="Valeurs des ordonnées"),
13833            ),
13834
13835            # le bloc n'est pas activé (vide) car position n'est pas pris en compte
13836            b_forme         =BLOC(condition = "FORMAT != 'TABLEAU'",
13837                                  fr="Données de mise en forme de la fonction (cf. doc)",
13838            ),
13839               LEGENDE         =SIMP(statut='f',typ='TXM',
13840                                     fr="Légende associée à la fonction" ),
13841               STYLE           =SIMP(statut='f',typ='I',val_min=0,
13842                                     fr="Style de la ligne représentant la fonction",),
13843               COULEUR         =SIMP(statut='f',typ='I',val_min=0,
13844                                     fr="Couleur associée à la fonction",),
13845               MARQUEUR        =SIMP(statut='f',typ='I',val_min=0,
13846                                     fr="Type du marqueur associé à la fonction",),
13847               FREQ_MARQUEUR   =SIMP(statut='f',typ='I',defaut=0,
13848                                     fr="Fréquence d impression du marqueur associé à la fonction", ),
13849            # fin bloc b_forme
13850            TRI             =SIMP(statut='f',typ='TXM',defaut="N",
13851                                  fr="Choix du tri effectué sur les abscisses ou sur les ordonnées",
13852                                  into=("N","X","Y","XY","YX") ),
13853          ),
13854          # Mise en page du tableau ou du graphique
13855          b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'",
13856                           fr="Mots-clés propres au format Tableau",
13857            UNITE           =SIMP(statut='o',typ='I',defaut=8,
13858                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
13859            TITRE           =SIMP(statut='f',typ='TXM',
13860                                  fr="Titre associé au graphique" ),
13861            SOUS_TITRE      =SIMP(statut='f',typ='TXM',
13862                                  fr="Sous-titre du graphique" ),
13863            SEPARATEUR      =SIMP(statut='f',typ='TXM',defaut=' ',
13864                                  fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"),
13865            COMMENTAIRE     =SIMP(statut='f',typ='TXM',defaut='#',
13866                                  fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"),
13867            DEBUT_LIGNE     =SIMP(statut='f',typ='TXM',defaut='',
13868                                  fr="Caractère de debut de ligne"),
13869            FIN_LIGNE       =SIMP(statut='f',typ='TXM',defaut='\n',
13870                                  fr="Caractère de fin de ligne"),
13871          ),
13872          b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'",
13873                         fr="Mise en page du graphique",
13874            TITRE           =SIMP(statut='f',typ='TXM',
13875                                  fr="Titre associé au graphique" ),
13876            SOUS_TITRE      =SIMP(statut='f',typ='TXM',
13877                                  fr="Sous-titre du graphique" ),
13878            BORNE_X         =SIMP(statut='f',typ='R',min=2,max=2,
13879                                  fr="Intervalles de variation des abscisses"),
13880            BORNE_Y         =SIMP(statut='f',typ='R',min=2,max=2,
13881                                  fr="Intervalles de variation des ordonnées"),
13882            ECHELLE_X       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
13883                                  fr="Type d'échelle pour les abscisses" ),
13884            ECHELLE_Y       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
13885                                  fr="Type d'échelle pour les ordonnées" ),
13886            GRILLE_X        =SIMP(statut='f',typ='R',max=1,val_min=0.,
13887                                  fr="Pas du quadrillage vertical" ),
13888            GRILLE_Y        =SIMP(statut='f',typ='R',max=1,val_min=0.,
13889                                  fr="Pas du quadrillage horizontal" ),
13890            LEGENDE_X       =SIMP(statut='f',typ='TXM',
13891                                  fr="Légende associée à l'axe des abscisses" ),
13892            LEGENDE_Y       =SIMP(statut='f',typ='TXM',
13893                                  fr="Légende associée à l'axe des ordonnées" ),
13894          ),
13895          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
13896 )  ;
13897 #& MODIF COMMANDE  DATE 17/11/2005   AUTEUR NICOLAS O.NICOLAS 
13898 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13899 # ======================================================================
13900 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13901 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13902 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13903 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13904 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13905 #
13906 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13907 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13908 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13909 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13910 #
13911 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13912 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13913 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13914 # ======================================================================
13915 IMPR_GENE=PROC(nom="IMPR_GENE",op= 157,
13916                fr="Calcul du dommage subi par une structure soumise à une sollicitation de type aléatoire",
13917             UIinfo={"groupes":("Impression",)},
13918          GENE            =FACT(statut='o',max='**',
13919            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
13920                           'LIST_INST','LIST_FREQ','TOUT_MODE','TOUT_INST','LIST_ORDRE'),
13921                    EXCLUS('TOUT_MODE','NUME_ORDRE','INST','FREQ','NUME_MODE',
13922                           'LIST_INST','LIST_FREQ','TOUT_ORDRE','TOUT_INST','LIST_ORDRE'),
13923                    EXCLUS('TOUT_INST','NUME_ORDRE','INST','FREQ','NUME_MODE',
13924                           'LIST_INST','LIST_FREQ','TOUT_ORDRE','LIST_ORDRE'),
13925                    EXCLUS('TOUT_CMP_GENE','NUME_CMP_GENE'),
13926                    EXCLUS('TOUT_CHAM','NOM_CHAM'),
13927                    EXCLUS('TOUT_PARA','NOM_PARA'),),
13928 #  faut-il faire des blocs selon le type de RESU_GENE                   
13929            RESU_GENE       =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)),
13930            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ),
13931            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
13932            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13933            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13934            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
13935            TOUT_MODE       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13936            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13937            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13938            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
13939            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13940            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13941            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
13942            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
13943            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
13944                                    into=("RELATIF","ABSOLU") ),
13945            TOUT_CMP_GENE   =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13946            NUME_CMP_GENE   =SIMP(statut='f',typ='I',max='**'),
13947            TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13948            NOM_CHAM        =SIMP(statut='f',typ='TXM',max='**'),
13949            TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13950            NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
13951            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
13952            INFO_CMP_GENE   =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13953            INFO_GENE       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13954          ),
13955 )  ;
13956 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
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_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,
13975             UIinfo={"groupes":("Impression",)},
13976                  fr="Impression de caractéristiques d'objets JEVEUX (pour développeur)",
13977          ENTITE          =SIMP(fr="choix de l'observation",statut='o',typ='TXM',
13978                                into=("DISQUE","MEMOIRE","REPERTOIRE",    
13979                                      "OBJET","ATTRIBUT","SYSTEME") ),
13980          b_objet      =BLOC(condition = "(ENTITE=='OBJET')",
13981             NOMOBJ          =SIMP(fr="nom d'objet",statut='f',typ='TXM' ),  
13982             NUMOC           =SIMP(fr="numéro d objet de collection",statut='f',typ='I' ),  
13983             NOMOC           =SIMP(fr="nom d'objet de collection",statut='f',typ='TXM' ),  
13984          ),
13985          b_attribut   =BLOC(condition = "(ENTITE=='ATTRIBUT')",
13986             NOMOBJ          =SIMP(fr="nom de collection",statut='f',typ='TXM' ),  
13987             NOMATR          =SIMP(fr="nom d attribut de collection",statut='f',typ='TXM',
13988                                   into=('$$DESO','$$IADD','$$IADM','$$NOM','$$LONG',
13989                                       '$$LONO','$$LUTI','$$NUM') ),
13990          ),
13991          b_systeme    =BLOC(condition = "(ENTITE=='SYSTEME')",
13992             CLASSE          =SIMP(statut='o',typ='TXM',into=('G','V','L') ),  
13993             NOMATR          =SIMP(fr="nom d attribut systeme",statut='f',typ='TXM',   
13994                                   into=('$$CARA','$$IADD','$$GENR','$$TYPE','$$MARQ',
13995                                       '$$DOCU','$$ORIG','$$RNOM','$$LTYP','$$LONG',
13996                                       '$$LONO','$$DATE','$$LUTI','$$HCOD','$$INDX',
13997                                       '$$TLEC','$$TECR','$$IADM','$$ACCE','$$USADI') ),
13998          ),
13999          b_repertoire =BLOC(condition = "(ENTITE=='REPERTOIRE')",
14000             CLASSE          =SIMP(statut='f',typ='TXM',into=('G','V','L',' '),defaut=' '),  
14001          ),
14002          b_disque     =BLOC(condition = "(ENTITE=='DISQUE')",
14003             CLASSE          =SIMP(statut='f',typ='TXM' ,into=('G','V','L',' '),defaut=' '),  
14004          ),
14005          IMPRESSION      =FACT(statut='f',
14006            NOM             =SIMP(statut='f',typ='TXM' ),  
14007            UNITE           =SIMP(statut='f',typ='I'),  
14008          ),
14009          COMMENTAIRE     =SIMP(statut='f',typ='TXM' ),  
14010 )  ;
14011 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
14012 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14013 # ======================================================================
14014 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14015 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14016 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14017 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14018 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14019 #
14020 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14021 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14022 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14023 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14024 #
14025 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14026 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14027 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14028 # ======================================================================
14029 IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160,
14030                     UIinfo={"groupes":("Impression",)},
14031          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
14032          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
14033                                into=("MISS_3D","IDEAS","CADYRO","PLEXUS") ),
14034
14035          b_plexus         =BLOC(condition = "FORMAT == 'IDEAS'",
14036            UNITE           =SIMP(statut='f',typ='I',defaut=30),
14037            VERSION          =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
14038          ),             
14039
14040          b_ideas         =BLOC(condition = "FORMAT == 'PLEXUS'",
14041            UNITE           =SIMP(statut='f',typ='I',defaut=30),
14042            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
14043          ),                      
14044
14045          b_miss_3d       =BLOC(condition = "FORMAT == 'MISS_3D'",
14046            regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
14047            UNITE           =SIMP(statut='f',typ='I',defaut= 26 ),
14048            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
14049            AMOR_REDUIT     =SIMP(statut='f',typ='R'  ,max='**'),
14050            LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
14051            GROUP_MA_INTERF =SIMP(statut='o',typ=grma ,max='**'),
14052            GROUP_MA_FLU_STR=SIMP(statut='f',typ=grma,max='**'),
14053            GROUP_MA_FLU_SOL=SIMP(statut='f',typ=grma,max='**'),
14054            GROUP_MA_SOL_SOL=SIMP(statut='f',typ=grma,max='**'),
14055            IMPR_MODE_MECA  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14056            IMPR_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14057          ),
14058
14059          b_cadyro        =BLOC(condition = "FORMAT == 'CADYRO'",
14060            SQUELETTE       =SIMP(statut='f',typ=squelette ),
14061            UNITE_MODE_MECA =SIMP(statut='f',typ='I',defaut= 26 ),
14062            UNITE_MODE_STAT =SIMP(statut='f',typ='I',defaut= 27 ),
14063            UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 28 ),
14064            IMPR_MODE_MECA  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14065            IMPR_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14066          ),
14067
14068 )  ;
14069 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
14070 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14071 # ======================================================================
14072 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14073 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14074 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14075 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14076 # (AT YOUR OPTION) ANY LATER VERSION.
14077 #
14078 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14079 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14080 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14081 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14082 #
14083 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14084 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14085 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14086 # ======================================================================
14087 IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159,
14088                   fr="Impression des matrices élémentaires et des matrices assemblées",
14089             UIinfo={"groupes":("Impression",)},
14090          regles=(AU_MOINS_UN('MATR_ELEM','MATR_ASSE'),),
14091
14092          MATR_ELEM       =FACT(statut='f',max='**',
14093            UNITE           =SIMP(statut='f',typ='I' ),  
14094            FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
14095                                  into=("IDEAS","RESULTAT") ),
14096          b_format_resultat  =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
14097            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
14098          ),
14099          b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
14100            UNITE           =SIMP(statut='f',typ='I',defaut=30),  
14101            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
14102          ),
14103
14104 #  créer les types matr_elem  et vect_elem
14105            MATRICE         =SIMP(statut='o',typ=(matr_elem, vect_elem)),
14106 #  Quelle regle pour TOUT, NOEUD, GROUP_NO, MAILLE, GROUP_MA
14107            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14108            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
14109            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
14110            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
14111            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
14112            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14113            GRAIN           =SIMP(statut='f',typ='TXM',defaut="VALEUR",
14114                                  into=("VALEUR","NOEUD","MAILLE") ),
14115            NB_CHIFFRE      =SIMP(statut='f',typ='I',defaut= 4 ),
14116          ),
14117          MATR_ASSE       =FACT(statut='f',max='**',
14118            UNITE           =SIMP(statut='f',typ='I' ),  
14119            FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
14120                                  into=("IDEAS","RESULTAT") ),
14121            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
14122 #  créer le type matr_elem
14123            MATRICE         =SIMP(statut='o',typ=matr_asse_gd),
14124 #  Quelle regle pour TOUT, NOEUD, GROUP_NO, MAILLE, GROUP_MA
14125            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14126            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
14127            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
14128            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
14129            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
14130            OPTION          =SIMP(statut='f',typ='TXM',defaut="SOUS_MATRICE",
14131                                  into=("SOUS_MATRICE","LIGNE","COLONNE") ),
14132            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14133            GRAIN           =SIMP(statut='f',typ='TXM',defaut="VALEUR",
14134                                  into=("VALEUR","NOEUD") ),
14135            NB_CHIFFRE      =SIMP(statut='f',typ='I',defaut= 4 ),
14136            VALE_ZERO       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
14137          ),
14138 )  ;
14139 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
14140 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14141 # ======================================================================
14142 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14143 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14144 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14145 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14146 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14147 #
14148 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14149 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14150 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14151 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14152 #
14153 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14154 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14155 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14156 # ======================================================================
14157 IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162,
14158             UIinfo={"groupes":("Impression",)},
14159          regles=(UN_PARMI('INST_INIT','FREQ_INIT'),
14160                  PRESENT_PRESENT('INST_INIT','INST_FIN'),
14161                  PRESENT_PRESENT('FREQ_INIT','FREQ_FIN'),),
14162          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
14163          EXCIT           =FACT(statut='f',max='**',
14164            regles=(UN_PARMI('FONC_MULT','COEF_MULT' ),),
14165            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
14166            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
14167            COEF_MULT       =SIMP(statut='f',typ='R' ),
14168          ),
14169          EXCIT_SOL       =FACT(statut='f',max='**',
14170            DIRECTION       =SIMP(statut='o',typ='R',min=3,max=3),
14171            FONC_SIGNAL     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
14172            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",
14173                                  into=("DEPL","VITE","ACCE","FORC",) ),
14174          ),
14175          INST_INIT       =SIMP(statut='f',typ='R' ),
14176          INST_FIN        =SIMP(statut='f',typ='R' ),
14177          FREQ_INIT       =SIMP(statut='f',typ='R' ),
14178          FREQ_FIN        =SIMP(statut='f',typ='R' ),
14179          PAS             =SIMP(statut='o',typ='R' ),
14180          UNITE           =SIMP(statut='f',typ='I',defaut= 26 ),
14181          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
14182          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14183 )  ;
14184 #& MODIF COMMANDE  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
14185 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14186 # ======================================================================
14187 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
14188 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
14189 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
14190 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
14191 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
14192 #                                                                       
14193 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
14194 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
14195 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14196 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
14197 #                                                                       
14198 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
14199 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
14200 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
14201 # ======================================================================
14202 # RESPONSABLE D6BHHAM A.M.DONORE
14203 #
14204 IMPR_OAR =PROC(nom="IMPR_OAR",op= 40,
14205                fr="Impression au format OAR",
14206                UIinfo={"groupes":("Impression",)},
14207          CARA_ELEM       =SIMP(statut='f',typ=cara_elem                          ),
14208          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster                        ),
14209          MODELE          =SIMP(statut='o',typ=modele_sdaster                          ),
14210          MAILLE          =SIMP(statut='o',typ=ma  ,validators=NoRepeat(),max=2   ),
14211          NOEUD           =SIMP(statut='o',typ=no  ,validators=NoRepeat()         ),
14212
14213          CHARGE           =FACT(statut='o',max='**',
14214
14215               NUM_CHAR        =SIMP(statut='o',typ='I'),
14216               TEMP_NOEUD      =SIMP(statut='f',typ='R',defaut=20.),
14217               TYPE            =SIMP(statut='f',typ='TXM',defaut="DILA",
14218                                  into=("POIDS","DILA","SEISME","DEPL","EFFO","STRATIF","CONDITIONNEL","COMBINAISON") ),
14219               NATURE          =SIMP(statut='f',typ='TXM',defaut="PRIMAIRE",
14220                                  into=("PRIMAIRE","SECONDAIRE","TOTAL") ),
14221               SIGNE           =SIMP(statut='f',typ='TXM',defaut="S",
14222                                  into=("S","NS") ),
14223               RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),# CO() sd a creer !!!
14224            ),
14225
14226
14227            UNITE           =SIMP(statut='f',typ='I',defaut=38),  
14228            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14229 ) ;
14230 #& MODIF COMMANDE  DATE 11/05/2005   AUTEUR CIBHHLV L.VIVAN 
14231 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14232 # ======================================================================
14233 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14234 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14235 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14236 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14237 # (AT YOUR OPTION) ANY LATER VERSION.
14238 #
14239 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14240 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14241 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14242 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14243 #
14244 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14245 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14246 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14247 # ======================================================================
14248 IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
14249             UIinfo={"groupes":("Impression",)},
14250                fr="Impression du résultat d un calcul (différents formats)",
14251          MODELE          =SIMP(statut='f',typ=modele_sdaster),
14252
14253          FORMAT          =SIMP(statut='f',typ='TXM',position='global',defaut="RESULTAT",
14254                                  into=("RESULTAT","IDEAS","ASTER","CASTEM","ENSIGHT","MED","GMSH") ),
14255
14256          b_format_resultat  =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
14257            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
14258          ),
14259
14260          b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
14261            UNITE           =SIMP(statut='f',typ='I',defaut=30),  
14262            VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
14263          ),
14264
14265          b_format_aster  =BLOC(condition="FORMAT=='ASTER'",fr="unité logique d'impression au format ASTER",
14266            UNITE           =SIMP(statut='f',typ='I',defaut=26),  
14267          ),
14268
14269          b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="unité logique d'impression et version CASTEM",
14270            UNITE           =SIMP(statut='f',typ='I',defaut=37),  
14271            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
14272          ),
14273
14274          b_format_ensight  =BLOC(condition="FORMAT=='ENSIGHT'",fr="unité logique d'impression au format ENSIGHT",
14275            UNITE           =SIMP(statut='f',typ='I',defaut=31),  
14276          ),
14277
14278          b_format_med  =BLOC(condition="FORMAT=='MED'",fr="unité logique d'impression au format MED",
14279            UNITE           =SIMP(statut='f',typ='I',defaut=80),  
14280          ),
14281
14282          b_format_gmsh  =BLOC(condition="FORMAT=='GMSH'",fr="unité logique d'impression et version GMSH",
14283            UNITE           =SIMP(statut='f',typ='I',defaut=19),  
14284            VERSION         =SIMP(statut='f',typ='R',defaut=1.2,into=(1.0,1.2)),
14285          ),
14286
14287          RESU            =FACT(statut='o',max='**',
14288
14289            regles=(AU_MOINS_UN('CHAM_GD','RESULTAT','MAILLAGE'),
14290                    EXCLUS('CHAM_GD','RESULTAT'),),
14291            MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster,squelette)),
14292            INFO_MAILLAGE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14293            CHAM_GD         =SIMP(statut='f',typ=cham_gd_sdaster),
14294            RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),# CO() sd a creer !!!
14295
14296            b_sensibilite   =BLOC(condition="RESULTAT != None",
14297                                  fr="Définition des paramètres de sensibilité",
14298                                  ang="Definition of sensitivity parameters",
14299              SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
14300                                    fr="Liste des paramètres de sensibilité.",
14301                                    ang="List of sensitivity parameters"),),
14302
14303            b_extrac        =BLOC(condition="RESULTAT != None",
14304                                  fr="extraction d un champ de grandeur",
14305              regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'),
14306                      EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP',
14307                             'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS','ANGL'),),
14308              TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
14309              NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()),
14310
14311              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14312              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
14313              NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
14314              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
14315              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14316              NOM_CAS         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14317              ANGL            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14318              FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14319              LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
14320              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14321              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
14322
14323              b_acce_reel     =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
14324                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
14325                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
14326              ),
14327            ),
14328 ###
14329            b_parametres    =BLOC(condition="""(RESULTAT != None)and(FORMAT == 'RESULTAT')""",
14330              regles=(EXCLUS('TOUT_PARA','NOM_PARA'),),
14331              INFO_RESU       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14332              TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
14333              NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
14334              FORM_TABL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON","EXCEL") ),
14335            ),
14336 ###
14337            b_cmp=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\
14338            ((FORMAT == 'CASTEM')or(FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'ENSIGHT')or(FORMAT == 'MED'))""",
14339                                  fr="sélection des composantes",
14340              regles=(EXCLUS('TOUT_CMP','NOM_CMP'),),
14341              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14342              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14343            ),
14344 ###
14345            b_gmsh=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and((FORMAT == 'GMSH'))""",
14346                                  fr="sélection des composantes et des entités toplogiques",
14347              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14348              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14349              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14350            ),
14351 ###
14352            b_topologie=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\
14353            ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS'))""",
14354                                    fr="sélection des entités toplogiques",
14355              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14356              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
14357              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
14358              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14359              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14360            ),
14361 ###
14362            b_valeurs         =BLOC(condition="(FORMAT == 'RESULTAT')",
14363                                    fr="sélection sur les valeurs",
14364              VALE_MAX        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14365              VALE_MIN        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14366              BORNE_SUP       =SIMP(statut='f',typ='R'),
14367              BORNE_INF       =SIMP(statut='f',typ='R'),
14368              IMPR_COOR       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14369              FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE12.5"),
14370            ),
14371
14372            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
14373          ),
14374          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14375 ) ;
14376 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
14377 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14378 # ======================================================================
14379 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14380 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14381 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14382 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14383 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14384 #
14385 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14386 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14387 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14388 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14389 #
14390 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14391 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14392 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14393 # ======================================================================
14394 IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de valeurs propres dans un intervalle donné",
14395             UIinfo={"groupes":("Résolution",)},
14396          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
14397          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
14398          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",into=("MODE_FLAMB","DYNAMIQUE"),
14399                                fr="Type d analyse" ),
14400          b_dynamique  =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
14401                             fr="Recheche du nombre de fréquences propres",
14402              FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ,fr="Borne inférieure de l intervalle" ),
14403              FREQ_MAX        =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ),
14404          ),
14405          b_mode_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
14406                             fr="Recherche du nombre de charges critiques",
14407              CHAR_CRIT_MIN   =SIMP(statut='o',typ='R',fr="Borne inférieure de l intervalle" ),
14408              CHAR_CRIT_MAX   =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ),
14409          ),
14410          NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),
14411          NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),
14412          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
14413          PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
14414          SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
14415 )  ;
14416 #& MODIF COMMANDE  DATE 15/11/2004   AUTEUR MCOURTOI M.COURTOIS 
14417 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14418 # ======================================================================
14419 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14420 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14421 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14422 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14423 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14424 #
14425 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14426 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14427 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14428 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14429 #
14430 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14431 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14432 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14433 # ======================================================================
14434 # RESPONSABLE MCOURTOI M.COURTOIS
14435 from Macro.impr_table_ops import impr_table_ops
14436
14437 IMPR_TABLE=MACRO(nom="IMPR_TABLE",op=impr_table_ops,sd_prod=None,
14438             UIinfo={"groupes":("Impression",)},
14439                 fr="Impression d un concept de type table_sdaster",
14440    TABLE          =SIMP(statut='o',typ=table_sdaster),
14441    SENSIBILITE    =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
14442                          fr="Liste des paramètres de sensibilité.",
14443                          ang="List of sensitivity parameters"),
14444    FORMAT         =SIMP(statut='f',typ='TXM',defaut="TABLEAU",
14445                          into=("TABLEAU","ASTER","TABLEAU_CROISE","AGRAF","XMGRACE",),),
14446    b_pilote       =BLOC(condition = "FORMAT == 'XMGRACE'",
14447                         fr="Mots-clés propres à XMGRACE",
14448       PILOTE         =SIMP(statut='f',typ='TXM',defaut='',
14449                            into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
14450                       fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
14451       UNITE          =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
14452                            fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
14453    ),
14454    b_unite        =BLOC(condition = "FORMAT != 'XMGRACE'",
14455       UNITE          =SIMP(statut='f',typ='I',defaut=8,
14456                            fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
14457    ),
14458    FILTRE         =FACT(statut='f',max='**',
14459       NOM_PARA       =SIMP(statut='o',typ='TXM'),
14460       CRIT_COMP      =SIMP(statut='f',typ='TXM',defaut="EQ",
14461                            into=("EQ","LT","GT","NE","LE","GE","VIDE",
14462                                  "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI"),),
14463       b_vale         =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
14464          regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
14465          VALE           =SIMP(statut='f',typ='R'),
14466          VALE_I         =SIMP(statut='f',typ='I'),
14467          VALE_C         =SIMP(statut='f',typ='C'),
14468          VALE_K         =SIMP(statut='f',typ='TXM'),
14469       ),
14470       b_crit         =BLOC(condition = "CRIT_COMP in ('EQ','NE')",
14471          CRITERE        =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
14472          PRECISION      =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
14473       ),
14474    ),
14475    TRI            =FACT(statut='f',
14476       NOM_PARA       =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
14477       ORDRE          =SIMP(statut='f',typ='TXM',defaut="CROISSANT", # max='**',
14478                            into=("CROISSANT","DECROISSANT") ),
14479    ),
14480    PAGINATION     =SIMP(statut='f',typ='TXM',max='**'),
14481    FORMAT_R       =SIMP(statut='f',typ='TXM',defaut="E12.5"),
14482    FORMAT_C       =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",
14483                               into=("MODULE_PHASE","REEL_IMAG") ),
14484    NOM_PARA       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14485    IMPR_FONCTION  =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14486
14487    # mise en forme pour les formats qui passent par Graph
14488    b_forme         =BLOC(condition = "FORMAT == 'XMGRACE'",
14489                          fr="Données de mise en forme du graphique",
14490       # pour la courbe
14491       LEGENDE         =SIMP(statut='f',typ='TXM',
14492                             fr="Légende associée à la fonction" ),
14493       STYLE           =SIMP(statut='f',typ='I',val_min=0,
14494                             fr="Style de la ligne représentant la fonction",),
14495       COULEUR         =SIMP(statut='f',typ='I',val_min=0,
14496                             fr="Couleur associée à la fonction",),
14497       MARQUEUR        =SIMP(statut='f',typ='I',val_min=0,
14498                             fr="Type du marqueur associé à la fonction",),
14499       FREQ_MARQUEUR   =SIMP(statut='f',typ='I',defaut=0,
14500                             fr="Fréquence d impression du marqueur associé à la fonction", ),
14501       # format du graphique
14502       BORNE_X         =SIMP(statut='f',typ='R',min=2,max=2,
14503                             fr="Intervalles de variation des abscisses"),
14504       BORNE_Y         =SIMP(statut='f',typ='R',min=2,max=2,
14505                             fr="Intervalles de variation des ordonnées"),
14506       ECHELLE_X       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
14507                             fr="Type d'échelle pour les abscisses" ),
14508       ECHELLE_Y       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
14509                             fr="Type d'échelle pour les ordonnées" ),
14510       GRILLE_X        =SIMP(statut='f',typ='R',max=1,val_min=0.,
14511                             fr="Pas du quadrillage vertical" ),
14512       GRILLE_Y        =SIMP(statut='f',typ='R',max=1,val_min=0.,
14513                             fr="Pas du quadrillage horizontal" ),
14514       LEGENDE_X       =SIMP(statut='f',typ='TXM',
14515                             fr="Légende associée à l'axe des abscisses" ),
14516       LEGENDE_Y       =SIMP(statut='f',typ='TXM',
14517                             fr="Légende associée à l'axe des ordonnées" ),
14518    ),
14519
14520    TITRE          =SIMP(statut='f',typ='TXM',max='**'),
14521    INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14522 )  
14523 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14524 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14525 # ======================================================================
14526 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14527 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14528 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14529 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14530 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14531 #
14532 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14533 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14534 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14535 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14536 #
14537 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14538 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14539 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14540 # ======================================================================
14541 INCLUDE=MACRO(nom="INCLUDE",op=ops.build_include,
14542             UIinfo={"groupes":("Gestion du travail",)},
14543              fr="Débranchement vers un fichier de commandes secondaires",
14544              sd_prod=ops.INCLUDE,op_init=ops.INCLUDE_context,fichier_ini=1,
14545          UNITE = SIMP(statut='o',typ='I'),
14546          INFO  = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
14547 );
14548 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14549 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14550 # ======================================================================
14551 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14552 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14553 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14554 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14555 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14556 #
14557 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14558 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14559 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14560 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14561 #
14562 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14563 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14564 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14565 # ======================================================================
14566 INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,
14567             UIinfo={"groupes":("Modélisation",)},
14568                        fr=" ",
14569          sd_prod=ops.INCLUDE_MATERIAU,op_init=ops.INCLUDE_context,fichier_ini=0,
14570          NOM_AFNOR       =SIMP(statut='o',typ='TXM' ),  
14571          TYPE_MODELE     =SIMP(statut='o',typ='TXM',into=("REF","PAR") ),
14572          VARIANTE        =SIMP(statut='o',typ='TXM',     
14573                                into=("A","B","C","D","E","F","G","H","I","J",    
14574                                      "K","L","M","N","O","P","Q","R","S","T","U","V",   
14575                                      "W","X","Y","Z",) ),
14576          TYPE_VALE       =SIMP(statut='o',typ='TXM',into=("NOMI","MINI","MAXI") ),
14577          NOM_MATER       =SIMP(statut='o',typ='TXM' ),  
14578          UNITE           =SIMP(statut='f',typ='I',defaut= 32 ),  
14579          EXTRACTION      =FACT(statut='f',max=99,
14580            COMPOR          =SIMP(statut='o',typ='TXM' ),  
14581            TEMP_EVAL       =SIMP(statut='o',typ='R' ),  
14582          ),
14583          UNITE_LONGUEUR  =SIMP(statut='f',typ='TXM',into=("M","MM"),defaut="M" ),  
14584          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14585 )  ;
14586 #& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
14587 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14588 # ======================================================================
14589 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
14590 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
14591 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
14592 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
14593 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
14594 #                                                                       
14595 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
14596 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
14597 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14598 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
14599 #                                                                       
14600 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
14601 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
14602 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
14603 # ======================================================================
14604 # RESPONSABLE D6BHHJP J.P.LEFEBVRE
14605 INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster,
14606                     fr="Récupère différentes informations propres à l'exécution en cours",
14607                     reentrant='n',
14608                     UIinfo={"groupes":("Gestion du travail",)},
14609
14610          regles=(),
14611          LISTE_INFO     =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3,
14612                               into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),),
14613          b_etat_unite   =BLOC(condition = "'ETAT_UNITE' in LISTE_INFO", 
14614             regles=(UN_PARMI('UNITE','FICHIER'),),
14615             UNITE          =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1,
14616                                  fr="Unité logique dont on veut obtenir l'état",),
14617             FICHIER        =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),
14618                                  fr="Nom du fichier dont on veut obtenir l'état",),
14619          ),
14620          TITRE          =SIMP(statut='f',typ='TXM',max='**'),
14621          INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14622 )  ;
14623 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14624 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14625 # ======================================================================
14626 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14627 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14628 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14629 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14630 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14631 #
14632 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14633 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14634 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14635 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14636 #
14637 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14638 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14639 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14640 # ======================================================================
14641 # RESPONSABLE G8BHHXD X.DESROCHES
14642 INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster,
14643             UIinfo={"groupes":("Post traitements",)},
14644                   fr="Définition d une courbe sur un maillage 2D",reentrant='n',
14645
14646          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
14647
14648          regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
14649                  AU_MOINS_UN('DEFI_SEGMENT','DEFI_ARC','DEFI_CHEMIN'),
14650                  PRESENT_ABSENT('DEFI_CHEMIN','DEFI_SEGMENT','DEFI_ARC'),
14651                  PRESENT_ABSENT('DEFI_SEGMENT','NOEUD_ORIG','GROUP_NO_ORIG'),
14652                  PRESENT_ABSENT('DEFI_ARC','NOEUD_ORIG','GROUP_NO_ORIG'),
14653                  EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
14654                  EXCLUS('DEFI_CHEMIN','DEFI_SEGMENT'),
14655                  EXCLUS('DEFI_CHEMIN','DEFI_ARC'),),
14656
14657          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14658          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14659          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14660
14661          DEFI_SEGMENT    =FACT(statut='f',max='**',
14662            regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
14663                    UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
14664            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=2),  
14665            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14666            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14667            EXTREMITE       =SIMP(statut='f',typ='R',min=2,max=2),  
14668            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
14669            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
14670          ),
14671
14672          DEFI_ARC        =FACT(statut='f',max='**',
14673            regles=(UN_PARMI('CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),
14674                    UN_PARMI('RAYON','ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
14675                    UN_PARMI('RAYON','EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),               
14676                    PRESENT_PRESENT('RAYON','SECTEUR'),),
14677            CENTRE          =SIMP(statut='f',typ='R',min=2,max=2),  
14678            NOEUD_CENTRE    =SIMP(statut='f',typ=no,),
14679            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,),
14680            RAYON           =SIMP(statut='f',typ='R',val_min=0.E+0),  
14681            SECTEUR         =SIMP(statut='f',typ='R',min=2,max=2,
14682                                  val_min=-180.E+0,val_max=180E+0),  
14683            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=2),  
14684            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14685            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14686            EXTREMITE       =SIMP(statut='f',typ='R',min=2,max=2),  
14687            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
14688            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
14689            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
14690            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",    
14691                                  into=("RELATIF","ABSOLU",) ),
14692          ),
14693
14694          DEFI_CHEMIN     =FACT(statut='f',max='**',
14695            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
14696            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14697            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14698          ),
14699
14700          NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14701          GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14702          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),  
14703          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
14704 )  ;
14705 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14706 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14707 # ======================================================================
14708 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14709 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14710 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14711 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14712 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14713 #
14714 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14715 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14716 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14717 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14718 #
14719 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14720 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14721 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14722 # ======================================================================
14723 # RESPONSABLE G8BHHXD X.DESROCHES
14724 INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster,
14725             UIinfo={"groupes":("Post traitements",)},
14726                   fr="Définition d un chemin sur un maillage 3D",reentrant='n',
14727          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
14728          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14729          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14730          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14731          DEFI_SEGMENT    =FACT(statut='o',max='**',
14732            regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
14733                    UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
14734            ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
14735            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14736            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14737            EXTREMITE       =SIMP(statut='f',typ='R',min=3,max=3),  
14738            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
14739            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
14740          ),
14741          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
14742          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
14743 )  ;
14744 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14745 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14746 # ======================================================================
14747 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14748 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14749 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14750 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14751 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14752 #
14753 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14754 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14755 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14756 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14757 #
14758 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14759 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14760 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14761 # ======================================================================
14762 def lire_champ_prod(TYPE_CHAM=None,**args):
14763 # Remarque : si cette liste évolue, il faut penser à mettre à jour son
14764 #            homologue dans macr_adap_mail
14765   import string
14766 #  
14767   if TYPE_CHAM[0:5] == "NOEU_" : return eval("cham_no_"+string.lower(TYPE_CHAM[5:]))
14768   if TYPE_CHAM == "ELEM_G_DEPL_R" : return cham_elem_g_depl
14769   if TYPE_CHAM[0:5] == "ELEM_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:]))
14770   if TYPE_CHAM == "ELNO_G_DEPL_R" : return cham_elem_g_depl
14771   if TYPE_CHAM[0:5] == "ELNO_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:]))
14772   if TYPE_CHAM == "ELGA_G_DEPL_R" : return cham_elem_g_depl
14773   if TYPE_CHAM[0:5] == "ELGA_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:]))
14774   raise AsException("type de concept resultat non prevu")
14775
14776 LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod,
14777                 fr="Lire un champ dans un fichier et le stocker dans un concept.",
14778                 reentrant='n',
14779          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster,),
14780          FORMAT          =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",),),
14781          UNITE           =SIMP(statut='f',typ='I',defaut= 81,),  
14782          b_format =BLOC(condition = "FORMAT == 'MED'",
14783          regles=( UN_PARMI('NOM_CMP_IDEM','NOM_CMP'),
14784                   PRESENT_PRESENT('NOM_CMP','NOM_CMP_MED' ),
14785                   EXCLUS('NUME_ORDRE','INST'),
14786                   EXCLUS('NUME_PT','INST'),),
14787             NOM_MED      =SIMP(statut='o',typ='TXM', ),
14788             NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), ),
14789             NOM_CMP      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
14790             NOM_CMP_MED  =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
14791             NUME_PT      =SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**',),
14792             NUME_ORDRE   =SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**',
14793                            fr="Numero d ordre du champ à lire",ang="Rank of the field to be read" ),
14794             INST         =SIMP(statut='f',typ='R',fr="Instant associé",ang="Instant" ),
14795 #
14796             b_precision     =BLOC(condition="(INST != None)",
14797               PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
14798               fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),
14799               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
14800               fr="Critère de précision sur le choix de l'instant associé",
14801               ang="Accuracy criterium over instant choice" ),),
14802 #
14803             NOM_MAIL_MED =SIMP(statut='f',typ='TXM',),
14804                   ),
14805 #        Remarque : si cette liste évolue, il faut penser à mettre à jour son
14806 #                   homologue dans macr_adap_mail
14807          TYPE_CHAM       =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()),
14808          b_modele =BLOC(condition = "TYPE_CHAM!=None and TYPE_CHAM[0:2] == 'EL'",
14809             MODELE      =SIMP(statut='o',typ=modele_sdaster, ),
14810                   ),
14811          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14812 )  ;
14813 #& MODIF COMMANDE  DATE 10/10/2005   AUTEUR MCOURTOI M.COURTOIS 
14814 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14815 # ======================================================================
14816 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14817 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14818 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14819 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14820 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14821 #
14822 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14823 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14824 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14825 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14826 #
14827 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14828 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14829 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14830 # ======================================================================
14831
14832 from Macro.lire_fonction_ops import lire_fonction_ops
14833
14834 def lire_fonction_prod(self,TYPE,**args):
14835   if   (TYPE == 'FONCTION')  : return fonction_sdaster
14836   elif (TYPE == 'FONCTION_C'): return fonction_c
14837   elif (TYPE == 'NAPPE'   )  : return nappe_sdaster
14838   raise AsException("type de concept resultat non prevu")
14839
14840 LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_fonction_prod,
14841                    fr="Lecture d une fonction ou d une nappe dans un fichier ",
14842                    reentrant='n',
14843             UIinfo={"groupes":("Fonction",)},
14844          FORMAT          =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE"  ),
14845          TYPE            =SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C","NAPPE"),defaut="FONCTION"  ),
14846          SEPAR           =SIMP(statut='f',typ='TXM',into=("None",",",";","/"),defaut="None" ),
14847          INDIC_PARA      =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,1]),
14848          b_fonction      =BLOC(condition = "TYPE=='FONCTION' ",
14849            INDIC_RESU      =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,2]), ),
14850          b_fonction_c    =BLOC(condition = "TYPE=='FONCTION_C' ",
14851            FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="REEL_IMAG",into=("REEL_IMAG","MODULE_PHASE") ),
14852            b_reel_imag     =BLOC(condition = "FORMAT_C=='REEL_IMAG' ",
14853              INDIC_REEL      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
14854              INDIC_IMAG      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ) ,
14855            b_modu_phas     =BLOC(condition = "FORMAT_C=='MODULE_PHASE' ",
14856              INDIC_MODU      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
14857              INDIC_PHAS      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ), ),
14858          b_nappe         =BLOC(condition = "TYPE=='NAPPE' ",
14859            NOM_PARA_FONC   =SIMP(statut='o',typ='TXM',),
14860            INDIC_ABSCISSE  =SIMP(statut='o',typ='I',min=2,max=2,),
14861            INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
14862            PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14863            PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14864            DEFI_FONCTION   =FACT(statut='f',max='**',
14865              INDIC_RESU      =SIMP(statut='o',typ='I',min=2,max=2,),),  ),
14866          UNITE           =SIMP(statut='o',typ='I' ),
14867          NOM_PARA        =SIMP(statut='o',typ='TXM',),
14868          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
14869          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
14870          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14871          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14872          VERIF           =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ),
14873          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
14874          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14875 )  ;
14876 #& MODIF COMMANDE  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
14877 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14878 # ======================================================================
14879 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14880 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14881 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14882 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14883 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14884 #
14885 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14886 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14887 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14888 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14889 #
14890 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14891 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14892 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14893 # ======================================================================
14894
14895 from Macro.lire_inte_spec_ops import lire_inte_spec_ops
14896
14897 LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=tabl_intsp,
14898                     fr="Lecture sur un fichier externe de  fonctions complexes pour créer une matrice interspectrale",
14899                     reentrant='n',
14900             UIinfo={"groupes":("Fonction",)},
14901          UNITE           =SIMP(statut='o',typ='I' ),
14902          FORMAT          =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ),
14903          NOM_PARA        =SIMP(statut='f',typ='TXM',defaut="FREQ",
14904                                into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
14905                                      "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ),
14906          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="DSP" ),
14907          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
14908          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
14909          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
14910          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14911          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
14912 )  ;
14913 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14914 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14915 # ======================================================================
14916 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14917 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14918 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14919 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14920 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14921 #
14922 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14923 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14924 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14925 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14926 #
14927 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14928 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14929 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14930 # ======================================================================
14931 # RESPONSABLE VABHHTS J.PELLET
14932 LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op=   1,sd_prod=maillage_sdaster,
14933                    fr="Lecture d'un fichier de maillage",
14934                    ang="Readings of a mesh file",
14935                    reentrant='n',
14936             UIinfo={"groupes":("Maillage",)},
14937 #
14938          UNITE           =SIMP(statut='f',typ='I',defaut= 20 ),
14939 #
14940          FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"),
14941                             fr="Format du fichier : ASTER ou MED.",
14942                             ang="Format of the file : ASTER or MED.",),
14943 #
14944          ABSC_CURV       =FACT(statut='f',min=0,
14945                TOUT          =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14946          ),
14947 #
14948          VERI_MAIL       =FACT(statut='d',
14949                VERIF         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),  
14950                APLAT         =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
14951          ),
14952 #
14953          b_format_med =BLOC( condition = " ( FORMAT == 'MED' ) " ,
14954                            fr="Informations complémentaires pour la lecture MED.",
14955                            ang="Further information for MED readings.",
14956 #
14957 # Pour une lecture dans un fichier MED, on peut préciser le nom sous lequel
14958 # le maillage y a été enregistré. Par défaut, on va le chercher sous le nom du concept à créer.
14959 #
14960               NOM_MED    = SIMP(statut='f',typ='TXM',
14961                             fr="Nom du maillage dans le fichier MED.",
14962                             ang="Name of the mesh into the MED file.",),
14963 #
14964               INFO_MED   = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14965 #
14966                            ) ,
14967 #
14968          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14969 #
14970 )  ;
14971 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14972 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14973 # ======================================================================
14974 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14975 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14976 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14977 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14978 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14979 #
14980 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14981 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14982 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14983 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14984 #
14985 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14986 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14987 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14988 # ======================================================================
14989 def lire_miss_3d_prod(TYPE_RESU,**args):
14990   if TYPE_RESU == "TRANS" : return dyna_trans
14991   if TYPE_RESU == "HARMO" : return dyna_harmo
14992   raise AsException("type de concept resultat non prevu")
14993
14994 LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod,
14995                   fr="Restitution au format MISS3D d une évolution harmonique ou transitoire",
14996                   reentrant='n',
14997             UIinfo={"groupes":("Maillage",)},
14998          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
14999          UNITE           =SIMP(statut='f',typ='I',defaut= 27 ),
15000          NOM             =SIMP(statut='f',typ='TXM' ),
15001          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="TRANS",into=("TRANS","HARMO") ),
15002          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15003 )  ;
15004 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
15005 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15006 # ======================================================================
15007 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15008 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15009 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15010 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15011 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15012 #
15013 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15014 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15015 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15016 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15017 #
15018 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15019 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15020 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15021 # ======================================================================
15022 LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char,
15023                  fr=" ",
15024                  reentrant='n',
15025             UIinfo={"groupes":("Maillage",)},
15026          regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
15027          UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15028          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",)),
15029          MAIL_PLEXUS     =SIMP(statut='o',typ=maillage_sdaster ),
15030          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
15031          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
15032          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15033          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
15034          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
15035          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15036          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
15037          b_prec_crit     =BLOC(condition = "LIST_INST != None or INST != None",
15038              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
15039              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
15040                                    into=("RELATIF","ABSOLU") ),
15041          ),
15042          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15043 )  ;
15044 #& MODIF COMMANDE  DATE 11/05/2005   AUTEUR MCOURTOI M.COURTOIS 
15045 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15046 # ======================================================================
15047 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15048 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15049 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15050 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
15051 # (AT YOUR OPTION) ANY LATER VERSION.
15052 #
15053 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
15054 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
15055 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
15056 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15057 #
15058 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15059 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
15060 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
15061 # ======================================================================
15062 # RESPONSABLE VABHHTS J.PELLET
15063
15064 def lire_resu_prod(TYPE_RESU,**args):
15065   if TYPE_RESU == "EVOL_CHAR" :  return evol_char
15066   if TYPE_RESU == "EVOL_THER" :  return evol_ther
15067   if TYPE_RESU == "EVOL_ELAS" :  return evol_elas
15068   if TYPE_RESU == "EVOL_NOLI" :  return evol_noli
15069   if TYPE_RESU == "DYNA_TRANS" : return dyna_trans
15070   if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo
15071   if TYPE_RESU == "HARM_GENE" :  return harm_gene
15072   if TYPE_RESU == "MODE_MECA" :  return mode_meca
15073   if TYPE_RESU == "MODE_MECA_C" : return mode_meca_c
15074   raise AsException("type de concept resultat non prevu")
15075
15076 # pour éviter d'écrire 3 fois cette liste :
15077 def l_nom_cham_pas_elga(): return (
15078      "ACCE", "ACCE_ABSOLU", "CRIT_ELNO_RUPT", "DCHA_ELNO_SIGM",
15079      "DCHA_NOEU_SIGM", "DEDE_ELNO_DLDE", "DEDE_NOEU_DLDE", "DEGE_ELNO_DEPL", "DEGE_NOEU_DEPL",
15080      "DEPL", "DEPL_ABSOLU", "DESI_ELNO_DLSI", "DESI_NOEU_DLSI", "DETE_ELNO_DLTE", "DETE_NOEU_DLTE",
15081      "DURT_ELNO_META", "DURT_NOEU_META", "ECIN_ELEM_DEPL", "EFGE_ELNO_CART", "EFGE_ELNO_DEPL",
15082      "EFGE_NOEU_CART", "EFGE_NOEU_DEPL", "ENDO_ELNO_SIGA", "ENDO_ELNO_SINO", "ENDO_NOEU_SINO",
15083      "ENEL_ELNO_ELGA", "ENEL_NOEU_ELGA", "EPEQ_ELNO_TUYO", "EPGR_ELNO", "EPME_ELNO_DEPL",
15084      "EPMG_ELNO_DEPL", "EPMG_NOEU_DEPL", "EPOT_ELEM_DEPL", "EPSA_ELNO", "EPSA_NOEU",
15085      "EPSG_ELNO_DEPL", "EPSG_NOEU_DEPL", "EPSI_ELNO_DEPL", "EPSI_ELNO_TUYO", "EPSI_NOEU_DEPL",
15086      "EPSP_ELNO", "EPSP_ELNO_ZAC", "EPSP_NOEU", "EPSP_NOEU_ZAC", "EQUI_ELNO_EPME", "EQUI_ELNO_EPSI",
15087      "EQUI_ELNO_SIGM", "EQUI_NOEU_EPME", "EQUI_NOEU_EPSI", "EQUI_NOEU_SIGM", "ERRE_ELEM_NOZ1",
15088      "ERRE_ELEM_NOZ2", "ERRE_ELNO_ELGA", "ERRE_NOEU_ELGA", "ERTH_ELEM_TEMP", "ERTH_ELNO_ELEM",
15089      "ETOT_ELEM", "ETOT_ELNO_ELGA", "FLUX_ELNO_TEMP", "FLUX_NOEU_TEMP", "FORC_NODA", "FSUR_2D",
15090      "FSUR_3D", "FVOL_2D", "FVOL_3D", "GRAD_NOEU_THETA", "HYDR_ELNO_ELGA", "HYDR_NOEU_ELGA",
15091      "INTE_ELNO_ACTI", "INTE_ELNO_REAC", "INTE_NOEU_ACTI", "INTE_NOEU_REAC", "IRRA",
15092      "META_ELNO_TEMP", "META_NOEU_TEMP", "PMPB_ELNO_SIEF", "PMPB_NOEU_SIEF",
15093      "PRES", "PRES_DBEL_DEPL", "PRES_ELNO_DBEL", "PRES_ELNO_IMAG", "PRES_ELNO_REEL",
15094      "PRES_NOEU_DBEL", "PRES_NOEU_IMAG", "PRES_NOEU_REEL",
15095      "RADI_ELNO_SIGM", "RADI_NOEU_SIGM", "REAC_NODA",
15096      "SIEF_ELNO", "SIEF_ELNO_ELGA", "SIEF_NOEU", "SIEF_NOEU_ELGA", "SIEQ_ELNO_TUYO",
15097      "SIGM_ELNO_CART", "SIGM_ELNO_COQU", "SIGM_ELNO_DEPL", "SIGM_ELNO_SIEF",
15098      "SIGM_ELNO_TUYO", "SIGM_ELNO_ZAC", "SIGM_NOEU_CART", "SIGM_NOEU_COQU",
15099      "SIGM_NOEU_DEPL", "SIGM_NOEU_SIEF", "SIGM_NOEU_ZAC", "SIGM_NOZ1_ELGA",
15100      "SIGM_NOZ2_ELGA", "SIPO_ELNO_DEPL", "SIPO_ELNO_SIEF", "SIPO_NOEU_DEPL",
15101      "SIPO_NOEU_SIEF", "SIRE_ELNO_DEPL", "SIRE_NOEU_DEPL", "TEMP", "THETA",
15102      "VALE_CONT", "VALE_NCOU_MAXI", "VARI_ELNO", "VARI_ELNO_COQU",
15103      "VARI_ELNO_ELGA", "VARI_ELNO_TUYO", "VARI_NOEU", "VARI_NOEU_ELGA", "VARI_NON_LOCAL",
15104      "VITE", "VITE_ABSOLU", "VITE_VENT",
15105                            )
15106
15107 LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n',
15108             UIinfo={"groupes":("Maillage",)},
15109                fr="Lecture de champs aux noeuds ou par éléments aux noeuds sur un fichier IDEAS ou EnSight",
15110
15111
15112 # 0) mots clés généraux :
15113 #----------------------
15114          TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_THER","EVOL_ELAS","EVOL_NOLI","MODE_MECA",
15115                                                           "MODE_MECA_C","DYNA_TRANS","DYNA_HARMO","HARM_GENE",
15116                                                           "EVOL_CHAR") ),
15117
15118          FORMAT          =SIMP(statut='o',typ='TXM',into=("IDEAS","IDEAS_DS58","ENSIGHT","MED") ),
15119
15120          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
15121          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15122
15123          regles=(UN_PARMI('MAILLAGE','MODELE'),),
15124          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster),
15125          MODELE          =SIMP(statut='f',typ=modele_sdaster),
15126
15127          NB_VARI         =SIMP(statut='f',typ='I' ),
15128
15129
15130 # 1) blocs selon le format choisi :
15131 #---------------------------------
15132
15133 # 1-1 ideas dataset-58 :
15134 # ----------------------
15135          b_dataset_58 = BLOC(condition="FORMAT=='IDEAS_DS58'",
15136            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15137          ),
15138          b_dataset_58_b = BLOC(condition="(FORMAT=='IDEAS_DS58') and ((TYPE_RESU=='DYNA_TRANS') or\
15139                                         (TYPE_RESU=='DYNA_HARMO') or (TYPE_RESU=='HARM_GENE'))",
15140            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15141            NOM_CHAM=SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE","EPSI_NOEU_DEPL","SIEF_NOEU",) ),
15142            REDEFI_ORIENT=FACT(statut='f',max='**',
15143                               regles=(PRESENT_PRESENT('CODE_DIR','DIRECTION','NOEUD',),),
15144                               CODE_DIR =SIMP(statut='f',typ='I',into=(1,2,3,) ),
15145                               DIRECTION=SIMP(statut='f',typ='R',min=3,max=3,),
15146                               NOEUD    =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),),
15147          ),
15148
15149 # 1-2 ideas  :
15150 # ---------
15151          b_ideas         =BLOC(condition="FORMAT=='IDEAS'",
15152            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15153 #           TEST            =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
15154            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()),
15155            FORMAT_IDEAS    =FACT(statut='f',max='**',
15156              regles=(UN_PARMI('POSI_INST','POSI_FREQ'),),
15157              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=l_nom_cham_pas_elga()),
15158              NUME_DATASET    =SIMP(statut='f',typ='I',into=(55,57,2414) ),
15159              RECORD_3        =SIMP(statut='f',typ='I',max=10),
15160              RECORD_6        =SIMP(statut='f',typ='I',max=10),
15161              RECORD_9        =SIMP(statut='f',typ='I',max=10),
15162              POSI_ORDRE      =SIMP(statut='o',typ='I',min=2,max=2),
15163              POSI_NUME_MODE  =SIMP(statut='f',typ='I',min=2,max=2),
15164              POSI_MASS_GENE  =SIMP(statut='f',typ='I',min=2,max=2),
15165              POSI_INST       =SIMP(statut='f',typ='I',min=2,max=2),
15166              POSI_FREQ       =SIMP(statut='f',typ='I',min=2,max=2),
15167              NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),),
15168          ),
15169 # 1-3 ensight :
15170 # -------------
15171          b_ensight       =BLOC(condition="FORMAT=='ENSIGHT'",
15172            NOM_FICHIER     =SIMP(statut='f',typ='TXM'),
15173            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()),
15174          ),
15175
15176 # 1-4 med :
15177 # ---------
15178          b_med           =BLOC(condition = "FORMAT == 'MED'",fr="Nom du champ dans le fichier MED",
15179            UNITE           =SIMP(statut='f',typ='I',defaut= 81, fr="Le fichier est : fort.n.",),
15180            FORMAT_MED      =FACT(statut='f',max='**',
15181              regles=(ENSEMBLE('NOM_CMP','NOM_CMP_MED'),),
15182              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=l_nom_cham_pas_elga()),
15183              NOM_CHAM_MED    =SIMP(statut='o',typ='TXM',               fr="Nom du champ dans le fichier MED.",  ),
15184              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**',      fr="Nom des composantes dans ASTER.", ),
15185              NOM_CMP_MED     =SIMP(statut='f',typ='TXM',max='**',      fr="Nom des composantes dans MED.", ),
15186            ),
15187                   ),
15188
15189 # 2) blocs selon le type du résultat :
15190 #---------------------------------
15191          b_mode_meca     =BLOC(condition="(TYPE_RESU=='MODE_MECA')or(TYPE_RESU=='MODE_MECA_C')",
15192            MATR_A         =SIMP(statut='f',typ=matr_asse_depl_r,),
15193            MATR_B         =SIMP(statut='f',typ=matr_asse_depl_r,),
15194          ),
15195
15196
15197 # 3) autres blocs :
15198 #---------------------------------
15199          b_extrac        =BLOC(condition="1",fr="accès à un champ dans la structure de données résultat",
15200            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST','FREQ','LIST_FREQ'),),
15201            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15202            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
15203            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15204            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
15205            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
15206            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15207            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
15208
15209            b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
15210              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
15211              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
15212            ),
15213          ),
15214 )  ;
15215 #& MODIF COMMANDE  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
15216 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15217 # ======================================================================
15218 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
15219 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
15220 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
15221 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
15222 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
15223 #                                                                       
15224 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
15225 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
15226 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
15227 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
15228 #                                                                       
15229 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
15230 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
15231 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
15232 # ======================================================================
15233
15234 from Macro.lire_table_ops import lire_table_ops
15235
15236 def lire_table_prod(self,TYPE_TABLE,**args):
15237   if TYPE_TABLE == "TABLE"          : return table_sdaster
15238   if TYPE_TABLE == "TABL_CARA_GEOM" : return tabl_cara_geom
15239   if TYPE_TABLE == "TABL_POST_RELE" : return tabl_post_rele
15240   if TYPE_TABLE == "TABL_POST_USUR" : return tabl_post_usur
15241   if TYPE_TABLE == "TABL_POST_ALEA" : return tabl_post_alea
15242   raise AsException("type de concept resultat non prevu")
15243
15244 LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=lire_table_prod,
15245                  fr="Lecture d un concept de type table",
15246             UIinfo={"groupes":("Maillage",)},
15247          UNITE           =SIMP(statut='o',typ='I' ),
15248          FORMAT          =SIMP(statut='f',typ='TXM',into=("ASTER",),defaut="ASTER"),
15249          NUME_TABLE      =SIMP(statut='f',typ='I',defaut=1),
15250          TYPE_TABLE      =SIMP(statut='f',typ='TXM',defaut="TABLE",
15251                               into=("TABLE",
15252                                     "TABL_CARA_GEOM",
15253                                     "TABL_POST_RELE",
15254                                     "TABL_POST_USUR",
15255                                     "TABL_POST_ALEA" ) ),
15256          SEPARATEUR      =SIMP(statut='o',typ='TXM'),
15257          PARA            =SIMP(statut='f',typ='TXM',max='**'),
15258          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15259          )  ;
15260
15261 #& MODIF COMMANDE  DATE 05/12/2006   AUTEUR GNICOLAS G.NICOLAS 
15262 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15263 # ======================================================================
15264 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15265 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15266 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15267 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15268 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15269 #
15270 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15271 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15272 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15273 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15274 #
15275 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15276 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15277 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15278 # ======================================================================
15279 # RESPONSABLE GNICOLAS G.NICOLAS
15280
15281 from Macro.macr_adap_mail_ops import macr_adap_mail_ops
15282
15283 def macr_adap_mail_prod(self,MAJ_CHAM,ADAPTATION,**args):
15284   maillage_np1=ADAPTATION['MAILLAGE_NP1']
15285   self.type_sdprod(maillage_np1,maillage_sdaster)
15286   if MAJ_CHAM == None:return None
15287 # Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP
15288   for ch in MAJ_CHAM:
15289     t=ch['TYPE_CHAM']
15290     if t[0:5] == "NOEU_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_no_"+string.lower(t[5:])))
15291     if t == "ELEM_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl)
15292     if t[0:5] == "ELEM_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:])))
15293     if t == "ELNO_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl)
15294     if t[0:5] == "ELNO_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:])))
15295     if t == "ELGA_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl)
15296     if t[0:5] == "ELGA_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:])))
15297   return None
15298
15299 MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_adap_mail_prod,
15300                      fr="Adapter un maillage avec le logiciel HOMARD.",
15301                      ang="Mesh adaptation with HOMARD software.",
15302                      docu="U7.03.01-b",
15303 #
15304 # 1. Le niveau d'information
15305 #
15306          INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
15307 #
15308 # 2. Version de HOMARD
15309 #
15310          VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V7_9",
15311                                into=("V7_9", "V7_N", "V7_N_PERSO"),
15312                            fr="Version de HOMARD",
15313                            ang="HOMARD release"),
15314 #
15315 # 3. Langue des messages issus de HOMARD
15316 #
15317          LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
15318                                into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
15319                            fr="Langue des messages issus de HOMARD.",
15320                            ang="Language for HOMARD messages." ),
15321 #
15322 # 4. Gestion des éléments autres que des simplexes
15323 #       0 : autres elements refuses
15324 #       1 : raffinement sur les simplexes, mais autres acceptes
15325 #       2 : tous (defaut)
15326 #
15327          NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2),
15328                           fr="Type d'éléments acceptés.",
15329                           ang="Type of authorized elements." ),
15330 #
15331 # 5. Le type de traitement :
15332 #
15333          ADAPTATION      =FACT(statut='o',
15334                            fr="Type d'adaptation",
15335                            ang="Type of adaptation",
15336 #
15337 # 5.1. Deux choix d'adaptation exclusifs :
15338 #
15339 # 5.1.
15340 #      A. Selon un indicateur d'erreur, avec trois variantes :
15341 #         . Raffinement et deraffinement
15342 #         . Raffinement seul
15343 #         . Deraffinement seul
15344 #      B. Uniforme, avec trois variantes :
15345 #         . Raffinement seul
15346 #         . Deraffinement seul
15347 #         . Rien : le maillage est le meme a la sortie et a l'entree
15348 #
15349            regles=(
15350                    UN_PARMI('LIBRE','UNIFORME'),
15351                   ),
15352            LIBRE          = SIMP(statut='f',typ='TXM',
15353                                  into=("RAFF_DERA","RAFFINEMENT","DERAFFINEMENT"),    
15354                            fr="Adaptation selon un indicateur d'erreur.",
15355                            ang="Adaptation among an error indicator" ),
15356            UNIFORME       = SIMP(statut='f',typ='TXM',
15357                                  into=("RAFFINEMENT","DERAFFINEMENT","RIEN"),    
15358                            fr="Adaptation uniforme.",
15359                            ang="Uniform adaptation" ),
15360 #
15361 # 5.2. Quel que soit le type de traitement, il faut donner  :
15362 #      A. Le concept du maillage initial
15363 #      B. Le concept du maillage final
15364 #
15365            MAILLAGE_N     = SIMP(statut='o',typ=maillage_sdaster,
15366                            fr="Maillage avant adaptation",
15367                            ang="Mesh before adaptation" ),
15368            MAILLAGE_NP1   = SIMP(statut='o',typ=(CO,maillage_sdaster),
15369                            fr="Maillage apres adaptation",
15370                            ang="Mesh after adaptation" ),
15371 #
15372 # 5.3. Pour de l'adaptation libre, il faut l'indicateur d'erreur
15373 #
15374 #
15375            b_indicateur_d_erreur   =BLOC( condition = " LIBRE != None " ,
15376                            fr="Choix de l'indicateur d'erreur",
15377                            ang="Selection of error indicator",
15378 #
15379 # 5.3.1. Le nom du concept resultat_sdaster
15380 #
15381                            RESULTAT_N     = SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ,
15382                            fr="Concept resultat Code_Aster contenant l'indicateur d'erreur",
15383                            ang="Result with error indicator" ),
15384 #
15385 # 5.3.2. Le champ d'indicateur d'erreur
15386 #
15387                            INDICATEUR     = SIMP(statut='o',typ='TXM',     
15388                            fr="Champ de l'indicateur d'erreur",
15389                            ang="Error indicator field" ),
15390 #
15391 # 5.3.3. La composante retenue
15392 #
15393                            NOM_CMP_INDICA = SIMP(statut='o',typ='TXM',
15394                            fr="Composante retenue",
15395                            ang="Selected component" ),
15396 #
15397 # 5.3.4. Le paramètre temporel pour l'indicateur
15398 #
15399                            regles=(EXCLUS('NUME_ORDRE','INST'),),
15400 #
15401 # 5.3.4.1. Soit le numero d'ordre
15402 #
15403                            NUME_ORDRE     = SIMP(statut='f',typ='I',
15404                            fr="Numero d ordre",
15405                            ang="Rank" ),  
15406 #
15407 # 5.3.4.2. Soit l'instant
15408 # 5.3.4.2.1. Sa valeur
15409 #
15410                            INST           = SIMP(statut='f',typ='R',
15411                            fr="Instant associé",
15412                            ang="Instant" ),
15413 #
15414 # 5.3.4.2.2. La précision du choix de l'instant
15415 #
15416                            b_precision     =BLOC(condition="(INST != None)",
15417                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
15418                              fr="Précision sur le choix de l'instant associé",
15419                              ang="Accuracy over instant choice" ),
15420                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
15421                              fr="Critère de précision sur le choix de l'instant associé",
15422                              ang="Accuracy criterium over instant choice" ),),
15423 #
15424                            ) ,
15425 #
15426 # 5.4. Les criteres pour de l'adaptation libre :
15427 #        absolu, relatif, en proportion d'entite
15428 # 5.4.1. Pour le raffinement :
15429 #
15430            b_critere_de_raffinement =BLOC( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) " ,
15431                            fr="Critère de raffinement.",
15432                            ang="Refinement threshold.",
15433                            regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),),
15434                            CRIT_RAFF_ABS  = SIMP(statut='f',typ='R',
15435                                                    fr="Critère absolu",
15436                                                    ang="Absolute threshold" ),  
15437                            CRIT_RAFF_REL  = SIMP(statut='f',typ='R',
15438                                                    fr="Critère relatif : fraction entre 0 et 1",
15439                                                    ang="Relative threshold : ratio between 0 and 1" ),  
15440                            CRIT_RAFF_PE   = SIMP(statut='f',typ='R',
15441                                                    fr="Pourcentage d'éléments : fraction entre 0 et 1",
15442                                                    ang="Percentage of elements : ratio between 0 and 1" ),  
15443                            ) ,
15444 #
15445 # 5.4.2. Pour le deraffinement :
15446 #
15447            b_critere_de_deraffinement =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) " ,
15448                            fr="Critère de déraffinement.",
15449                            ang="Unrefinement threshold.",
15450                            regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),),
15451                            CRIT_DERA_ABS  = SIMP(statut='f',typ='R' ,
15452                                                  fr="Critère absolu",
15453                                                  ang="Absolute threshold" ),  
15454                            CRIT_DERA_REL  = SIMP(statut='f',typ='R',
15455                                                  fr="Critère relatif : fraction entre 0 et 1",
15456                                                  ang="Relative threshold : ratio between 0 and 1" ),  
15457                            CRIT_DERA_PE   = SIMP(statut='f',typ='R',
15458                                                  fr="Pourcentage d'éléments : fraction entre 0 et 1",
15459                                                  ang="Percentage of elements : ratio between 0 and 1" ),  
15460                            ) ,
15461 #
15462 # 5.5. Les niveaux extremes pour le maillage adapte
15463 # 5.5.1. Pour le raffinement :
15464 #
15465            b_niveau_maximum =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) or \
15466                                                   ( UNIFORME == 'RAFFINEMENT' ) " ,
15467                            fr="Niveau maximum de profondeur de raffinement",
15468                            ang="Maximum level for refinement",
15469                            NIVE_MAX       = SIMP(statut='f',typ='I' ),
15470                            ) ,
15471 #
15472 # 5.5.2. Pour le deraffinement :
15473 #
15474            b_niveau_minimum =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) or \
15475                                                   ( UNIFORME == 'DERAFFINEMENT' ) " ,
15476                            fr="Niveau minimum de profondeur de déraffinement",
15477                            ang="Minimum level for unrefinement",
15478                            NIVE_MIN       = SIMP(statut='f',typ='I' ),
15479                            ) ,
15480 #
15481          ),
15482 #
15483 # 6. Suivi d'une frontiere
15484 #
15485          MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
15486                            fr="Maillage de la frontiere à suivre",
15487                            ang="Boundary mesh" ),
15488 #
15489          b_frontiere   =BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
15490                            fr="Groupes définissant la frontière",
15491                            ang="Groups which define the boundary",
15492                            GROUP_MA       = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ),
15493                            ) ,
15494 #
15495 # 7. Mise à jour de champs sur le nouveau maillage
15496 #
15497          MAJ_CHAM        =FACT(statut='f',max='**',
15498                            fr="Mise à jour de champs sur le nouveau maillage.",
15499                            ang="Updating of fields over the new mesh.",
15500 #
15501 # 7.1. Le nom du champ qui contiendra le resultat de la mise a jour
15502 #
15503            CHAM_MAJ       = SIMP(statut='o',typ=(CO,cham_gd_sdaster),
15504                            fr="Nom du champ qui contiendra le champ mis à jour",
15505                            ang="Name of the field for the updated field"),
15506 #
15507 # 7.2. Le type du champ qui contiendra le resultat de la mise a jour
15508 #
15509            TYPE_CHAM      = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO(),
15510                            fr="Type du champ qui contiendra le champ mis à jour",
15511                            ang="Type of the field for the updated field" ),
15512 #
15513 # 7.3. Le nom du resultat du champ a interpoler
15514 #
15515            RESULTAT       = SIMP(statut='o',
15516                                  typ=(evol_elas,evol_noli,evol_ther),
15517                            fr="Resultat contenant le champ à mettre à jour",
15518                            ang="Result with field to be updated" ),
15519 #
15520 # 7.4. Le nom du champ a interpoler
15521 #
15522            NOM_CHAM       = SIMP(statut='o',typ='TXM',
15523                            fr="Nom du champ à mettre à jour",
15524                            ang="Name of the field to be updated" ),
15525 #
15526 # 7.5. Le paramètre temporel pour le champ a interpoler
15527 #
15528                            regles=(EXCLUS('NUME_ORDRE','INST'),),
15529 #
15530 # 7.5.1. Soit le numero d'ordre
15531 #
15532            NUME_ORDRE     = SIMP(statut='f',typ='I',
15533                            fr="Numero d ordre du champ à mettre à jour",
15534                            ang="Rank of the field to be updated" ),
15535 #
15536 # 7.5.2. Soit l'instant
15537 # 7.5.2.1. Sa valeur
15538 #
15539            INST           = SIMP(statut='f',typ='R',
15540                            fr="Instant associé",
15541                            ang="Instant" ),
15542 #
15543 # 7.5.2.2. La précision du choix de l'instant
15544 #
15545                            b_precision     =BLOC(condition="(INST != None)",
15546                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
15547                              fr="Précision sur le choix de l'instant associé",
15548                              ang="Accuracy over instant choice" ),
15549                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
15550                              fr="Critère de précision sur le choix de l'instant associé",
15551                              ang="Accuracy criterium over instant choice" ),),
15552          ),
15553 #
15554 # 8. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres
15555 # 8.1. Nombre de noeuds et éléments
15556 #
15557          NOMBRE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
15558                           fr="Nombre de noeuds et éléments du maillage",
15559                           ang="Number of nodes and éléments in the mesh" ),
15560 #
15561 # 8.2. Determination de la qualité des éléments du maillage
15562 #
15563          QUALITE        = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15564                           fr="Qualité du maillage",
15565                           ang="Mesh quality" ),
15566 #
15567 # 8.3. Connexite du maillage
15568 #
15569          CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15570                           fr="Connexité du maillage.",
15571                           ang="Mesh connexity." ),
15572 #
15573 # 8.4. Taille des sous-domaines du maillage
15574 #
15575          TAILLE         = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15576                           fr="Tailles des sous-domaines du maillage.",
15577                           ang="Sizes of mesh sub-domains." ),
15578 #
15579 # 8.5. Controle de la non-interpenetration des éléments
15580 #
15581          INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15582                           fr="Controle de la non interpénétration des éléments.",
15583                           ang="Overlapping checking." ),
15584 #
15585 )  ;
15586 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
15587 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15588 # ======================================================================
15589 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15590 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15591 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15592 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15593 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15594 #
15595 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15596 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15597 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15598 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15599 #
15600 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15601 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15602 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15603 # ======================================================================
15604 # RESPONSABLE F1BHHAJ J.ANGLES
15605 from Macro.macr_ascouf_calc_ops import macr_ascouf_calc_ops
15606 def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,CHARGE,RESU_THER,**args):
15607   self.type_sdprod(MODELE,modele_sdaster)
15608   if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater)
15609   if CARA_ELEM  != None:self.type_sdprod(CARA_ELEM,cara_elem)
15610   if FOND_FISS  != None:self.type_sdprod(FOND_FISS,fond_fiss)
15611   if CHARGE     != None:self.type_sdprod(CHARGE,char_meca)
15612   if RESU_THER  != None:self.type_sdprod(RESU_THER,evol_ther)
15613   return evol_noli
15614
15615 MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=macr_ascouf_calc_prod,
15616                       fr=" ",
15617                       reentrant='n',
15618             UIinfo={"groupes":("Outils métier",)},
15619          regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),),
15620
15621          TYPE_MAILLAGE   =SIMP(statut='o',typ='TXM',
15622                                into=("SAIN",
15623                                      "FISS_COUDE",
15624                                      "FISS_AXIS_DEB",
15625                                      "SOUS_EPAIS_COUDE"
15626                                      ) ),
15627
15628          CL_BOL_P2_GV    =FACT(statut='f',
15629            ANGLE           =SIMP(statut='o',typ='R' ),
15630            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),
15631          ),
15632
15633          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
15634          MODELE          =SIMP(statut='o',typ=(CO,modele_sdaster)),
15635          CHAM_MATER      =SIMP(statut='f',typ=(CO,cham_mater)),
15636          CARA_ELEM       =SIMP(statut='f',typ=(CO,cara_elem)),
15637          FOND_FISS       =SIMP(statut='f',typ=(CO,fond_fiss)),
15638          CHARGE          =SIMP(statut='f',typ=(CO,char_meca)),
15639          RESU_THER       =SIMP(statut='f',typ=(CO,evol_ther)),
15640
15641          AFFE_MATERIAU   =FACT(statut='o',max=3,
15642            regles=(UN_PARMI('TOUT','GROUP_MA'),),
15643            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15644            GROUP_MA        =SIMP(statut='f',typ='TXM',into=("COUDE","BOL") ),
15645            MATER           =SIMP(statut='o',typ=mater_sdaster ),
15646            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
15647          ),
15648
15649          PRES_REP        =FACT(statut='f',
15650            PRES            =SIMP(statut='o',typ='R' ),
15651            EFFE_FOND_P1    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15652            PRES_LEVRE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
15653            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15654          ),
15655
15656          ECHANGE         =FACT(statut='f',
15657            COEF_H          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15658            TEMP_EXT        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15659          ),
15660
15661          TORS_P1         =FACT(statut='f',max=6,
15662            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
15663            FX              =SIMP(statut='f',typ='R' ),
15664            FY              =SIMP(statut='f',typ='R' ),
15665            FZ              =SIMP(statut='f',typ='R' ),
15666            MX              =SIMP(statut='f',typ='R' ),
15667            MY              =SIMP(statut='f',typ='R' ),
15668            MZ              =SIMP(statut='f',typ='R' ),
15669            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15670          ),
15671
15672          COMP_INCR       =FACT(statut='f',
15673            RELATION        =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ),
15674            VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ),
15675          ),
15676
15677          COMP_ELAS       =FACT(statut='f',
15678            RELATION        =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ),
15679            ELAS            =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
15680            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
15681          ),
15682
15683          SOLVEUR         =FACT(statut='d',
15684            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
15685            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
15686              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
15687            ),
15688            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
15689              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
15690            ),
15691            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
15692                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
15693              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
15694              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15695            ),
15696            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
15697              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
15698              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
15699              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
15700              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
15701              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
15702            ),
15703            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
15704          ),
15705
15706          CONVERGENCE     =FACT(statut='d',
15707            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
15708            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
15709            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
15710            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
15711            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
15712                                 ,defaut= 1.0E-6),
15713            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
15714            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
15715            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
15716          ),
15717
15718          NEWTON          =FACT(statut='d',
15719            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
15720            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
15721            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
15722            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
15723            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
15724          ),
15725
15726          RECH_LINEAIRE   =FACT(statut='d',
15727            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
15728            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
15729          ),
15730
15731          INCREMENT       =FACT(statut='o',
15732            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
15733                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
15734            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
15735            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
15736                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
15737            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
15738            INST_INIT       =SIMP(statut='f',typ='R'),
15739            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
15740            INST_FIN        =SIMP(statut='f',typ='R'),
15741            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
15742            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
15743            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
15744            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
15745          ),
15746
15747          THETA_3D        =FACT(statut='f',max='**',
15748            R_INF           =SIMP(statut='o',typ='R' ),
15749            R_SUP           =SIMP(statut='o',typ='R' ),
15750          ),
15751
15752          IMPR_TABLE      =FACT(statut='f',
15753            regles=(UN_PARMI('TOUT_PARA','NOM_PARA', ),
15754             PRESENT_PRESENT('TOUT_PARA','ANGLE',    ),
15755             PRESENT_PRESENT('TOUT_PARA','R_CINTR',  ),
15756                    UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL',),),
15757            NOM_PARA        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=4,
15758                                  into=("TRESCA_MEMBRANE",
15759                                        "TRESCA_MFLE",
15760                                        "TRESCA",
15761                                        "SI_LONG"
15762                                        "SI_RADI"
15763                                        "SI_CIRC"
15764                                        ) ),
15765            TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15766            ANGLE           =SIMP(statut='f',typ='R',max='**' ),
15767            R_CINTR         =SIMP(statut='f',typ='R',max='**' ),
15768            POSI_CURV_LONGI =SIMP(statut='f',typ='R',max='**' ),
15769            POSI_ANGUL      =SIMP(statut='f',typ='R',max='**' ),
15770            TRANSFORMEE     =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ),
15771          ),
15772
15773          IMPRESSION      =FACT(statut='f',
15774            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
15775                                  into=("RESULTAT","ASTER","IDEAS","CASTEM") ),
15776                                  
15777            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
15778              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
15779            ),  
15780
15781            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
15782              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
15783            ),
15784
15785          ),
15786
15787          TITRE           =SIMP(statut='f',typ='TXM' ),
15788
15789          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
15790 )  ;
15791 #& MODIF COMMANDE  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
15792 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15793 # ======================================================================
15794 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15795 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15796 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15797 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15798 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15799 #
15800 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15801 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15802 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15803 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15804 #
15805 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15806 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15807 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15808 # ======================================================================
15809 # RESPONSABLE F1BHHAJ J.ANGLES
15810 from Macro.macr_ascouf_mail_ops import macr_ascouf_mail_ops
15811 MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=maillage_sdaster,
15812                       fr=" ",reentrant='n',
15813             UIinfo={"groupes":("Outils métier",)},
15814
15815          regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),),
15816
15817          EXEC_MAILLAGE   =FACT(statut='o',
15818            LOGICIEL        =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000") ),
15819            UNITE_DATG      =SIMP(statut='f',typ='I',defaut=70),  
15820            UNITE_MGIB      =SIMP(statut='f',typ='I',defaut=19),  
15821            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
15822          ),
15823
15824          TYPE_ELEM       =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8") ),
15825
15826          COUDE           =FACT(statut='o',
15827            ANGLE           =SIMP(statut='o',typ='R' ),  
15828            R_CINTR         =SIMP(statut='o',typ='R' ),  
15829            L_TUBE_P1       =SIMP(statut='o',typ='R' ),  
15830            L_TUBE_P2       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
15831            NB_ELEM_EPAIS   =SIMP(statut='f',typ='I',defaut= 3 ),  
15832            SYME            =SIMP(statut='f',typ='TXM',defaut="ENTIER",into=("ENTIER","QUART","DEMI") ),
15833            TRANSFORMEE     =SIMP(statut='o',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ),
15834            b_transf_coude  =BLOC(condition = "TRANSFORMEE == 'COUDE' ",
15835               DEXT            =SIMP(statut='o',typ='R' ),  
15836               EPAIS           =SIMP(statut='o',typ='R' ),  
15837               SUR_EPAIS       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
15838               BOL_P2          =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ),
15839            ),
15840            b_transf_tube   =BLOC(condition = "TRANSFORMEE == 'TUBE' ",
15841               TRAN_EPAIS      =SIMP(statut='o',typ='TXM',defaut="NON",into=("OUI","NON") ),
15842               b_trans_epais_oui    =BLOC(condition = "TRAN_EPAIS == 'OUI' ",
15843                       regles=(ENSEMBLE('ANGL_TETA2','EPAIS_TI'),
15844                               UN_PARMI('ABSC_CURV_TRAN','POSI_ANGU_TRAN'),),
15845                       DEXT_T1         =SIMP(statut='o',typ='R' ),  
15846                       EPAIS_T1        =SIMP(statut='o',typ='R' ),  
15847                       EPAIS_T2        =SIMP(statut='o',typ='R' ),  
15848                       EPAIS_TI        =SIMP(statut='f',typ='R' ),  
15849                       ANGL_TETA1      =SIMP(statut='o',typ='R' ),  
15850                       ANGL_TETA2      =SIMP(statut='f',typ='R' ),  
15851                       ABSC_CURV_TRAN  =SIMP(statut='f',typ='R' ),  
15852                       POSI_ANGU_TRAN  =SIMP(statut='f',typ='R' ),  
15853               ),
15854               b_trans_epais_non    =BLOC(condition = "TRAN_EPAIS == 'NON' ",
15855                       DEXT            =SIMP(statut='o',typ='R' ),  
15856                       EPAIS           =SIMP(statut='o',typ='R' ),  
15857                       SUR_EPAIS       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
15858                       BOL_P2          =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ),
15859               ),
15860            ),
15861          ),
15862
15863          SOUS_EPAIS_COUDE=FACT(statut='f',
15864            regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
15865                    UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
15866            TYPE            =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
15867            AXE_CIRC        =SIMP(statut='f',typ='R' ),  
15868            AXE_LONGI       =SIMP(statut='o',typ='R' ),  
15869            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
15870            POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),  
15871            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
15872            POSI_CURV_CIRC  =SIMP(statut='f',typ='R' ),  
15873            AZIMUT          =SIMP(statut='f',typ='R' ),  
15874            SOUS_EPAIS      =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
15875            NB_ELEM_LONGI   =SIMP(statut='o',typ='I' ),  
15876            NB_ELEM_CIRC    =SIMP(statut='o',typ='I' ),  
15877            NB_ELEM_RADI    =SIMP(statut='f',typ='I',defaut= 3 ),  
15878            EMPREINTE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15879          ),
15880
15881          SOUS_EPAIS_MULTI=FACT(statut='f',max='**',
15882            regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
15883                    UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
15884            TYPE            =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
15885            AXE_CIRC        =SIMP(statut='f',typ='R' ),  
15886            AXE_LONGI       =SIMP(statut='o',typ='R' ),  
15887            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
15888            POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),  
15889            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
15890            POSI_CURV_CIRC  =SIMP(statut='f',typ='R' ),  
15891            AZIMUT          =SIMP(statut='f',typ='R' ),  
15892            SOUS_EPAIS      =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
15893            NB_ELEM_LONGI   =SIMP(statut='o',typ='I' ),  
15894            NB_ELEM_CIRC    =SIMP(statut='o',typ='I' ),  
15895            EMPREINTE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15896          ),
15897
15898          FISS_COUDE      =FACT(statut='f',
15899            regles=(UN_PARMI('ABSC_CURV','POSI_ANGUL'),),
15900            AXIS            =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),  
15901            b_axis_non    =BLOC(condition = "AXIS == 'NON' ",
15902                    LONGUEUR        =SIMP(statut='o',typ='R' ),  
15903            ),
15904            b_axis_oui    =BLOC(condition = "AXIS == 'OUI' ",
15905                    LONGUEUR        =SIMP(statut='f',typ='R' ),  
15906            ),
15907            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
15908            ABSC_CURV       =SIMP(statut='f',typ='R' ),  
15909            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
15910            FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT") ),
15911            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),  
15912            ORIEN           =SIMP(statut='o',typ='R',
15913                                  into=(45.,-45.,90.,0.E+0) ),
15914            NB_TRANCHE      =SIMP(statut='o',typ='I' ),  
15915            NB_SECTEUR      =SIMP(statut='o',typ='I' ),  
15916            NB_COURONNE     =SIMP(statut='o',typ='I' ),  
15917            RAYON_TORE      =SIMP(statut='f',typ='R' ),  
15918            COEF_MULT_RC2   =SIMP(statut='f',typ='R',defaut= 1. ),  
15919            COEF_MULT_RC3   =SIMP(statut='f',typ='R' ),  
15920            ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.5 ),  
15921          ),
15922
15923          IMPRESSION      =FACT(statut='f',max='**',
15924            regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
15925            FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",   
15926                                  into=("ASTER","IDEAS","CASTEM") ),
15927            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
15928              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
15929            ),  
15930            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
15931              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
15932            ),
15933            FICHIER         =SIMP(statut='f',typ='TXM' ),  
15934            UNITE           =SIMP(statut='f',typ='I' ),  
15935          ),
15936
15937          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
15938 )  ;
15939 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
15940 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15941 # ======================================================================
15942 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15943 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15944 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15945 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15946 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15947 #
15948 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15949 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15950 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15951 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15952 #
15953 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15954 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15955 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15956 # ======================================================================
15957 # RESPONSABLE F1BHHAJ J.ANGLES
15958 from Macro.macr_aspic_calc_ops import macr_aspic_calc_ops
15959
15960 def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,CHARGE,RESU_THER,**args):
15961   if MODELE      != None:self.type_sdprod(MODELE,modele_sdaster)
15962   if CHAM_MATER  != None:self.type_sdprod(CHAM_MATER,cham_mater)
15963   if CARA_ELEM   != None:self.type_sdprod(CARA_ELEM,cara_elem)
15964   if FOND_FISS_1 != None:self.type_sdprod(FOND_FISS_1,fond_fiss)
15965   if FOND_FISS_2 != None:self.type_sdprod(FOND_FISS_2,fond_fiss)
15966   if CHARGE      != None:self.type_sdprod(CHARGE,char_meca)
15967   if RESU_THER   != None:self.type_sdprod(RESU_THER,evol_ther)
15968   return evol_noli
15969
15970 MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_aspic_calc_prod,
15971                     fr=" ",reentrant='n',
15972             UIinfo={"groupes":("Outils métier",)},
15973          regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),),
15974
15975          TYPE_MAILLAGE   =SIMP(statut='o',typ='TXM',
15976                                into=("SAIN_FIN","SAIN_GROS","FISS_COUR_DEB","FISS_COUR_NONDEB","FISS_LONG_DEB",
15977                                      "FISS_LONG_NONDEB","FISS_AXIS_DEB","FISS_AXIS_NONDEB") ),
15978
15979          TUBULURE        =FACT(statut='o',
15980            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2") ),
15981          ),
15982          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
15983          MODELE          =SIMP(statut='f',typ=(CO,modele_sdaster)),
15984          CHAM_MATER      =SIMP(statut='f',typ=(CO,cham_mater)),
15985          CARA_ELEM       =SIMP(statut='f',typ=(CO,cara_elem)),
15986          FOND_FISS_1     =SIMP(statut='f',typ=(CO,fond_fiss)),
15987          FOND_FISS_2     =SIMP(statut='f',typ=(CO,fond_fiss)),
15988          CHARGE          =SIMP(statut='f',typ=(CO,char_meca)),
15989          RESU_THER       =SIMP(statut='f',typ=(CO,evol_ther)),
15990
15991          AFFE_MATERIAU   =FACT(statut='o',max=3,
15992            regles=(UN_PARMI('TOUT','GROUP_MA'),),
15993            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
15994            GROUP_MA        =SIMP(statut='f',typ='TXM',into=("TUBU","CORP","SOUD","SOUDCORP","SOUDTUBU") ),
15995            MATER           =SIMP(statut='o',typ=mater_sdaster),
15996            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
15997            RCCM            =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
15998          ),
15999
16000          EQUILIBRE       =FACT(statut='o',
16001            NOEUD           =SIMP(statut='o',typ=no),
16002          ),
16003
16004          PRES_REP        =FACT(statut='o',
16005            PRES            =SIMP(statut='o',typ='R'),
16006            NOEUD           =SIMP(statut='f',typ=no),
16007            EFFE_FOND       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
16008            PRES_LEVRE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
16009            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16010          ),
16011
16012          ECHANGE         =FACT(statut='f',
16013            COEF_H_TUBU     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16014            COEF_H_CORP     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16015            TEMP_EXT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16016          ),
16017
16018          TORS_CORP       =FACT(statut='f',max=6,
16019            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
16020            NOEUD           =SIMP(statut='o',typ=no),
16021            FX              =SIMP(statut='f',typ='R'),
16022            FY              =SIMP(statut='f',typ='R'),
16023            FZ              =SIMP(statut='f',typ='R'),
16024            MX              =SIMP(statut='f',typ='R'),
16025            MY              =SIMP(statut='f',typ='R'),
16026            MZ              =SIMP(statut='f',typ='R'),
16027            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16028          ),
16029
16030          TORS_TUBU       =FACT(statut='f',max=6,
16031            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
16032            FX              =SIMP(statut='f',typ='R'),
16033            FY              =SIMP(statut='f',typ='R'),
16034            FZ              =SIMP(statut='f',typ='R'),
16035            MX              =SIMP(statut='f',typ='R'),
16036            MY              =SIMP(statut='f',typ='R'),
16037            MZ              =SIMP(statut='f',typ='R'),
16038            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16039          ),
16040
16041          COMP_INCR       =FACT(statut='f',
16042            RELATION        =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ),
16043            VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ),
16044          ),
16045
16046          COMP_ELAS       =FACT(statut='f',
16047            RELATION        =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ),
16048            ELAS            =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
16049            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
16050          ),
16051
16052          THETA_3D        =FACT(statut='f',max='**',
16053            R_INF           =SIMP(statut='o',typ='R'),
16054            R_SUP           =SIMP(statut='o',typ='R'),
16055          ),
16056
16057          OPTION          =SIMP(statut='f',typ='TXM',into=("CALC_G_MAX","CALC_G_MAX_LOCAL") ),
16058          BORNES          =FACT(statut='f',max='**',
16059            NUME_ORDRE      =SIMP(statut='o',typ='I'),
16060            VALE_MIN        =SIMP(statut='o',typ='R'),
16061            VALE_MAX        =SIMP(statut='o',typ='R'),
16062          ),
16063
16064          SOLVEUR         =FACT(statut='d',
16065            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
16066            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
16067              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
16068            ),
16069            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
16070              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
16071            ),
16072            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
16073                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
16074              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
16075              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
16076            ),
16077            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
16078              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
16079              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
16080              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
16081              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
16082              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
16083            ),
16084            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
16085          ),
16086
16087          CONVERGENCE     =FACT(statut='d',
16088            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
16089            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
16090            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
16091            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
16092            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut=1.0E-6),
16093            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut=10),
16094            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut=0),
16095            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
16096          ),
16097
16098          NEWTON          =FACT(statut='d',
16099            REAC_INCR       =SIMP(statut='f',typ='I',defaut=1),
16100            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL","DEPL_CALCULE")),
16101            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE")),
16102            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
16103          ),
16104
16105          RECH_LINEAIRE   =FACT(statut='d',
16106            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut=1.0E-3),
16107            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut=3),
16108          ),
16109
16110          INCREMENT       =FACT(statut='o',
16111            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
16112                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
16113            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
16114            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
16115                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
16116            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
16117            INST_INIT       =SIMP(statut='f',typ='R'),
16118            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
16119            INST_FIN        =SIMP(statut='f',typ='R'),
16120            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
16121            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
16122            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
16123            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
16124          ),
16125
16126          PAS_AZIMUT      =SIMP(statut='f',typ='I',defaut=1),
16127
16128          IMPRESSION      =FACT(statut='f',
16129            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
16130                                  into=("RESULTAT","ASTER","CASTEM","IDEAS")),
16131                                  
16132            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
16133              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
16134            ),  
16135
16136            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
16137              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
16138            ),
16139
16140            b_extrac        =BLOC(condition="((FORMAT=='IDEAS')or(FORMAT=='CASTEM'))",
16141                                  fr="extraction d un champ de grandeur",
16142              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST'),),
16143              NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,
16144                                    into=("DEPL","EQUI_ELNO_SIGM","TEMP")),
16145              
16146              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
16147              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
16148              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
16149            ),      
16150          ),
16151
16152          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
16153
16154          TITRE           =SIMP(statut='f',typ='TXM'),
16155 )
16156 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16157 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16158 # ======================================================================
16159 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16160 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16161 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16162 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16163 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16164 #
16165 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16166 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16167 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16168 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16169 #
16170 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16171 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16172 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16173 # ======================================================================
16174 # RESPONSABLE F1BHHAJ J.ANGLES
16175
16176 from Macro.macr_aspic_mail_ops import macr_aspic_mail_ops
16177
16178 MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= macr_aspic_mail_ops,sd_prod=maillage_sdaster,reentrant='n',
16179                     fr=" ",
16180             UIinfo={"groupes":("Outils métier",)},
16181
16182          EXEC_MAILLAGE   =FACT(statut='o',
16183            LOGICIEL        =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000")),
16184            UNITE_DATG      =SIMP(statut='f',typ='I',defaut=70),  
16185            UNITE_MGIB      =SIMP(statut='f',typ='I',defaut=19),  
16186            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
16187          ),
16188
16189          TYPE_ELEM       =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8")),
16190
16191          RAFF_MAIL       =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")),
16192
16193          TUBULURE        =FACT(statut='o',
16194            E_BASE          =SIMP(statut='o',typ='R'),  
16195            DEXT_BASE       =SIMP(statut='o',typ='R'),  
16196            L_BASE          =SIMP(statut='o',typ='R'),  
16197            L_CHANF         =SIMP(statut='o',typ='R'),  
16198            E_TUBU          =SIMP(statut='o',typ='R'),  
16199            DEXT_TUBU       =SIMP(statut='o',typ='R'),  
16200            Z_MAX           =SIMP(statut='o',typ='R'),  
16201            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
16202            L_PENETR        =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
16203          ),
16204
16205          SOUDURE         =FACT(statut='o',
16206            H_SOUD          =SIMP(statut='o',typ='R'),  
16207            ANGL_SOUD       =SIMP(statut='o',typ='R'),  
16208            JEU_SOUD        =SIMP(statut='o',typ='R'),  
16209          ),
16210
16211          CORPS           =FACT(statut='o',
16212            E_CORP          =SIMP(statut='o',typ='R'),  
16213            DEXT_CORP       =SIMP(statut='o',typ='R'),  
16214            X_MAX           =SIMP(statut='o',typ='R'),  
16215          ),
16216
16217          FISS_SOUDURE    =FACT(statut='f',
16218            TYPE            =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")),
16219            AXIS            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
16220            PROFONDEUR      =SIMP(statut='o',typ='R'),  
16221            LONGUEUR        =SIMP(statut='f',typ='R'),  
16222            AZIMUT          =SIMP(statut='o',typ='R'),  
16223            RAYON_TORE      =SIMP(statut='f',typ='R'),  
16224            POSITION        =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")),
16225            FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")),
16226            LIGA_INT        =SIMP(statut='f',typ='R'),  
16227            ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
16228            COEF_MULT_RC1   =SIMP(statut='f',typ='R'),  
16229            COEF_MULT_RC2   =SIMP(statut='f',typ='R'),  
16230            COEF_MULT_RC3   =SIMP(statut='f',typ='R'),  
16231            NB_TRANCHE      =SIMP(statut='f',typ='I'),  
16232            NB_SECTEUR      =SIMP(statut='f',typ='I'),  
16233            NB_COURONNE     =SIMP(statut='f',typ='I'),  
16234          ),
16235
16236          IMPRESSION      =FACT(statut='f',max='**',
16237            regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
16238            FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")),
16239
16240            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
16241              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
16242            ),  
16243
16244            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
16245              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
16246            ),
16247            FICHIER         =SIMP(statut='f',typ='TXM'),  
16248            UNITE           =SIMP(statut='f',typ='I'),  
16249          ),
16250
16251          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
16252 )  ;
16253 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
16254 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16255 # ======================================================================
16256 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
16257 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16258 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16259 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16260 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16261 #                                                                       
16262 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16263 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16264 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16265 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16266 #                                                                       
16267 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16268 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16269 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16270 # ======================================================================
16271
16272 from Macro.macr_cabri_calc_ops import macr_cabri_calc_ops
16273    
16274 def macr_cabri_calc_prod(self,MODELE_THER,MODELE_MECA,CHAM_MATER,
16275                          CHAR_THER,CHAR_MECA,RESU_THER,**args):
16276   if MODELE_THER != None:
16277    self.type_sdprod(MODELE_THER,modele_sdaster)   
16278   if MODELE_MECA != None:
16279    self.type_sdprod(MODELE_MECA,modele_sdaster)  
16280   if RESU_THER != None:
16281    self.type_sdprod(RESU_THER,evol_ther)     
16282   if CHAM_MATER != None:
16283    self.type_sdprod(CHAM_MATER,cham_mater)     
16284   if CHAR_THER != None: 
16285     for m in CHAR_THER:
16286       self.type_sdprod(m['CHARGE'],char_ther)
16287   if CHAR_MECA != None: 
16288     for m in CHAR_MECA:
16289       self.type_sdprod(m['CHARGE'],char_meca)
16290   return evol_noli
16291
16292
16293 MACR_CABRI_CALC=MACRO(nom="MACR_CABRI_CALC",
16294                       op=macr_cabri_calc_ops,
16295                       sd_prod=macr_cabri_calc_prod,
16296                       fr="Calcul d'une jonction boulonnée de tuyauterie",
16297                       reentrant='n',
16298                       UIinfo={"groupes":("Outils métier",)},
16299                       MAILLAGE   = SIMP(statut='o',typ=maillage_sdaster,),
16300                       AFFE_MATERIAU = FACT(statut='o',max='**',
16301                         regles=(UN_PARMI('TOUT','GROUP_MA',),),
16302                         TOUT     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
16303                         GROUP_MA = SIMP(statut='f',typ='TXM',into=(
16304                                                                   "BRIDE",
16305                                                                   "GOUJON",
16306                                                                   "ROND",
16307                                                                   "ECROU",
16308                                                                   "JOINT",) ),
16309                         MATER    = SIMP(statut='o',typ=mater_sdaster),
16310                         TEMP_REF = SIMP(statut='d',typ='R',defaut= 25. ),
16311                       ),                      
16312                       CHAM_MATER = SIMP(statut = 'f',typ=(cham_mater,CO),),
16313                       MODELE_THER= SIMP(statut = 'f',typ=(modele_sdaster,CO),),
16314                       
16315                       DEFI_CHAR_THER = FACT(statut ='d',
16316                         TEMP_INIT     = SIMP(statut='d',typ='R',defaut= 25.,),
16317                         COEF_H_FLUI   = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16318                         TEMP_EXT_FLUI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16319                         COEF_H_AIR    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16320                         TEMP_EXT_AIR  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16321                         LIST_INST     = SIMP(statut='f',typ=listr8_sdaster),
16322                       ),                      
16323                       
16324                       CHAR_THER  = FACT(statut = 'f',max=4,
16325                         CHARGE    = SIMP(statut='o',typ=(char_ther,CO)),
16326                         TYPE      = SIMP(statut='o',typ='TXM',
16327                                  into=("BRIDE_FLUIDE","BRIDE_AIR","ECROU_GOUJON",
16328                                        "BRIDE_JOINT"),)
16329                                        ),
16330
16331                       RESU_THER  = SIMP(statut = 'f',typ=(evol_ther,CO),),                                       
16332
16333                                        
16334                       MODELE_MECA= SIMP(statut = 'f',typ=(modele_sdaster,CO),),
16335
16336                       DEFI_CHAR_MECA   = FACT(statut='o',
16337                         PRETENS    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16338                         PRES_REP   = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16339                         EFFE_FOND  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16340                       ),                                                             
16341
16342                       CHAR_MECA  = FACT(statut = 'f',max=11,
16343                         CHARGE    = SIMP(statut='o',typ=(char_meca,CO)),
16344                         TYPE      = SIMP(statut='o',typ='TXM',
16345                                  into=("BLOC_BAS_GOUJ","BLOC_BAS_JOINT",
16346                                        "BLOC_LAT_ALES","BLOC_LAT_NALES",
16347                                        "PLAN_TUBE",
16348                                        "PRES_FLU","EFFET_FOND",
16349                                        "CONT_JOINT",
16350                                        "DEFO_THER",
16351                                        "SERR_ECROU_1","SERR_ECROU_2",),)
16352                                        ),
16353                      
16354                       RELATION = SIMP(statut='f',typ='TXM',
16355                                        into=('VMIS_ISOT_TRAC','ELAS','ELAS_VMIS_TRAC',),),
16356                         
16357                       SOLVEUR   = FACT(statut='d',
16358                         METHODE  = SIMP(statut='d',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT",) ),
16359                         b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ",
16360                            fr="Paramètres de la méthode multi frontale",
16361                            RENUM           = SIMP(statut='d',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
16362                            NPREC           = SIMP(statut='d',typ='I',defaut=8),
16363                            STOP_SINGULIER  = SIMP(statut='d',typ='TXM',defaut="OUI",into=("OUI","NON") ),
16364                            ),                 
16365                       ),                                             
16366                       INCREMENT = FACT(statut='f',
16367                         regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
16368                                 EXCLUS('NUME_INST_FIN','INST_FIN'),),
16369                         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
16370                         EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
16371                                  into=("CHRONOLOGIQUE",) ),                                 
16372                         NUME_INST_INIT  =SIMP(statut='f',typ='I'),
16373                         INST_INIT       =SIMP(statut='f',typ='R'),
16374                         NUME_INST_FIN   =SIMP(statut='f',typ='I'),
16375                         INST_FIN        =SIMP(statut='f',typ='R'),
16376                         PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
16377                         SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
16378                         SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
16379                         COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
16380                         OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
16381                         NOM_CHAM        =SIMP(statut='f',typ='TXM',),
16382                         NOM_CMP         =SIMP(statut='f',typ='TXM',),
16383                         VALE            =SIMP(statut='f',typ='R'),
16384                       ),
16385                       NEWTON          =FACT(statut='d',
16386                         REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
16387                         PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL") ),
16388                         MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
16389                         PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
16390                         REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
16391                         EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
16392                       ),
16393                       CONVERGENCE     =FACT(statut='d',
16394                         regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
16395                         SIGM_REFE       =SIMP(statut='f',typ='R'),
16396                         EPSI_REFE       =SIMP(statut='f',typ='R'),
16397                         FLUX_THER_REFE  =SIMP(statut='f',typ='R'),        
16398                         RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
16399                         RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
16400                         RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
16401                         ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
16402                         ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
16403                         RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
16404                                  into=("IMPLICITE",)),
16405                       ),
16406                      );
16407
16408 #& MODIF COMMANDE  DATE 01/03/2005   AUTEUR MABBAS M.ABBAS 
16409 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16410 # ======================================================================
16411 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
16412 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16413 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16414 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16415 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16416 #                                                                       
16417 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16418 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16419 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16420 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16421 #                                                                       
16422 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16423 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16424 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16425 # ======================================================================
16426
16427 from Macro.macr_cabri_mail_ops import macr_cabri_mail_ops
16428
16429 MACR_CABRI_MAIL=MACRO(nom="MACR_CABRI_MAIL",
16430                       op=macr_cabri_mail_ops,
16431                       sd_prod=maillage_sdaster,
16432                       fr="maillage d'une jonction boulonnée de tuyauterie",
16433                       reentrant='n',
16434                       UIinfo={"groupes":("Outils métier",)},
16435                       EXEC_MAILLAGE = FACT(statut='o',
16436                         LOGICIEL      = SIMP(statut = 'o',typ='TXM',into=("GIBI2000",),),
16437                         UNITE_DATG    = SIMP(statut = 'f',typ='I',defaut=70,),
16438                         UNITE_MGIB    = SIMP(statut = 'f',typ='I',defaut=19,),
16439                         NIVE_GIBI     = SIMP(statut = 'f',typ='I',defaut=10,
16440                                           into = (3,4,5,6,7,8,9,10,11),
16441                                             ),
16442                                           ),
16443                       RAFF_MAILLAGE   = FACT(statut = 'd',
16444                         NB_RADIAL    = SIMP(statut = 'f',typ='I',defaut=2,),
16445                         NB_CIRCONF   = SIMP(statut = 'f',typ='I',defaut=3,),
16446                         NB_VERTICAL  = SIMP(statut = 'f',typ='I',defaut=6,),
16447                         NB_ALESAGE   = SIMP(statut = 'f',typ='I',defaut=5,),
16448                                           ),
16449                       VERI_MAIL     = FACT(statut='d',
16450                         VERIF         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),  
16451                         APLAT         = SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
16452                                           ),                                          
16453                       GEOM_BRID     = FACT(statut = 'o',
16454                         NORME         = SIMP(statut = 'o',typ='TXM',into=("OUI","NON"),),
16455                         b_bride_iso   = BLOC(condition = "NORME == 'OUI'",
16456                           TYPE           = SIMP(statut='o',typ='TXM',
16457                                                 into=('A','AA','B','B1','C','D','D1','E','F',
16458                                                       'FF','G','GG','H','H1','I','J','J1',
16459                                                       'K','L','L1','M','N','O','P','S','T','W'), 
16460                                                ),
16461                                             ),
16462                         b_bride_niso  = BLOC(condition = "NORME == 'NON'",
16463                           TUBU_D_EXT     = SIMP(statut='o',typ='R',),
16464                           TUBU_H         = SIMP(statut='o',typ='R',),
16465                           BRID_D_EXT     = SIMP(statut='o',typ='R',),
16466                           BRID_D_INT     = SIMP(statut='o',typ='R',),
16467                           BRID_H         = SIMP(statut='o',typ='R',),
16468                           BRID_D_CONGE   = SIMP(statut='o',typ='R',),
16469                           BRID_R_CONGE   = SIMP(statut='o',typ='R',),
16470                           BRID_D_EPAUL   = SIMP(statut='o',typ='R',),
16471                           BRID_H_EPAUL   = SIMP(statut='o',typ='R',),
16472                           BRID_D_ALESAG  = SIMP(statut='o',typ='R',),
16473                           BRID_P_ALESAG  = SIMP(statut='o',typ='R',),
16474                           BRID_H_ALESAG  = SIMP(statut='o',typ='R',),
16475                           GOUJ_N_GOUJON  = SIMP(statut='o',typ='I',),
16476                           GOUJ_D_GOUJON  = SIMP(statut='o',typ='R',),
16477                           GOUJ_E_FILET   = SIMP(statut='o',typ='R',),
16478                           GOUJ_D_RONDEL  = SIMP(statut='o',typ='R',),
16479                           GOUJ_E_RONDEL  = SIMP(statut='o',typ='R',),
16480                           GOUJ_D_ECROU   = SIMP(statut='o',typ='R',),
16481                           GOUJ_E_ECROU   = SIMP(statut='o',typ='R',),
16482                           ETAN_E_JOINT   = SIMP(statut='o',typ='R',),
16483                                             ),
16484                                          ),
16485                       IMPRESSION    = FACT(statut='d',
16486                         UNITE          = SIMP(statut='f',typ='I'),
16487                         FORMAT         = SIMP(statut='f',typ='TXM',defaut="ASTER",    
16488                                               into=("ASTER","CASTEM","IDEAS"),
16489                                              ),
16490                         b_impr_castem = BLOC(condition = "FORMAT == 'CASTEM'",
16491                           NIVE_GIBI      = SIMP(statut='f',typ='I',defaut=10,into=(3,10),),
16492                                             ),
16493                         b_impr_ideas  = BLOC(condition = "FORMAT == 'IDEAS'",
16494                           VERSION        = SIMP(statut='f',typ='I',defaut=5,into=(4,5),),
16495                                             ),
16496                                           ),
16497                      );
16498
16499 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16500 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16501 # ======================================================================
16502 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
16503 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16504 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16505 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16506 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16507 #                                                                       
16508 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16509 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16510 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16511 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16512 #                                                                       
16513 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16514 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16515 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16516 # ======================================================================
16517 # RESPONSABLE JMBHH01 J.M.PROIX
16518
16519 from Macro.macr_cara_poutre_ops import macr_cara_poutre_ops
16520
16521 MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE",op=macr_cara_poutre_ops,sd_prod=tabl_cara_geom,
16522                        reentrant='n',
16523           UIinfo={"groupes":("Modélisation",)},
16524           fr="caractéristiques d'une section transversale de poutre à partir d'un maillage 2D",
16525           regles=(EXCLUS('SYME_X','GROUP_MA_BORD'),
16526                   EXCLUS('SYME_Y','GROUP_MA_BORD'),),
16527                  
16528           UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 20 ),  
16529           ORIG_INER       =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0),
16530                                 fr="Point par rapport auquel sont calculées les inerties"),  
16531           INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
16532          
16533           SYME_X          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a x=0"),
16534           SYME_Y          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a y=0"),
16535          
16536           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
16537           fr="Calcul des caractéristiques équivalentes a plusieurs sections disjointes"),
16538           
16539           GROUP_MA_BORD   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
16540                                fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"),
16541          
16542                b_gma_bord = BLOC( condition = "GROUP_MA_BORD != None",
16543                             fr=" calcul des carac. mecaniques",
16544
16545                     NOEUD           =SIMP(statut='f',typ=no,max='**',
16546                     fr="Simplement pour empecher des pivots nuls le cas echeant. Fournir un noeud quelconque"),
16547                     GROUP_MA_INTE   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
16548                     fr="groupes de mailles linéiques bordant des trous dans la section"),
16549                     ),
16550                     
16551                b_reseau = BLOC( condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""",
16552                            fr=" calcul des coef de cisaillement équivalents a un reseau de poutres",
16553                             regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,),
16554                             LONGUEUR        =SIMP(statut='f',typ='R',fr="Longueur du réseau de poutres"),  
16555                             MATERIAU        =SIMP(statut='f',typ=mater_sdaster,fr="Materiau elastique lineaire du reseau"),
16556                             LIAISON         =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"),
16557                             fr="type de conditions aux limites sur le plancher supérieur" ),
16558                               ), 
16559                     )
16560 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR VABHHTS J.PELLET 
16561 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16562 # ======================================================================
16563 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
16564 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16565 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16566 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16567 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16568 #                                                                       
16569 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16570 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16571 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16572 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16573 #                                                                       
16574 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16575 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16576 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16577 # ======================================================================
16578
16579
16580 from Macro.macr_ecla_pg_ops import macr_ecla_pg_ops
16581
16582 def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args):
16583   self.type_sdprod(RESULTAT,AsType(RESU_INIT))   
16584   self.type_sdprod(MAILLAGE,maillage_sdaster)
16585   return None
16586
16587
16588 MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",op=macr_ecla_pg_ops,sd_prod=macr_ecla_pg_prod, reentrant='n',
16589              UIinfo={"groupes":("Post traitements",)},
16590              fr="permettre la visualisation des champs aux points de Gauss d'une SD_RESULTAT.",
16591                     
16592
16593              # SD résultat ,modèle et champs à "éclater" :
16594              RESU_INIT       =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",),
16595              MODELE_INIT     =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"),
16596              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
16597                                    into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ),
16598                                    
16599              # paramètres numériques de la commande :
16600              SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
16601              TAILLE_MIN      =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
16602              
16603              # concepts produits par la commande :
16604              RESULTAT        =SIMP(statut='o',typ=(resultat_sdaster,CO),fr="SD_RESULTAT résultat de la commande"),
16605              MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster,CO),fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"),
16606                      
16607              # Sélection éventuelle d'un sous-ensemble des éléments à visualiser :           
16608              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
16609              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
16610              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
16611              
16612              # Sélection des numéros d'ordre :
16613              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
16614              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
16615              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
16616              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
16617              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
16618              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
16619              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
16620              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
16621             )
16622 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16623 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16624 # ======================================================================
16625 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16626 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16627 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16628 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16629 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16630 #
16631 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16632 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16633 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16634 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16635 #
16636 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16637 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16638 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16639 # ======================================================================
16640 MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op=  81,sd_prod=macr_elem_dyna,
16641                     fr="Définition d un macro élément pour analyse modale ou harmonique par sous structuration dynamique",
16642                     reentrant='n',
16643             UIinfo={"groupes":("Matrices/vecteurs",)},
16644          regles=(EXCLUS('MATR_AMOR','AMOR_REDUIT' ),),
16645          BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
16646          MATR_RIGI       =SIMP(statut='f',typ=matr_asse_depl_r ),
16647          MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
16648          MATR_AMOR       =SIMP(statut='f',typ=matr_asse_depl_r ),
16649          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),         
16650          OPTION          =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","RITZ",
16651                           "DIAG_MASS") ),
16652 )  ;
16653 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16654 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16655 # ======================================================================
16656 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16657 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16658 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16659 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16660 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16661 #
16662 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16663 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16664 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16665 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16666 #
16667 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16668 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16669 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16670 # ======================================================================
16671 MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f',
16672             UIinfo={"groupes":("Matrices/vecteurs",)},
16673                     fr="Définition d un macro-élément pour l analyse statique par sous structuration",
16674         regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'),
16675                 ENSEMBLE('DEFINITION','EXTERIEUR'),),
16676          DEFINITION      =FACT(statut='f',
16677            MODELE          =SIMP(statut='o',typ=modele_sdaster),
16678            CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
16679            CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
16680            CHAR_MACR_ELEM  =SIMP(statut='f',typ=char_meca),
16681            INST            =SIMP(statut='f',typ='R',defaut=0.0E+0 ),
16682            NMAX_CAS        =SIMP(statut='f',typ='I',defaut=10),
16683            NMAX_CHAR       =SIMP(statut='f',typ='I',defaut=10),
16684          ),
16685          EXTERIEUR       =FACT(statut='f',
16686            regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),),
16687            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
16688            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
16689          ),
16690          RIGI_MECA       =FACT(statut='f',
16691          ),
16692          MASS_MECA       =FACT(statut='f',
16693          ),
16694          CAS_CHARGE      =FACT(statut='f',max='**',
16695            NOM_CAS         =SIMP(statut='o',typ='TXM'),
16696            SUIV            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
16697            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
16698            INST            =SIMP(statut='f',typ='R',defaut=0.E+0),
16699          ),
16700 )  ;
16701 #& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
16702 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16703 # ======================================================================
16704 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
16705 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16706 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16707 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16708 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16709 #                                                                       
16710 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16711 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16712 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16713 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16714 #                                                                       
16715 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16716 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16717 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16718 # ======================================================================
16719 # RESPONSABLE GNICOLAS G.NICOLAS
16720
16721 from Macro.macr_fiabilite_ops import macr_fiabilite_ops
16722
16723 #
16724 #====
16725 # 1. Le retour : une liste de rééls.
16726 #====
16727 #
16728 def macr_fiabilite_prod ( self , **args ):
16729   return listr8_sdaster
16730 #
16731 #====
16732 # 2. L'entete
16733 #====
16734 #
16735 MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops,
16736                          docu="U7.03.31",
16737                          sd_prod=macr_fiabilite_prod,
16738                          fr="Faire de la mécanique fiabiliste.",
16739                          ang="Fiability mechanics.",
16740 #
16741 #====
16742 # 3. Le niveau d'information
16743 #====
16744 #
16745    INFO           = SIMP(statut="f",typ="I",defaut=1,into=(1,2)),
16746 #
16747 #====
16748 # 4. Nom et Version du logiciel de fiabilité
16749 #====
16750 #
16751    LOGICIEL = SIMP(statut="f",typ="TXM",defaut="MEFISTO",
16752                    into=("MEFISTO",),
16753                    fr="Nom du logiciel de fiabilité.",
16754                    ang="Fiability software name."),
16755 #
16756    VERSION = SIMP(statut="f",typ="TXM",defaut="V3_2",
16757                   into=("V3_2", "V3_N"),
16758                   fr="Version du logiciel de fiabilité.",
16759                   ang="Fiability software release."),
16760 #
16761 #====
16762 # 5. Les entrees-sorties du calcul ASTER déterministe
16763 #====
16764 #
16765 # 5.1. ==> Le jeu de commandes déterministe
16766 #
16767    UNITE_ESCL = SIMP(statut="o",typ="I",
16768                      fr="Unité logique associée aux commandes du calcul ASTER déterministe.",
16769                      ang="Logical unit for the commands of the ASTER deterministic calculation."),
16770 #
16771 # 5.2. ==> Le destin des messages produits par ASTER
16772 #
16773    MESS_ASTER = SIMP(statut="f",typ="TXM",defaut="DERNIER",
16774                         into=("AUCUN", "DERNIER", "TOUS"),
16775                         fr="Quels messages ASTER récupérer.",
16776                         ang="Which ASTER messages must be kept."),
16777 #
16778 #====
16779 # 6. Options
16780 #====
16781 # 6.1. ==> Générales
16782 #
16783 # 6.1.1. ==> La valeur du seuil
16784 #
16785    SEUIL = SIMP(statut="o",typ="R",max=1,
16786                 fr="Le seuil de défaillance.",
16787                 ang="Failure threshold."),
16788 #
16789 # 6.1.2. ==> Le type du seuil : on a deux cas de figure selon que
16790 #            la défaillance a lieu au dessus d'un seuil maximum ou
16791 #            en dessous d'un seuil minimum
16792 #
16793    SEUIL_TYPE = SIMP(statut="o",typ="TXM",max=1,
16794                      into=("MINIMUM","MAXIMUM"),
16795                      fr="Que faut-il ne pas dépasser : un maximum ou un minimum.",
16796                      ang="What is the failure threshold : maximum or minimum."),
16797 #
16798 # 6.2. ==> Pour MEFISTO
16799 #
16800 ### en attente de résolution de AL 2004-006 (1/2)   b_mefisto=BLOC( condition = "LOGICIEL=='MEFISTO'",
16801 #
16802 # 6.2.1. ==> Pilotage de la recherche du point de conception
16803 #
16804      RECH_PT_CONCEPT = SIMP(statut="f",typ="TXM",defaut="OUI",
16805                             into=("OUI","NON"),
16806                             fr="Pour trouver le point de conception.",
16807                             ang="To find the design point."),
16808 #
16809      b_rech_pt_concept=BLOC( condition = "RECH_PT_CONCEPT=='OUI'",
16810 #
16811        EPSILON_U = SIMP(statut="f",typ="R",defaut=1.0E-2,
16812                         fr="Précision du test d'arret sur les points itératifs dans l'espace standard.",
16813                         ang="Precision of stop test for iterative points in standard space."),
16814 #
16815        EPSILON_G = SIMP(statut="f",typ="R",defaut=1.0E-2,
16816                         fr="Précision du test d'arret sur la proximité de la surface d'état limite.",
16817                         ang="Precision of stop test for limit state surface."),
16818 #
16819        TAU       = SIMP(statut="f",typ="R",defaut=5.0E-1,
16820                         fr="Paramètre de la méthode de minimisation.",
16821                         ang="Parameter for the minimization method."),
16822 #
16823        OMEGA     = SIMP(statut="f",typ="R",defaut=1.0E-4,
16824                         fr="Paramètre de la méthode de minimisation.",
16825                         ang="Parameter for the minimization method."),
16826 #
16827        ITER_MAX  = SIMP(statut="f",typ="I",defaut=50,
16828                         fr="Nombre maximum d'itérations.",
16829                         ang="Maximum number of iterations."),
16830      ),
16831 #
16832 # 6.2.2. ==> Méthode(s) employée(s) pour la probabilité de défaillance
16833 #
16834      METHODE_FORM = SIMP(statut="f",typ="TXM",defaut="OUI",
16835                          into=("OUI","NON"),
16836                          fr="Recherche de la probabilité de défaillance avec la méthode FORM.",
16837                          ang="Research of failure probability with FORM method."),
16838 #
16839      METHODE_SORM = SIMP(statut="f",typ="TXM",defaut="NON",
16840                          into=("OUI","NON"),
16841                          fr="Recherche de la probabilité de défaillance avec la méthode SORM.",
16842                          ang="Research of failure probability with SORM method."),
16843 #
16844      TIRAGE_IMPORTANCE = SIMP(statut="f",typ="TXM",defaut="NON",
16845                               into=("OUI","NON"),
16846                               fr="Recherche de la probabilité de défaillance avec le tirage d'importance.",
16847                               ang="Research of failure probability with ."),
16848 #
16849      b_tirage_importance=BLOC( condition = "TIRAGE_IMPORTANCE=='OUI'",
16850 #
16851        NB_SIMULATION = SIMP(statut="f",typ="I",defaut=3,
16852                             fr="Nombre de simulations pour le tirage d'importance.",
16853                             ang="Number of simulation for."),
16854 #
16855      ),
16856 #
16857 # 6.2.3. ==> Création d'une surface de réponse polynomiale
16858 #
16859      POLYNOME_TAYLOR   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),),
16860      HGRAD             = SIMP(statut="f",typ="R",defaut=1.0E-2,
16861                               fr="Pas incrémental pour le calcul des gradients.",
16862                               ang="Step for calculation of gradients."),
16863      HHESS             = SIMP(statut="f",typ="R",defaut=1.0E-2,
16864                               fr="Pas incrémental pour le calcul des dérivées secondes.",
16865                               ang="Step for calculation of second derivatives."),
16866 #
16867 # 6.2.4. ==> Recherche d'un plan d'expérience
16868 #
16869      PLAN_EXPERIENCE   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16870                               fr="Construction d'un plan d'expérience.",
16871                               ang="Construction of an experiment plan."),
16872 #
16873      b_plan_experience=BLOC( condition = "PLAN_EXPERIENCE=='OUI'",
16874 #
16875        ALPHA         = SIMP(statut="f",typ="R",defaut=2.0E-1,
16876                             fr="Plan d'expérience : maille du plan de type composite centré.",
16877                             ang="Experiment plane : mesh centered composite."),
16878 #
16879        BETA          = SIMP(statut="f",typ="R",defaut=4.0E-1,
16880                             fr="Plan d'expérience : maille du plan de type factoriel.",
16881                             ang="Experiment plane : mesh factor."),
16882 #
16883      ),
16884 #
16885 # 6.2.5. ==> Les tests
16886 # 6.2.5.1. ==> Test de la sphere
16887 #
16888      T_SPHERE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16889                      fr="Test de la sphère.",
16890                      ang="Sphere test."),
16891 #
16892      b_test_de_la_sphere=BLOC( condition = "T_SPHERE=='OUI'",
16893 #
16894        METHODE_TEST = SIMP(statut="f",typ="TXM",defaut="GAUSSIENNE",
16895                            into=("GAUSSIENNE","PARAMETRIQUE","REJECTION"),
16896                            fr="Type de méthode.",
16897                            ang="Method."),
16898 #
16899        NB_POINT     = SIMP(statut="f",typ="I",max=1,defaut=60,
16900                            fr="Nombre de points de la sphere.",
16901                            ang="Number of points over the sphere.")
16902      ),
16903 #
16904 # 6.2.5.2. ==> Test du maximum fort
16905 #
16906      T_MAXIMUM_FORT = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16907                            fr="Test du maximum fort.",
16908                            ang="Strong maximum test."),
16909 #
16910      b_test_du_maximum_fort=BLOC( condition = "T_MAXIMUM_FORT=='OUI'",
16911 #
16912        COS_LIM = SIMP(statut="f",typ="R",max=1,defaut=1.0,
16913                       fr="Cosinus de l'angle d'exclusion.",
16914                       ang="Cosine of angle of exclusion."),
16915 #
16916        DPROB   = SIMP(statut="f",typ="R",max=1,defaut=4.3E-1,
16917                       fr="Fraction d'iso-densité de probabilité de défaillance.",
16918                       ang="Fraction.")
16919 #
16920      ),
16921 #
16922 # 6.2.5.3. ==> Test du hessien
16923 #
16924      T_HESSIEN = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16925                       fr="Test du hessien.",
16926                       ang="Hessian test."),
16927 #
16928 # 6.2.6. ==> Les correlations entre les variables
16929 #
16930      MATRICE = SIMP(statut="o",typ="R",max="**",
16931                     fr="Matrice de corrélation entre les variables.",
16932                     ang="Correlation matrix."), 
16933 #
16934 ### en attente de résolution de AL 2004-006 (2/2)   ),
16935 #
16936 #====
16937 # 7. Definition des paramètres
16938 #====
16939 #
16940    VARIABLE = FACT(statut="o",min=1,max="**",
16941 #
16942 # 7.1. ==> Nom de la variable
16943 #
16944        NOM = SIMP(statut="o",typ="TXM",
16945                   fr="Nom de la variable, identique au nom de concept PARA_SENSI.",
16946                   ang="Name of the variable, identical to the name of the PARA_SENSI conceipt."),
16947 #
16948 # 7.2. ==> Loi de distribution
16949 #
16950        LOI = SIMP(statut="o",typ="TXM",
16951                   into=("UNIFORME","NORMALE","LOGNORMALE","NORMALE_TRONQUEE"),
16952                   fr="Choix de la loi",
16953                   ang="Law."),
16954 #
16955 # 7.2.1. ==> Loi normale
16956 #
16957        b_normale=BLOC(condition="LOI=='NORMALE'",
16958 #
16959          VALE_MOY   = SIMP(statut="o",typ="R",max=1,
16960                                fr="Valeur moyenne.",
16961                                ang="Mean value."),
16962 #
16963          ECART_TYPE = SIMP(statut="o",typ="R",max=1,
16964                                fr="Ecart type.",
16965                                ang="Standard deviation."),
16966 #
16967        ),
16968 #
16969 # 7.2.2. ==> Loi lognormale
16970 #
16971        b_lognormale=BLOC(condition="LOI=='LOGNORMALE'",
16972 #
16973          VALE_MIN       = SIMP(statut="o",typ="R",max=1,
16974                                    fr="Valeur minimale.",
16975                                    ang="Minimal value."),
16976 #
16977          VALE_MOY       = SIMP(statut="f",typ="R",max=1,
16978                                    fr="Valeur moyenne dans l'espace de la loi normale.",
16979                                    ang="Mean value in the space of the normal law."),
16980 #
16981          ECART_TYPE     = SIMP(statut="f",typ="R",max=1,
16982                                    fr="Ecart type dans l'espace de la loi normale.",
16983                                    ang="Standard deviation in the space of the normal law."),
16984 #
16985          VALE_MOY_PHY   = SIMP(statut="f",typ="R",max=1,
16986                                    fr="Valeur moyenne dans l'espace physique.",
16987                                    ang="Mean value in the physical space."),
16988 #
16989          ECART_TYPE_PHY = SIMP(statut="f",typ="R",max=1,
16990                                    fr="Ecart type dans l'espace physique.",
16991                                    ang="Standard deviation in the physical space."),
16992 #
16993          regles=(AU_MOINS_UN("VALE_MOY"  ,"VALE_MOY_PHY"),
16994                  AU_MOINS_UN("ECART_TYPE","ECART_TYPE_PHY"),
16995                  EXCLUS  ("VALE_MOY"  ,"VALE_MOY_PHY"),
16996                  EXCLUS  ("VALE_MOY"  ,"ECART_TYPE_PHY"),
16997                  EXCLUS  ("ECART_TYPE","VALE_MOY_PHY"),
16998                  EXCLUS  ("ECART_TYPE","ECART_TYPE_PHY")),
16999 #
17000        ),
17001 #
17002 # 7.2.3. ==> Loi uniforme
17003 #
17004        b_uniforme=BLOC(condition="LOI=='UNIFORME'",
17005 #
17006          VALE_MIN = SIMP(statut="o",typ="R",max=1,
17007                              fr="Valeur minimale.",
17008                              ang="Minimal value."),
17009 #
17010          VALE_MAX = SIMP(statut="o",typ="R",max=1,
17011                              fr="Valeur maximale.",
17012                              ang="Maximal value."),
17013 #
17014        ),
17015 #
17016 # 7.2.4. ==> Loi normale tronquée
17017 #
17018        b_normale_tronquee=BLOC(condition="LOI=='NORMALE_TRONQUEE'",
17019 #
17020          VALE_MOY   = SIMP(statut="o",typ="R",max=1,
17021                                fr="Valeur moyenne de la loi normale complète.",
17022                                ang="Mean value for the entire normal law."),
17023 #
17024          ECART_TYPE = SIMP(statut="o",typ="R",max=1,
17025                                fr="Ecart type de la loi normale complète.",
17026                                ang="Standard deviation for the entire normal law."),
17027 #
17028          VALE_MIN   = SIMP(statut="o",typ="R",max=1,
17029                                fr="Valeur minimale.",
17030                                ang="Minimal value."),
17031 #
17032          VALE_MAX   = SIMP(statut="o",typ="R.",max=1,
17033                                fr="Valeur maximale.",
17034                                ang="Maximal value."),
17035 #
17036        ),
17037 #
17038 # 7.3. ==> Paramètres de calcul
17039 # 7.3.1. ==> Soit on cherche le point de conception, soit on le connait deja
17040 #
17041        regles=(EXCLUS("POINT_INI","POINT_CONCEPT"),
17042                EXCLUS("POINT_REF","POINT_CONCEPT"),),
17043 #
17044 # 7.3.2. ==> Quand on cherche le point de conception, on peut préciser le départ de l'algorithme.
17045 #            Si on ne le fait pas, le programme prendra la valeur moyenne.
17046 #
17047        POINT_INI = SIMP(statut="f",typ="R",max=1,
17048                           fr="Point de démarrage de l'algorithme itératif.",
17049                           ang="Initial point for iterative process."),
17050 #
17051 # 7.3.3. ==> Quand on cherche le point de conception, on peut préciser un point de référence pour normaliser.
17052 #            Si on ne le fait pas, le programme prendra la valeur moyenne.
17053 #
17054        POINT_REF = SIMP(statut="f",typ="R",max=1,
17055                           fr="Point de référence de l'algorithme itératif.",
17056                           ang="Reference point for iterative process."),
17057 #
17058 # 7.3.4. ==> Quand on cherche uniquement la probabilité de défaillance, il faut donner le point de conception
17059 #
17060        POINT_CONCEPT = SIMP(statut="f",typ="R",max=1,
17061                               fr="Point de conception.",
17062                               ang="Design point."),
17063 #
17064 # 7.4. ==> Mode d'obtention du gradient par rapport à ce paramètre
17065 #
17066        GRADIENT = SIMP(statut="o",typ="TXM",max=1,
17067                            into=("OUI","NON"),
17068                            fr="ASTER calcule directement le gradient.",
17069                        ang="ASTER computes the gradient for this parameter."),
17070
17071        b_gradient=BLOC(condition="GRADIENT=='NON'",
17072          INCREMENT = SIMP(statut="o",typ="R",max=1,
17073                              fr="Incrément dans la direction.",
17074                          ang="Direction increment."),
17075        ),
17076
17077    ),
17078 #
17079 );
17080 #& MODIF COMMANDE  DATE 07/10/2004   AUTEUR GNICOLAS G.NICOLAS 
17081 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17082 # ======================================================================
17083 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
17084 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
17085 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
17086 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
17087 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
17088 #                                                                       
17089 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
17090 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
17091 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
17092 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
17093 #                                                                       
17094 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17095 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
17096 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
17097 # ======================================================================
17098 # RESPONSABLE GNICOLAS G.NICOLAS
17099
17100 from Macro.macr_fiab_impr_ops import macr_fiab_impr_ops
17101
17102 MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops,
17103                      docu="U7.04.41",
17104                      fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.",
17105                      ang="Print values for the fiability software",
17106 #
17107 # 1. Le niveau d'information
17108 #
17109    INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17110 #
17111 # 2. Impression de la valeur de la cible
17112 #
17113 # 2.1. ==> La table contenant la valeur à imprimer
17114 #
17115    TABLE_CIBLE = SIMP(statut='o',typ=table_sdaster,
17116                  fr="Table contenant la valeur cible.",
17117                  ang="Table which includes the target value."),
17118 #
17119 # 2.2. ==> Le nom du paramètre associé à la valeur cible dans cette table
17120 #
17121    NOM_PARA_CIBLE = SIMP(statut='o',typ='TXM',
17122                     fr="Nom du paramètre associé à la valeur cible.",
17123                     ang="Name of the parameter connected to the target value."),
17124 #
17125 # 3. Impressions des valeurs des éventuels gradients
17126 #
17127    GRADIENTS = FACT(statut='f',min=1,max='**',
17128 #
17129 # 3.1. ==> La table contenant la valeur à imprimer
17130 #
17131        TABLE = SIMP(statut='o',typ=table_sdaster,
17132                     fr="Table contenant le gradient.",
17133                     ang="Table which includes the gradient."),
17134 #
17135 # 3.2. ==> Le paramètre sensible
17136 #
17137        PARA_SENSI = SIMP(statut='o',typ=(para_sensi,theta_geom),
17138                        fr="Paramètre sensible associé au gradient.",
17139                        ang="Sensitivity parameter connected to the gradient."),
17140 #
17141 # 3.3. ==> Le nom du paramètre associé au gradient dans cette table
17142 #
17143        NOM_PARA = SIMP(statut='o',typ='TXM',
17144                        fr="Nom du paramètre associé au gradient.",
17145                        ang="Name of the parameter connected to the gradient."),
17146 #
17147          ),
17148 #
17149 );
17150 #& MODIF COMMANDE  DATE 05/12/2006   AUTEUR GNICOLAS G.NICOLAS 
17151 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17152 # ======================================================================
17153 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17154 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17155 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17156 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17157 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17158 #
17159 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17160 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17161 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17162 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17163 #
17164 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17165 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17166 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17167 # ======================================================================
17168 # RESPONSABLE GNICOLAS G.NICOLAS
17169
17170 from Macro.macr_adap_mail_ops import macr_adap_mail_ops
17171
17172 MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
17173                      docu="U7.03.02-b",
17174                      fr="Donner des informations sur un maillage.",
17175                      ang="To give information about a mesh.",
17176 #
17177 # 1. Le niveau d'information
17178 #
17179          INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17180 #
17181 # 2. Version de HOMARD
17182 #
17183          VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V7_9",
17184                                into=("V7_9", "V7_N", "V7_N_PERSO"),
17185                            fr="Version de HOMARD",
17186                            ang="HOMARD release"),
17187 #
17188 # 3. Langue des messages issus de HOMARD
17189 #
17190          LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
17191                                into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
17192                            fr="Langue des messages issus de HOMARD.",
17193                            ang="Language for HOMARD messages." ),
17194 #
17195 # 4. Gestion des éléments autres que des simplexes
17196 #       0 : autres elements refusés
17197 #       1 : analyse exclusivement sur les simplexes, mais autres éléments acceptés
17198 #       2 : tous (defaut)
17199 #
17200          NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2),
17201                           fr="Acceptation d'éléments quad, hexa et penta",
17202                           ang="quad, hexa and penta elements allowed" ),
17203 #
17204 # 5. Le nom du maillage a analyser
17205 #
17206          MAILLAGE       = SIMP(statut='o',typ=maillage_sdaster,
17207                            fr="Maillage à analyser.",
17208                            ang="Mesh to be checked." ),
17209 #
17210 # 6. Suivi d'une frontiere
17211 #
17212          MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
17213                            fr="Maillage de la frontiere à suivre",
17214                            ang="Boundary mesh" ),
17215 #
17216          b_frontiere   =BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
17217                            fr="Groupes définissant la frontière",
17218                            ang="Groups which define the boundary",
17219                            GROUP_MA       = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ),
17220                            ) ,
17221 #
17222 # 7. Les options ; par defaut, on ne fait que les nombres
17223 # 7.1. Nombre de noeuds et elements
17224 #
17225          NOMBRE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
17226                           fr="Nombre de noeuds et éléments du maillage",
17227                           ang="Number of nodes and elements in the mesh" ),
17228 #
17229 # 7.2. Determination de la qualite des elements du maillage
17230 #
17231          QUALITE        = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17232                           fr="Qualité du maillage",
17233                           ang="Mesh quality" ),
17234 #
17235 # 7.3. Connexite du maillage
17236 #
17237          CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17238                           fr="Connexité du maillage.",
17239                           ang="Mesh connexity." ),
17240 #
17241 # 7.4. Taille des sous-domaines du maillage
17242 #
17243          TAILLE         = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17244                           fr="Tailles des sous-domaines du maillage.",
17245                           ang="Sizes of mesh sub-domains." ),
17246 #
17247 # 7.5. Controle de la non-interpenetration des elements
17248 #
17249          INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17250                           fr="Controle de la non interpénétration des éléments.",
17251                           ang="Overlapping checking." ),
17252 #
17253 )  ;
17254 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17255 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17256 # ======================================================================
17257 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
17258 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
17259 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
17260 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
17261 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
17262 #                                                                       
17263 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
17264 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
17265 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
17266 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
17267 #                                                                       
17268 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17269 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
17270 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
17271 # ======================================================================
17272
17273 from Macro.macr_lign_coupe_ops import macr_lign_coupe_ops
17274
17275 def macr_lign_coupe_prod(self,LIGN_COUPE,**args):
17276   if not LIGN_COUPE:  raise AsException("Impossible de typer les concepts resultats")
17277   for m in LIGN_COUPE:
17278     self.type_sdprod(m['TABLE'],table_sdaster)
17279   return None
17280
17281
17282 MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=macr_lign_coupe_prod,
17283                        reentrant='n',
17284             UIinfo={"groupes":("Outils métier",)},
17285                        fr="extraction d un résultat sur des lignes de coupes définies par 2 points et un intervalle",
17286          RESULTAT        =SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ),
17287          b_meca        =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli)",fr="résultat mécanique",
17288            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='SIGM_NOEU_DEPL' ),  
17289          ),
17290          b_ther        =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique",
17291            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='TEMP' ),  
17292          ),
17293          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
17294          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=25),  
17295          LIGN_COUPE     =FACT(statut='o',max='**',
17296            NB_POINTS       =SIMP(statut='o',typ='I'),
17297            COOR_ORIG       =SIMP(statut='o',typ='R',min=2,max=3),  
17298            COOR_EXTR       =SIMP(statut='o',typ='R',min=2,max=3),  
17299            TABLE           =SIMP(statut='o',typ=(table_sdaster,CO)), 
17300          ),
17301 )  ;
17302 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17303 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17304 # ======================================================================
17305 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17306 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17307 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17308 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17309 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17310 #
17311 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17312 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17313 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17314 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17315 #
17316 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17317 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17318 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17319 # ======================================================================
17320 # RESPONSABLE G8BHHXD X.DESROCHES
17321
17322 from Macro.macro_elas_mult_ops import macro_elas_mult_ops
17323
17324 def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ):
17325   self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
17326   if CAS_CHARGE[0]['NOM_CAS']      != None : return mult_elas
17327   if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas
17328   raise AsException("type de concept resultat non prevu")
17329
17330 MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro_elas_mult_prod,reentrant='f',
17331             UIinfo={"groupes":("Résolution",)},
17332          regles=(UN_PARMI('CHAR_MECA_GLOBAL','CHAR_CINE_GLOBAL','LIAISON_DISCRET', ),),
17333          MODELE          =SIMP(statut='o',typ=modele_sdaster),
17334          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
17335          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
17336          NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)),
17337          CHAR_MECA_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17338          CHAR_CINE_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17339          LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)),
17340          CAS_CHARGE      =FACT(statut='o',max='**',
17341            regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'),
17342                    UN_PARMI('CHAR_MECA','CHAR_CINE','VECT_ASSE'),),
17343            NOM_CAS         =SIMP(statut='f',typ='TXM' ),
17344            MODE_FOURIER    =SIMP(statut='f',typ='I' ),
17345            TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
17346            CHAR_MECA       =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17347            CHAR_CINE       =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17348            OPTION          =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
17349                                  into=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
17350                                        "SIGM_ELNO_CART","EFGE_ELNO_CART","DEGE_ELNO_DEPL","EPSI_ELNO_DEPL",
17351                                        "EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO","EPSP_ELGA",
17352                                        "ECIN_ELEM_DEPL","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC",
17353                                        "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG","INTE_ELNO_ACTI",
17354                                        "INTE_ELNO_REAC","SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA",
17355                                        "ERRE_ELEM_NOZ2","VNOR_ELEM_DEPL","ERRE_ELNO_ELGA","SIRE_ELNO_DEPL",
17356                                        "ERRE_ELGA_NORE","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI",
17357                                        "EQUI_ELGA_EPSI","FORC_NODA","REAC_NODA","EPSI_NOEU_DEPL","SIGM_NOEU_DEPL",
17358                                        "EFGE_NOEU_DEPL","EQUI_NOEU_SIGM","EQUI_NOEU_EPSI","FLUX_NOEU_TEMP") ),
17359            NUME_COUCHE     =SIMP(statut='f',typ='I',defaut=1),
17360            NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY")),
17361            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
17362            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r),
17363          ),
17364          SOLVEUR         =FACT(statut='d',
17365            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ),
17366            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",
17367                                     fr="Paramètres de la méthode multi frontale",
17368              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17369            ),
17370            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
17371              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
17372             ),
17373            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
17374                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
17375              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
17376              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17377            ),
17378          ),
17379          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)),
17380          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
17381 )  ;
17382 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17383 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17384 # ======================================================================
17385 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17386 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17387 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17388 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17389 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17390 #
17391 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17392 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17393 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17394 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17395 #
17396 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17397 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17398 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17399 # ======================================================================
17400
17401 from Macro.macro_matr_ajou_ops import macro_matr_ajou_ops
17402
17403 def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args):
17404   self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r)
17405   self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r)
17406   self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r)
17407   if FORC_AJOU != None:
17408     for m in FORC_AJOU:
17409       self.type_sdprod(m['VECTEUR'],vect_asse_gene)
17410
17411   return None
17412
17413 MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro_matr_ajou_prod,
17414             UIinfo={"groupes":("Matrices/vecteurs",)},
17415       regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
17416               AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'),
17417               EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
17418               EXCLUS('MONO_APPUI','MODE_STAT',),
17419              ),
17420          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
17421          GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma),
17422          GROUP_MA_INTERF =SIMP(statut='o',typ=grma),
17423          MODELISATION    =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")),
17424          FLUIDE          =FACT(statut='o',max='**',
17425            RHO             =SIMP(statut='o',typ='R'),
17426            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
17427            GROUP_MA        =SIMP(statut='f',typ=grma),
17428            MAILLE          =SIMP(statut='f',typ=ma),
17429          ),
17430          DDL_IMPO        =FACT(statut='o',max='**',
17431            regles=(UN_PARMI('NOEUD','GROUP_NO'),
17432                    UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),),
17433            NOEUD           =SIMP(statut='f',typ=no),
17434            GROUP_NO        =SIMP(statut='f',typ=grno),
17435            PRES_FLUIDE     =SIMP(statut='f',typ='R'),
17436            PRES_SORTIE     =SIMP(statut='f',typ='R'),
17437          ),
17438          ECOULEMENT      =FACT(statut='f',
17439            GROUP_MA_1      =SIMP(statut='o',typ=grma),
17440            GROUP_MA_2      =SIMP(statut='o',typ=grma),
17441            VNOR_1          =SIMP(statut='o',typ='R'),
17442            VNOR_2          =SIMP(statut='f',typ='R'),
17443            POTENTIEL       =SIMP(statut='f',typ=evol_ther),
17444          ),
17445          MODE_MECA       =SIMP(statut='f',typ=mode_meca),
17446          DEPL_IMPO       =SIMP(statut='f',typ=cham_no_depl_r),
17447          MODELE_GENE     =SIMP(statut='f',typ=modele_gene),
17448          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene),
17449          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.0E-2),
17450          MATR_MASS_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
17451          MATR_RIGI_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
17452          MATR_AMOR_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
17453          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",),),
17454          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),),
17455          FORC_AJOU       =FACT(statut='f',max='**',
17456            DIRECTION     =SIMP(statut='o',typ='R',max=3),
17457            NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
17458            GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
17459            VECTEUR       =SIMP(statut='o',typ=(CO,vect_asse_gene)),
17460          ),
17461          SOLVEUR         =FACT(statut='d',
17462            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
17463            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
17464              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17465            ),
17466            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
17467              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
17468            ),
17469            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
17470                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
17471              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
17472              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17473            ),
17474            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
17475              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
17476              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
17477              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
17478              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
17479              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
17480            ),
17481          ),
17482          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17483          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
17484          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
17485 )
17486 #& MODIF COMMANDE  DATE 01/02/2005   AUTEUR VABHHTS J.PELLET 
17487 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17488 # ======================================================================
17489 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17490 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17491 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17492 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
17493 # (AT YOUR OPTION) ANY LATER VERSION.
17494 #
17495 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
17496 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
17497 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
17498 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
17499 #
17500 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17501 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17502 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
17503 # ======================================================================
17504
17505 from Macro.macro_matr_asse_ops import macro_matr_asse_ops
17506
17507 def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args):
17508   if not MATR_ASSE:  raise AsException("Impossible de typer les concepts resultats")
17509   if not NUME_DDL:  raise AsException("Impossible de typer les concepts resultats")
17510   self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
17511   for m in MATR_ASSE:
17512     opti=m['OPTION']
17513
17514     if opti in ( "RIGI_MECA","RIGI_FLUI_STRU","RIGI_MECA_LAGR" ,
17515        "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA",
17516        "AMOR_MECA","IMPE_MECA","MASS_ID_MDEP_R","MASS_ID_MDNS_R",
17517        "ONDE_FLUI","MASS_MECA_DIAG" ) : t=matr_asse_depl_r
17518
17519     if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c
17520
17521     if opti in ( "RIGI_THER","MASS_THER","RIGI_THER_CONV" ,
17522        "RIGI_THER_CONV_D","MASS_ID_MTEM_R","MASS_ID_MTNS_R",) : t=matr_asse_temp_r
17523
17524     if opti == "RIGI_MECA_HYST"   : t= matr_asse_depl_c
17525
17526     self.type_sdprod(m['MATRICE'],t)
17527   return None
17528
17529 MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops,
17530             UIinfo={"groupes":("Matrices/vecteurs",)},
17531                       sd_prod=macro_matr_asse_prod,
17532                       fr="Calcul des matrices assemblées (matr_asse_gd) par exemple de rigidité, de masse ",
17533          MODELE          =SIMP(statut='o',typ=modele_sdaster),
17534          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
17535          INST            =SIMP(statut='f',typ='R',defaut=0.),
17536          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
17537          CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'),
17538          NUME_DDL        =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)),
17539          SOLVEUR         =FACT(statut='d',
17540            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",
17541                                  into=("LDLT","MULT_FRONT","GCPC")),
17542            RENUM           =SIMP(statut='f',typ='TXM',into=("SANS","RCMK","MD","MDA","METIS")),
17543          ),
17544
17545          MATR_ASSE       =FACT(statut='o',max='**',
17546              MATRICE         =SIMP(statut='o',typ=(matr_asse,CO)),
17547              OPTION          =SIMP(statut='o',typ='TXM',
17548                                    into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG",
17549                                          "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA",
17550                                          "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU",
17551                                          "RIGI_ROTA","RIGI_GEOM","RIGI_MECA_LAGR",
17552                                          "RIGI_THER","MASS_THER",
17553                                          "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",
17554                                          "MASS_ID_MTEM_R","MASS_ID_MTNS_R","MASS_ID_MDEP_R","MASS_ID_MDNS_R",)
17555                                    ),
17556
17557              b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
17558                MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
17559              ),
17560
17561              b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'",
17562                SIEF_ELGA       =SIMP(statut='o',typ=cham_elem_sief_r),
17563                MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
17564              ),
17565
17566              b_rigi_meca_lagr = BLOC( condition = "OPTION=='RIGI_MECA_LAGR'",
17567                THETA           =SIMP(statut='o',typ=theta_geom),
17568                PROPAGATION     =SIMP(statut='f',typ='R'),
17569              ),
17570
17571              b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'",
17572                MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
17573              ),
17574
17575          ), # fin MATR_ASSE
17576
17577          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
17578          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17579 )  ;
17580 #& MODIF COMMANDE  DATE 03/11/2004   AUTEUR ACBHHCD G.DEVESA 
17581 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17582 # ======================================================================
17583 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17584 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17585 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17586 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17587 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17588 #
17589 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17590 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17591 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17592 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17593 #
17594 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17595 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17596 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17597 # ======================================================================
17598
17599 from Macro.macro_miss_3d_ops import macro_miss_3d_ops
17600
17601 MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops,fr=" ",
17602             UIinfo={"groupes":("Matrices/vecteurs",)},
17603          OPTION          =FACT(statut='o',
17604            regles=(UN_PARMI('TOUT','MODULE'),),
17605            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
17606            MODULE          =SIMP(statut='f',typ='TXM',into=("PRE_MISS","MISS_EVOL","MISS_IMPE")),
17607          ),
17608          PROJET          =SIMP(statut='o',typ='TXM'),  
17609          REPERTOIRE      =SIMP(statut='f',typ='TXM'),
17610          VERSION         =SIMP(statut='f',typ='TXM',into=("V1_2","V1_3",),defaut="V1_2"),
17611          UNITE_IMPR_ASTER=SIMP(statut='f',typ='I',defaut=25),  
17612          UNITE_OPTI_MISS =SIMP(statut='f',typ='I',defaut=26),  
17613          UNITE_MODELE_SOL=SIMP(statut='f',typ='I',defaut=27),  
17614          UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),  
17615 )  ;
17616 #& MODIF COMMANDE  DATE 28/02/2005   AUTEUR DURAND C.DURAND 
17617 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17618 # ======================================================================
17619 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17620 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17621 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17622 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17623 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17624 #
17625 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17626 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17627 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17628 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17629 #
17630 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17631 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17632 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17633 # ======================================================================
17634
17635 from Macro.macro_mode_meca_ops import macro_mode_meca_ops
17636
17637 MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=mode_meca,
17638                      reentrant='n',
17639             UIinfo={"groupes":("Résolution",)},
17640          MATR_A          =SIMP(statut='o',typ=matr_asse_depl_r ),
17641          MATR_B          =SIMP(statut='o',typ=matr_asse_depl_r ),
17642          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
17643 #  ce mot cle ne devrait il pas etre dans calc_freq  
17644          METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",    
17645                                into=("TRI_DIAG","JACOBI","SORENSEN",) ),
17646          b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
17647            PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
17648            NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
17649            PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
17650            NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
17651          ),
17652          b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
17653            PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
17654            NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
17655            PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
17656            NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
17657          ),
17658          b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
17659            PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
17660            NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
17661            PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
17662          ),
17663          OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",    
17664                                into=("MODE_RIGIDE","SANS") ),
17665          CALC_FREQ       =FACT(statut='d',min=0,
17666            regles=(UN_PARMI('FREQ','FREQ_MAX'),
17667                    PRESENT_PRESENT('FREQ_MIN','FREQ_MAX'),
17668                    PRESENT_PRESENT('FREQ_MAX','NB_BLOC_FREQ'),
17669                    EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
17670            FREQ            =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max='**',val_min=0.E+0 ),  
17671            FREQ_MIN        =SIMP(statut='f',typ='R' ),  
17672            FREQ_MAX        =SIMP(statut='f',typ='R' ),  
17673            NB_BLOC_FREQ    =SIMP(statut='f',typ='I' ),  
17674            DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),  
17675            COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
17676            NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),  
17677            NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),  
17678            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2 ),  
17679            SEUIL_FREQ      =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ),  
17680            STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ),
17681          ),
17682          VERI_MODE       =FACT(statut='d',min=0,
17683            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17684            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6 ),  
17685            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3 ),  
17686            STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17687          ),
17688          NORM_MODE       =FACT(statut='o',max='**',
17689            MASS_INER       =SIMP(statut='o',typ=tabl_mass_iner ),
17690            NORME           =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA",    
17691                                  into=("MASS_GENE","RIGI_GENE","EUCL",           
17692                                        "EUCL_TRAN","TRAN","TRAN_ROTA") ),
17693            INFO            =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ),
17694          ),
17695          FILTRE_MODE     =FACT(statut='f',
17696            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
17697                                  into=("MASS_EFFE_UN","MASS_GENE") ),
17698            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
17699          ),
17700          IMPRESSION      =FACT(statut='d',
17701            TOUT_PARA       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17702            CUMUL           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17703            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
17704                                  into=("MASS_EFFE_UN","MASS_GENE",) ),
17705          ),
17706 )  ;
17707 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17708 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17709 # ======================================================================
17710 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17711 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17712 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17713 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17714 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17715 #
17716 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17717 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17718 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17719 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17720 #
17721 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17722 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17723 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17724 # ======================================================================
17725
17726 from Macro.macro_proj_base_ops import macro_proj_base_ops
17727
17728 def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args ):
17729   if MATR_ASSE_GENE != None:
17730     for m in MATR_ASSE_GENE:
17731       self.type_sdprod(m['MATRICE'],matr_asse_gene_r)
17732       self.type_sdprod(m['MATR_ASSE'],matr_asse_depl_r)
17733   if VECT_ASSE_GENE != None:
17734     for v in VECT_ASSE_GENE:
17735       self.type_sdprod(v['VECTEUR'],vect_asse_gene)
17736   return None
17737
17738 MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops,
17739             UIinfo={"groupes":("Matrices/vecteurs",)},
17740                       sd_prod=macro_proj_base_prod,
17741                       fr="Projection des matrices et/ou vecteurs assemblés sur une base de vecteurs",
17742          BASE            =SIMP(statut='o',typ=(mode_meca,mode_stat,base_modale,mode_gene) ),
17743          NB_VECT         =SIMP(statut='f',typ='I',defaut= 9999),
17744          PROFIL          =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("PLEIN","DIAG") ),
17745          MATR_ASSE_GENE  =FACT(statut='f',max='**',
17746            MATRICE         =SIMP(statut='o',typ=(CO,matr_asse)),
17747            MATR_ASSE       =SIMP(statut='f',typ=matr_asse_depl_r),
17748            MATR_ASSE_GENE  =SIMP(statut='f',typ=matr_asse_gene_r),
17749          ),
17750          VECT_ASSE_GENE  =FACT(statut='f',max='**',
17751            VECTEUR         =SIMP(statut='o',typ=(CO,vect_asse)),
17752            TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
17753            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r),
17754            VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene),
17755          ),
17756          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17757 )  ;
17758 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17759 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17760 # ======================================================================
17761 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
17762 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
17763 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
17764 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
17765 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
17766 #                                                                       
17767 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
17768 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
17769 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
17770 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
17771 #                                                                       
17772 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17773 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
17774 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
17775 # ======================================================================
17776    
17777 from Macro.macr_recal_ops import macr_recal_ops
17778
17779 def macr_recal_prod(self,**args ):
17780   return listr8_sdaster
17781
17782 MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops,
17783             UIinfo={"groupes":("Résultats et champs",)},
17784                       sd_prod=macr_recal_prod,
17785                       fr="Réalise le recalage de modèles Aster",
17786          UNITE_ESCL      =SIMP(statut='o',typ='I'),
17787          RESU_EXP        =SIMP(statut='o',typ=assd,max='**'),
17788          POIDS           =SIMP(statut='f',typ=assd,max='**'),
17789          RESU_CALC       =SIMP(statut='o',typ=assd,max='**'),
17790          LIST_PARA       =SIMP(statut='o',typ=assd,max='**'),
17791          ITER_MAXI       =SIMP(statut='f',typ='I',defaut=10),
17792          RESI_GLOB_RELA  =SIMP(statut='f',typ='R',defaut=1.E-3),
17793          UNITE_RESU      =SIMP(statut='f',typ='I',defaut=91),
17794          PARA_DIFF_FINI  =SIMP(statut='f',typ='R',defaut=0.001),
17795          GRAPHIQUE       =FACT(statut='d',
17796            UNITE           =SIMP(statut='f',typ='I',defaut=90),
17797            INTERACTIF      =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")),)
17798 )  ;
17799 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17800 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17801 # ======================================================================
17802 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17803 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17804 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17805 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17806 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17807 #
17808 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17809 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17810 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17811 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17812 #
17813 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17814 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17815 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17816 # ======================================================================
17817 MAJ_CATA=PROC(nom="MAJ_CATA",op=20,
17818             UIinfo={"groupes":("Gestion du travail",)},
17819               fr="Compilation des catalogues de commandes et d éléments",
17820
17821          ELEMENT         =FACT(statut='f',),
17822
17823 )  ;
17824 #& MODIF COMMANDE  DATE 10/02/2005   AUTEUR LEBOUVIE F.LEBOUVIER 
17825 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17826 # ======================================================================
17827 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17828 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17829 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17830 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
17831 # (AT YOUR OPTION) ANY LATER VERSION.
17832 #
17833 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
17834 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
17835 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
17836 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
17837 #
17838 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17839 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17840 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
17841 # ======================================================================
17842 # RESPONSABLE VABHHTS J.PELLET
17843 MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
17844                    fr="Analyse mécanique statique linéaire",reentrant='f',
17845             UIinfo={"groupes":("Résolution",)},
17846                    regles=(EXCLUS("INST","LIST_INST"),
17847                            AU_MOINS_UN('CHAM_MATER','CARA_ELEM',), ),
17848          MODELE          =SIMP(statut='o',typ=modele_sdaster),
17849          CHAM_MATER      =SIMP(statut='f',typ=cham_mater,
17850          fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)",
17851          ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"),
17852          CARA_ELEM       =SIMP(statut='f',typ=cara_elem,
17853          fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...",
17854          ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."),
17855          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
17856          EXCIT           =FACT(statut='o',max='**',
17857            CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
17858            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17859            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
17860          ),
17861          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17862          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
17863          INST_FIN        =SIMP(statut='f',typ='R'),
17864          OPTION          =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA_DEPL","SANS"),defaut="SIEF_ELGA_DEPL",max=1,
17865              fr="seule option : contraintes aux points de Gauss. Utiliser CALC_ELEM pour les autres.",
17866                           ),
17867          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
17868                                fr="Liste des paramètres de sensibilité.",
17869                                ang="List of sensitivity parameters"),
17870          SOLVEUR         =FACT(statut='d',
17871          METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","FETI") ),
17872            b_feti          =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1",
17873              PARTITION       =SIMP(statut='o',typ=sd_feti_sdaster),
17874              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17875              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.),
17876              NMAX_ITER       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
17877              TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ),              
17878              NB_REORTHO_DD   =SIMP(statut='f',typ='I',defaut=0,val_min=0),
17879              PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ),
17880              SCALING         =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ),                
17881              VERIF_SDFETI    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),           
17882              TEST_CONTINU    =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.),
17883              INFO_FETI       =SIMP(statut='f',typ='TXM',defaut='FFFFFFFF')                      
17884            ),
17885            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
17886              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17887            ),
17888            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
17889              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
17890            ),
17891            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' or METHODE == 'FETI' ",
17892                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
17893              NPREC           =SIMP(statut='f',typ='I',defaut=8),
17894              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17895            ),
17896            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
17897              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
17898              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
17899              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
17900              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6),
17901              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
17902            ),
17903          ),
17904          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
17905 )  ;
17906 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17907 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17908 # ======================================================================
17909 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17910 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17911 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17912 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17913 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17914 #
17915 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17916 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17917 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17918 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17919 #
17920 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17921 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17922 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17923 # ======================================================================
17924 # RESPONSABLE GNICOLAS G.NICOLAS
17925 MEMO_NOM_SENSI=PROC(nom="MEMO_NOM_SENSI",op=129,
17926             UIinfo={"groupes":("Fonction",)},
17927                     fr="Mémorisation des noms des concepts dérivés.",
17928                     ang="Memorisation of the names of the sensitive concepts.",
17929
17930          regles=(AU_MOINS_UN('NOM','NOM_ZERO','NOM_UN'),),
17931
17932          NOM=FACT(statut='f',max='**',
17933              regles=(PRESENT_PRESENT('MOT_CLE','VALEUR','MOT_FACT' ),),
17934
17935              NOM_SD=SIMP(statut='o',typ='TXM',
17936                          fr="Nom de la structure de base",
17937                          ang="Name of the basic structure"),
17938
17939              PARA_SENSI=SIMP(statut='o',typ=(para_sensi,theta_geom),
17940                          fr="Nom du paramètre sensible",
17941                          ang="Name of the sensitive parameter"),
17942
17943              NOM_COMPOSE=SIMP(statut='f',typ='TXM',defaut=" ",
17944                          fr="Nom de la structure composée",
17945                          ang="Name of the built structure"),
17946
17947              MOT_FACT=SIMP(statut='f',typ='TXM',max='**',
17948                          fr="Liste des mots clés facteurs concernés par la dérivation",
17949                          ang="Factor keyword list involved in derivation"),
17950
17951              MOT_CLE=SIMP(statut='f',typ='TXM',max='**',
17952                          fr="Liste des mots clés concernés par la dérivation",
17953                          ang="Keyword list involved in derivation"),
17954
17955              VALEUR=SIMP(statut='f',typ='TXM',max='**',
17956                          fr="Liste des objets concernés par la dérivation",
17957                          ang="Object list involved in derivation"),
17958
17959                  ),
17960
17961          NOM_ZERO=SIMP(statut='f',typ=fonction_sdaster,
17962                        fr="Nom de la fonction nulle",
17963                        ang="Name of the zero fonction"),
17964
17965          NOM_UN  =SIMP(statut='f',typ=fonction_sdaster,
17966                        fr="Nom de la fonction unité",
17967                        ang="Name of the one fonction"),
17968
17969 )  ;
17970 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17971 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17972 # ======================================================================
17973 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17974 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17975 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17976 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17977 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17978 #
17979 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17980 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17981 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17982 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17983 #
17984 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17985 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17986 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17987 # ======================================================================
17988 MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op=  80,sd_prod=mode_cycl,
17989                     fr="Modes propres d une structure à répétitivité cyclique à partir d une base de modes propres réels",
17990                     reentrant='n',
17991             UIinfo={"groupes":("Résolution",)},
17992          BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
17993          NB_MODE         =SIMP(statut='f',typ='I',defaut= 999 ),
17994          NB_SECTEUR      =SIMP(statut='o',typ='I' ),
17995          LIAISON         =FACT(statut='o',
17996            DROITE          =SIMP(statut='o',typ='TXM' ),
17997            GAUCHE          =SIMP(statut='o',typ='TXM' ),
17998            AXE             =SIMP(statut='f',typ='TXM' ),
17999          ),
18000          VERI_CYCL       =FACT(statut='f',
18001            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
18002            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ),
18003            DIST_REFE       =SIMP(statut='f',typ='R' ),
18004          ),
18005          CALCUL          =FACT(statut='o',
18006            TOUT_DIAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
18007            NB_DIAM         =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18008            OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE"
18009                                 ,into=("PLUS_PETITE","CENTRE","BANDE") ),
18010            b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
18011              FREQ            =SIMP(statut='o',typ='R',),
18012            ),
18013            b_bande       =BLOC(condition = "OPTION == 'BANDE'",
18014              FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2),
18015            ),
18016 #  NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE                                
18017            NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10 ),
18018            PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 100. ),
18019            PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
18020            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 50 ),
18021          ),
18022          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18023 )  ;
18024 #& MODIF COMMANDE  DATE 20/10/2004   AUTEUR DURAND C.DURAND 
18025 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18026 # ======================================================================
18027 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18028 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18029 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18030 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18031 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18032 #
18033 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18034 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18035 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18036 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18037 #
18038 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18039 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18040 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18041 # ======================================================================
18042 def mode_iter_inv_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
18043   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
18044   if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
18045   if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
18046   if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
18047   if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
18048   raise AsException("type de concept resultat non prevu")
18049
18050 MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op=  44,sd_prod=mode_iter_inv_prod
18051                     ,fr="Modes propres par itérations inverses ; valeurs propres et modes réels ou complexes",
18052                      reentrant='n',
18053             UIinfo={"groupes":("Résolution",)},
18054          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
18055          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
18056          MATR_C          =SIMP(statut='f',typ=matr_asse_depl_r ),
18057          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",   
18058                                into=("MODE_FLAMB","DYNAMIQUE"),fr="Type d analyse" ),
18059          b_dynam         =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
18060            CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
18061            
18062              OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
18063                                    fr="Choix de l option pour estimer les valeurs propres"  ),
18064              FREQ            =SIMP(statut='o',typ='R',max='**'),
18065              AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),     
18066              NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
18067              NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
18068              PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
18069              NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=0 ),
18070              PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
18071
18072              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
18073              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18074              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
18075              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
18076            ),
18077          ),
18078          b_flamb        =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
18079            CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
18080            
18081              OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
18082                                  fr="Choix de l option pour estimer les valeurs propres"  ),
18083              CHAR_CRIT       =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
18084              NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
18085              NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
18086              PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
18087              NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ),
18088              PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
18089            
18090              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
18091              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18092              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
18093              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
18094            ),
18095          ),
18096          CALC_MODE       =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres",
18097            OPTION          =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ),
18098            PREC            =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=0.E+0,fr="Précision de convergence" ),
18099            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ),
18100          ),
18101          VERI_MODE       =FACT(statut='d',min=0,
18102            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18103            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0,
18104                                  fr="Valeur limite admise pour l ereur a posteriori des modes"  ),
18105          ),
18106          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
18107                                fr="Liste des param\350tres de sensibilit\351.",
18108                                ang="List of sensitivity parameters",
18109          ),
18110          b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
18111              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
18112              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
18113              EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
18114          ),
18115          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18116          TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18117 )  ;
18118 #& MODIF COMMANDE  DATE 20/10/2004   AUTEUR DURAND C.DURAND 
18119 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18120 # ======================================================================
18121 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18122 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18123 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18124 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18125 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18126 #
18127 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18128 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18129 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18130 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18131 #
18132 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18133 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18134 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18135 # ======================================================================
18136 def mode_iter_simult_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
18137   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
18138   if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
18139   if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
18140   if AsType(MATR_A) == matr_asse_depl_c : return mode_meca_c
18141   if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
18142   if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
18143   raise AsException("type de concept resultat non prevu")
18144
18145 MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op=  45,sd_prod=mode_iter_simult_prod,
18146                       fr="Modes propres par itérations simultanées ; valeurs propres et modes propres réels ou complexes",
18147                       reentrant='n',
18148             UIinfo={"groupes":("Résolution",)},
18149          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ),
18150          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
18151          MATR_C          =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
18152          METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",
18153                                into=("TRI_DIAG","JACOBI","SORENSEN") ),
18154          b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
18155            PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
18156            NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18157            PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
18158            NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
18159          ),
18160          b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
18161            PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
18162            NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
18163            PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
18164            NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
18165          ),
18166          b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
18167            PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
18168            NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
18169            PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
18170          ),
18171          TYPE_RESU       =SIMP(statut='f',position='global',typ='TXM',defaut="DYNAMIQUE",
18172                                into=("MODE_FLAMB","DYNAMIQUE"),
18173                                fr="Type d analyse" ),
18174          OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"),
18175                                fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ),
18176
18177          b_flamb         =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
18178            CALC_FREQ       =FACT(statut='d',min=0,
18179              OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
18180                                    fr="Choix de l option et par conséquent du shift du problème modal" ),
18181              b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
18182                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
18183              ),
18184              b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
18185                                  fr="Recherche des valeurs propres les plus proches d une valeur donnée",
18186                CHAR_CRIT       =SIMP(statut='o',typ='R',
18187                                      fr="Charge critique autour de laquelle on cherche les charges critiques propres"),
18188                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
18189              ),
18190              b_bande       =BLOC(condition = "(OPTION == 'BANDE')",
18191                                  fr="Recherche des valeurs propres dans une bande donnée",
18192                CHAR_CRIT       =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
18193                                      fr="Valeur des deux charges critiques délimitant la bande de recherche"),
18194              ),           
18195              APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"),
18196                                    fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
18197              regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
18198              DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
18199              COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
18200              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
18201              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18202              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
18203              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
18204            ),
18205          ),
18206
18207          b_dynam        =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
18208            CALC_FREQ       =FACT(statut='d',min=0,
18209              OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
18210                                    fr="Choix de l option et par conséquent du shift du problème modal" ),
18211              b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
18212                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
18213              ),
18214              b_centre       =BLOC(condition = "OPTION == 'CENTRE'",
18215                                   fr="Recherche des valeurs propres les plus proches d une valeur donnée",
18216                FREQ            =SIMP(statut='o',typ='R',
18217                                      fr="Fréquence autour de laquelle on cherche les fréquences propres"),
18218                AMOR_REDUIT     =SIMP(statut='f',typ='R',),
18219                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
18220              ),
18221              b_bande         =BLOC(condition = "(OPTION == 'BANDE')",
18222                                    fr="Recherche des valeurs propres dans une bande donnée",
18223                FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
18224                                      fr="Valeur des deux fréquences délimitant la bande de recherche"),
18225              ),           
18226              APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"),
18227                                    fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
18228              regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
18229              DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
18230              COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
18231              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
18232              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18233              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
18234              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
18235            ),
18236          ),
18237
18238          VERI_MODE       =FACT(statut='d',min=0,
18239            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18240            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ),
18241            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0,
18242                                  fr="Valeur limite admise pour l ereur a posteriori des modes" ),
18243            STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18244          ),
18245          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
18246                                fr="Liste des param\350tres de sensibilit\351.",
18247                                ang="List of sensitivity parameters",
18248          ),
18249          b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
18250              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
18251              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
18252              EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
18253          ),
18254          STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18255          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18256          TITRE           =SIMP(statut='f',typ='TXM',max='**'),        
18257 )  ;
18258 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18259 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18260 # ======================================================================
18261 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18262 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18263 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18264 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18265 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18266 #
18267 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18268 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18269 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18270 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18271 #
18272 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18273 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18274 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18275 # ======================================================================
18276 def mode_stat_prod(MODE_STAT,FORCE_NODALE,PSEUDO_MODE,**args):
18277  if (MODE_STAT != None)          : return mode_stat_depl
18278  if (PSEUDO_MODE !=None)         : return mode_stat_acce
18279  if (FORCE_NODALE != None)       : return mode_stat_forc
18280  raise AsException("type de concept resultat non prevu")
18281 MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod,
18282                    fr="Calcul de modes statiques",
18283                    reentrant='n',
18284             UIinfo={"groupes":("Résolution",)},
18285          MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
18286          MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
18287                regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE'),),
18288          MODE_STAT       =FACT(statut='f',max='**',
18289            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
18290                    UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
18291            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
18292            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
18293            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
18294            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
18295            AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18296            SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18297          ),
18298          FORCE_NODALE    =FACT(statut='f',max='**',
18299            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
18300                    UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
18301            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",), ),
18302            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
18303            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
18304            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",), ),
18305            AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18306            SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18307          ),
18308          PSEUDO_MODE       =FACT(statut='f',max='**',
18309            regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),),
18310            AXE             =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3),
18311            DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3),
18312            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
18313            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
18314            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
18315            b_dir           =BLOC(condition = "DIRECTION != None",
18316              NOM_DIR         =SIMP(statut='f',typ='TXM' ),),
18317            b_cmp          =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None",
18318              regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
18319              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
18320              AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18321              SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'), 
18322         ),
18323          ),
18324          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
18325          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
18326 )  ;
18327 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18328 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18329 # ======================================================================
18330 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18331 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18332 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18333 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18334 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18335 #
18336 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18337 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18338 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18339 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18340 #
18341 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18342 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18343 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18344 # ======================================================================
18345 MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca,
18346                       reentrant='f',
18347             UIinfo={"groupes":("Matrices/vecteurs",)},
18348 #  la commande modi_base _modale : reentrant = f ou o                      
18349          regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),),
18350          BASE            =SIMP(statut='o',typ=mode_meca ),
18351          BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu_sdaster ),
18352          NUME_VITE_FLUI  =SIMP(statut='o',typ='I' ),
18353          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18354          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
18355          AMOR_UNIF       =SIMP(statut='f',typ='R' ),
18356          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
18357          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
18358 )  ;
18359 #& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
18360 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18361 # ======================================================================
18362 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18363 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18364 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18365 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18366 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18367 #
18368 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18369 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18370 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18371 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18372 #
18373 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18374 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18375 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18376 # ======================================================================
18377 # RESPONSABLE G8BHHXD X.DESROCHES
18378 MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
18379                    fr="Modification de la connectivité de groupes de mailles 2D ou 3D affectées à la modélisation de contact",
18380                    reentrant='o',
18381             UIinfo={"groupes":("Maillage",)},
18382       regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18383                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
18384                        'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB8','SYMETRIE',
18385                        ),
18386               PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18387                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18388               PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D',
18389                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18390               PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D',
18391                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18392               PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA',
18393                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18394               PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18395                        'PLAQ_TUBE','MODI_MAILLE',),
18396               PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18397                        'PLAQ_TUBE','MODI_MAILLE',),
18398               PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18399                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE',),
18400               PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18401                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE',),
18402               EXCLUS('EQUE_PIQUA','PLAQ_TUBE'),
18403               EXCLUS('EQUE_PIQUA','TUBE_COUDE'),
18404               EXCLUS('ROTATION','MODI_BASE'),
18405               EXCLUS('SYMETRIE','ROTATION'),
18406               EXCLUS('SYMETRIE','TRANSLATION'),
18407               EXCLUS('SYMETRIE','MODI_BASE'),
18408               EXCLUS('SYMETRIE','ECHELLE'),
18409               ),
18410          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
18411
18412          ORIE_FISSURE    =FACT(statut='f',
18413            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18414          ),
18415
18416          DEFORME         =FACT(statut='f',
18417            OPTION          =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ),
18418            DEPL            =SIMP(statut='o',typ=cham_no_depl_r ),
18419         b_deform        =BLOC(condition = "OPTION=='TRAN_APPUI'", 
18420            GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),
18421            GROUP_NO_STRU  = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),),
18422          ),
18423
18424          EQUE_PIQUA      =FACT(statut='f',
18425            GROUP_NO        =SIMP(statut='o',typ=grno),
18426            E_BASE          =SIMP(statut='o',typ='R' ),
18427            DEXT_BASE       =SIMP(statut='o',typ='R' ),
18428            L_BASE          =SIMP(statut='o',typ='R' ),
18429            L_CHANF         =SIMP(statut='o',typ='R' ),
18430            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
18431            H_SOUD          =SIMP(statut='o',typ='R' ),
18432            ANGL_SOUD       =SIMP(statut='o',typ='R' ),
18433            JEU_SOUD        =SIMP(statut='o',typ='R' ),
18434            E_CORP          =SIMP(statut='o',typ='R' ),
18435            DEXT_CORP       =SIMP(statut='o',typ='R' ),
18436            AZIMUT          =SIMP(statut='o',typ='R' ),
18437            RAFF_MAIL       =SIMP(statut='o',typ='TXM' ),
18438            X_MAX           =SIMP(statut='o',typ='R' ),
18439          ),
18440          ORIE_PEAU_2D    =FACT(statut='f',max='**',
18441            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18442          ),
18443          ORIE_PEAU_3D    =FACT(statut='f',max='**',
18444            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18445          ),
18446          ORIE_SHB8       =FACT(statut='f',max=1,
18447            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18448          ),
18449          ORIE_NORM_COQUE =FACT(statut='f',max='**',
18450            regles=(EXCLUS('NOEUD','GROUP_NO'),
18451                    PRESENT_PRESENT('NOEUD','VECT_NORM'),
18452                    PRESENT_PRESENT('GROUP_NO','VECT_NORM'),),
18453            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18454            VECT_NORM       =SIMP(statut='f',typ='R',max=3),
18455            NOEUD           =SIMP(statut='f',typ=no),
18456            GROUP_NO        =SIMP(statut='f',typ=grno),
18457          ),
18458          b_modele        =BLOC(condition = "(ORIE_PEAU_2D != None) or (ORIE_PEAU_3D != None) or(ORIE_NORM_COQUE != None)",
18459            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
18460          ),
18461          PLAQ_TUBE       =FACT(statut='f',
18462            DEXT            =SIMP(statut='o',typ='R' ),
18463            EPAIS           =SIMP(statut='o',typ='R' ),
18464            L_TUBE_P1       =SIMP(statut='o',typ='R' ),
18465            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),
18466            COUTURE         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",)  ),
18467          ),
18468          TUBE_COUDE      =FACT(statut='f',
18469            ANGLE           =SIMP(statut='o',typ='R' ),
18470            R_CINTR         =SIMP(statut='o',typ='R' ),
18471            L_TUBE_P1       =SIMP(statut='o',typ='R' ),
18472          ),
18473          MODI_MAILLE     =FACT(statut='f',max=1,
18474            regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),),
18475            OPTION          =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ),
18476            GROUP_MA_FOND   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1),
18477            MAILLE_FOND     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max=1),
18478            GROUP_NO_FOND   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
18479            NOEUD_FOND      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
18480          ),
18481          MODI_BASE       =FACT(statut='f',
18482            VECT_X          =SIMP(statut='o',typ='R',min=2,max=3),
18483            VECT_Y          =SIMP(statut='f',typ='R',min=2,max=3),
18484          ),
18485          ECHELLE         =SIMP(statut='f',typ='R',),        
18486          TRANSLATION     =SIMP(statut='f',typ='R',min=2,max=3),
18487          ROTATION        =FACT(statut='f',max='**',
18488            POIN_1           =SIMP(statut='o',typ='R',min=2,max=3),
18489            ANGL             =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
18490            regles=(EXCLUS('DIR','POIN_2'),),
18491            POIN_2           =SIMP(statut='f',typ='R',min=2,max=3),
18492            DIR              =SIMP(statut='f',typ='R',min=2,max=3),
18493          ),
18494          SYMETRIE        =FACT(statut='f',max='**',
18495                           fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.",
18496            POINT           =SIMP(statut='o',typ='R',min=2,max=3,
18497                             fr="Point appartenant à la droite ou au plan."),
18498            AXE_1           =SIMP(statut='o',typ='R',min=2,max=3,
18499                             fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."),
18500            AXE_2           =SIMP(statut='f',typ='R',min=3,max=3,
18501                             fr="2nd vecteur appartenant du plan."),
18502          ),
18503          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18504 )  ;
18505 #& MODIF COMMANDE  DATE 05/07/2004   AUTEUR GENIAUT S.GENIAUT 
18506 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18507 # ======================================================================
18508 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
18509 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
18510 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
18511 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
18512 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
18513 #                                                                       
18514 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
18515 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
18516 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
18517 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
18518 #                                                                       
18519 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
18520 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
18521 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
18522 # ======================================================================
18523
18524 MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f',
18525             UIinfo={"groupes":("Modélisation",)},
18526                fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes",
18527
18528     MODELE_IN       =SIMP(statut='o',typ=modele_sdaster,min=01,max=01,),
18529     FISSURE         =SIMP(statut='o',typ=fiss_xfem,min=01,max=01,),
18530     INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)),
18531
18532 )  ;
18533 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18534 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18535 # ======================================================================
18536 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18537 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18538 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18539 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18540 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18541 #
18542 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18543 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18544 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18545 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18546 #
18547 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18548 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18549 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18550 # ======================================================================
18551 MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=obstacle_sdaster,
18552                    fr=" ",reentrant='f',
18553             UIinfo={"groupes":("Modélisation",)},
18554       regles=(PRESENT_ABSENT('R_MOBILE','CRAYON'),
18555               PRESENT_PRESENT('V_USUR_TUBE','V_USUR_OBST'),),
18556          V_USUR_TUBE     =SIMP(statut='f',typ='R',max='**'),
18557          V_USUR_OBST     =SIMP(statut='f',typ='R',max='**'),
18558          TABL_USURE      =SIMP(statut='f',typ=tabl_post_usur),
18559          INST            =SIMP(statut='f',typ='R'),  
18560          OBSTACLE        =SIMP(statut='f',typ=obstacle_sdaster),
18561          GUIDE           =SIMP(statut='o',typ=obstacle_sdaster),
18562          CRAYON          =SIMP(statut='f',typ=obstacle_sdaster),
18563          R_MOBILE        =SIMP(statut='f',typ='R'),  
18564          PERCEMENT       =SIMP(statut='f',typ='R',defaut=1),  
18565          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
18566 )  ;
18567 #& MODIF COMMANDE  DATE 29/09/2005   AUTEUR CIBHHLV L.VIVAN 
18568 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18569 # ======================================================================
18570 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18571 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18572 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18573 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
18574 # (AT YOUR OPTION) ANY LATER VERSION.
18575 #
18576 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
18577 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
18578 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
18579 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
18580 #
18581 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
18582 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
18583 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
18584 # ======================================================================
18585 # RESPONSABLE JMBHH01 J.M.PROIX
18586 def modi_repere_prod(RESULTAT,**args):
18587   if AsType(RESULTAT) == evol_elas :    return evol_elas
18588   if AsType(RESULTAT) == evol_noli :    return evol_noli
18589   if AsType(RESULTAT) == evol_ther :    return evol_ther
18590   if AsType(RESULTAT) == dyna_trans :   return dyna_trans
18591   if AsType(RESULTAT) == dyna_harmo :   return dyna_harmo
18592   if AsType(RESULTAT) == mode_meca :    return mode_meca
18593   if AsType(RESULTAT) == mode_flamb :   return mode_flamb
18594   if AsType(RESULTAT) == mult_elas :    return mult_elas
18595   if AsType(RESULTAT) == base_modale  : return base_modale
18596   raise AsException("type de concept resultat non prevu")
18597
18598 MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='n',
18599             UIinfo={"groupes":("Résultats et champs",)},
18600                     fr="Impression des resultats dans un repere cylindrique",
18601          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca,
18602                                                evol_noli,mult_elas,
18603                                                evol_ther,base_modale,mode_flamb) ),
18604          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
18605                         'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),),
18606          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
18607          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18608          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18609          NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18610          NOM_CAS         =SIMP(statut='f',typ='TXM' ),
18611
18612          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18613          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18614          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
18615          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
18616
18617          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
18618          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
18619
18620          MODI_CHAM       =FACT(statut='o',max='**',
18621            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18622            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
18623            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18624            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
18625            TYPE_CHAM       =SIMP(statut='o',typ='TXM',
18626                                  into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),),
18627            NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
18628            b_vect_2d       =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
18629               NOM_CMP         =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
18630            b_vect_3d       =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
18631               NOM_CMP         =SIMP(statut='o',typ='TXM',min=3,max=3 ),),
18632            b_tors_3d       =BLOC(condition = "TYPE_CHAM=='TORS_3D'",
18633               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
18634            b_tens_2d       =BLOC(condition = "TYPE_CHAM=='TENS_2D'",
18635               NOM_CMP         =SIMP(statut='o',typ='TXM',min=4,max=4 ),),
18636            b_tens_3d       =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
18637               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
18638          ),
18639          DEFI_REPERE     =FACT(statut='o',
18640          regles=(UN_PARMI('ANGL_NAUT','ORIGINE'),),
18641            REPERE          =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR",
18642                                  into=("UTILISATEUR","CYLINDRIQUE"),),
18643            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
18644            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=3),
18645            AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),
18646          ),
18647          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
18648          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
18649 )  ;
18650 #& MODIF COMMANDE  DATE 11/08/2004   AUTEUR A3BHHAE H.ANDRIAMBOLOLONA 
18651 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18652 # ======================================================================
18653 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18654 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18655 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18656 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18657 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18658 #
18659 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18660 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18661 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18662 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18663 #
18664 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18665 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18666 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18667 # ======================================================================
18668 def norm_mode_prod(MODE,**args ):
18669   if AsType(MODE) == mode_meca   : return mode_meca
18670   if AsType(MODE) == mode_meca_c : return mode_meca_c
18671   if AsType(MODE) == mode_flamb  : return mode_flamb
18672   raise AsException("type de concept resultat non prevu")
18673
18674 NORM_MODE=OPER(nom="NORM_MODE",op=  37,sd_prod=norm_mode_prod,
18675                fr="Normalisation de modes propres",
18676                reentrant='f',
18677             UIinfo={"groupes":("Résolution",)},
18678          regles=(UN_PARMI('NORME','NOEUD','AVEC_CMP','SANS_CMP'),),
18679          MODE       =SIMP(statut='o',typ=(mode_meca,mode_flamb) ),
18680          NORME      =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...",
18681                           into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ),
18682          NOEUD      =SIMP(statut='f',typ=no, fr="Composante donnée d un noeud spécifié égale à 1"),
18683          b_noeud    =BLOC(condition = "NOEUD != None",
18684            NOM_CMP    =SIMP(statut='o',typ='TXM' ),
18685          ),
18686          AVEC_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18687          SANS_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18688          MASS_INER  =SIMP(statut='f',typ=tabl_mass_iner ),
18689          MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes",
18690            NOEUD      =SIMP(statut='o',typ=no,fr="Noeud ou sera imposé le signe"),
18691            NOM_CMP    =SIMP(statut='o',typ='TXM',fr="Composante du noeud ou sera imposé le signe" ),
18692            SIGNE      =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"),
18693                             fr="Choix du signe" ),
18694          ),
18695          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
18696                                fr="Liste des param\350tres de sensibilit\351.",
18697                                ang="List of sensitivity parameters",
18698          ),
18699          TITRE      =SIMP(statut='f',typ='TXM',max='**'),
18700          INFO       =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18701 )  ;
18702 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18703 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18704 # ======================================================================
18705 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18706 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18707 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18708 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18709 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18710 #
18711 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18712 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18713 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18714 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18715 #
18716 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18717 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18718 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18719 # ======================================================================
18720 # RESPONSABLE VABHHTS J.PELLET
18721 NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n',
18722             UIinfo={"groupes":("Matrices/vecteurs",)},
18723               fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice",
18724                   regles=(UN_PARMI('MATR_RIGI','MODELE'),), 
18725          MATR_RIGI       =SIMP(statut='f',validators=NoRepeat(),max=100,
18726                                typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ),
18727          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
18728          b_modele        =BLOC(condition = "MODELE != None",
18729            CHARGE     =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),),
18730          ),
18731          METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
18732          b_mult_front    =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale",
18733            RENUM           =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ),
18734          ),
18735          b_ldlt          =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT",
18736            RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
18737          ),
18738          b_gcpc          =BLOC(condition="METHODE=='GCPC'",fr="paramètres associés à la méthode gradient conjugué",
18739            RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
18740          ),
18741          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
18742 )  ;
18743 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18744 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18745 # ======================================================================
18746 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18747 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18748 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18749 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18750 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18751 #
18752 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18753 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18754 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18755 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18756 #
18757 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18758 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18759 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18760 # ======================================================================
18761 NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene,
18762                    fr="Etablissement de la numérotation des ddl d un modèle établi en coordonnées généralisées",
18763                     reentrant='n',
18764             UIinfo={"groupes":("Matrices/vecteurs",)},
18765          regles=UN_PARMI('MODELE_GENE','BASE'),
18766          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
18767              b_modele_gene     =BLOC(condition = "MODELE_GENE != None",
18768                STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ),
18769                                     ),
18770          BASE     =SIMP(statut='f',typ=(mode_meca,mode_stat,base_modale,mode_gene ) ),
18771              b_base     =BLOC(condition = "BASE != None",
18772                STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("DIAG","PLEIN") ),
18773                NB_VECT     =SIMP(statut='f',typ='I',defaut= 9999 ),
18774                              ),
18775 )  ;
18776 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18777 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18778 # ======================================================================
18779 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18780 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18781 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18782 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18783 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18784 #
18785 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18786 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18787 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18788 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18789 #
18790 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18791 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18792 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18793 # ======================================================================
18794 POST_DYNA_ALEA=OPER(nom="POST_DYNA_ALEA",op= 132,sd_prod=tabl_post_alea,
18795                     fr="Traitements statistiques de résultats de type interspectre et impression sur fichiers",
18796                     reentrant='n',
18797             UIinfo={"groupes":("Post traitements",)},
18798          regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),),
18799          INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
18800          NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),  
18801          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
18802          NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**' ),
18803          NOEUD_I         =SIMP(statut='f',typ=no,max='**'),         
18804          OPTION          =SIMP(statut='f',typ='TXM',into=("DIAG",) ),
18805          b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None",
18806            NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**' ),   
18807          ),  
18808          b_noeud_i      =BLOC(condition = "NOEUD_I != None",
18809            NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
18810            NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**' ),  
18811            NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**' ),     
18812          ),  
18813          DEPASSEMENT     =FACT(statut='f',max='**',
18814            fr="Loi de dépassement d un seuil pendant une durée donnée",
18815            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18816            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18817            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18818            PAS             =SIMP(statut='f',typ='R' ),  
18819            DUREE           =SIMP(statut='f',typ='R',defaut= 1. ),  
18820          ),
18821          RAYLEIGH        =FACT(statut='f',max='**',
18822            fr="Densité de probabilité de pic positif, loi adaptée à des signaux à bande étroite",
18823            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18824            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18825            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18826            PAS             =SIMP(statut='f',typ='R' ),  
18827          ),
18828          GAUSS           =FACT(statut='f',max='**',
18829            fr="Densité de probabilité de pic positif, loi normale adaptée à des signaux large bande",
18830            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18831            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18832            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18833            PAS             =SIMP(statut='f',typ='R' ),  
18834          ),
18835          VANMARCKE       =FACT(statut='f',max='**',
18836            fr="Probabilité de non dépassement de seuil pendant une durée donnée (analyse sismique)",
18837            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18838            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18839            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18840            PAS             =SIMP(statut='f',typ='R' ),  
18841            DUREE           =SIMP(statut='f',typ='R',defaut= 10. ),  
18842          ),
18843          MOMENT          =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux en complément des cinq premiers" ),  
18844          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
18845          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
18846 )  ;
18847 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18848 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18849 # ======================================================================
18850 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18851 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18852 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18853 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18854 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18855 #
18856 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18857 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18858 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18859 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18860 #
18861 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18862 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18863 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18864 # ======================================================================
18865 POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=tabl_post_dyna,
18866                       fr="Post-traitements en coordonnées généralisées issus de DYNA_TRAN_MODAL",
18867                       reentrant='n',
18868             UIinfo={"groupes":("Post traitements",)},
18869         regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),),
18870          RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
18871          CHOC            =FACT(statut='f',max='**',
18872                                fr="Analyse des non linéarités de choc",
18873            INST_INIT       =SIMP(statut='f',typ='R',defaut= -1. ),  
18874            INST_FIN        =SIMP(statut='f',typ='R',defaut= 999. ),  
18875            NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
18876            SEUIL_FORCE     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
18877            DUREE_REPOS     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
18878            OPTION          =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ),
18879            NB_CLASSE       =SIMP(statut='f',typ='I',defaut= 10 ),  
18880          ),
18881          RELA_EFFO_DEPL  =FACT(statut='f',
18882                                fr="Analyse des relationsnon linéaires effort-déplacement",
18883            NOEUD           =SIMP(statut='o',typ=no),
18884            NOM_CMP         =SIMP(statut='o',typ='TXM' ),  
18885          ),
18886          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
18887          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
18888 )  ;
18889 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18890 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18891 # ======================================================================
18892 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18893 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18894 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18895 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18896 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18897 #
18898 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18899 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18900 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18901 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18902 #
18903 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18904 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18905 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18906 # ======================================================================
18907 # RESPONSABLE G8BHHXD X.DESROCHES
18908 def post_elem_prod( MASS_INER,ENER_POT,ENER_CIN,TRAV_EXT,WEIBULL,
18909                     CARA_GEOM,CARA_POUTRE,RICE_TRACEY,CHAR_LIMITE,
18910                     INDIC_ENER,INDIC_SEUIL,ENER_ELAS,ENER_TOTALE,
18911                     AIRE_INTERNE,**args ):
18912   if MASS_INER    != None  : return tabl_mass_iner
18913   if ENER_POT     != None  : return tabl_ener_pot
18914   if ENER_CIN     != None  : return tabl_ener_cin
18915   if TRAV_EXT     != None  : return tabl_trav_ext
18916   if WEIBULL      != None  : return tabl_weibull
18917   if CARA_GEOM    != None  : return tabl_cara_geom
18918   if CARA_POUTRE  != None  : return tabl_cara_geom
18919   if RICE_TRACEY  != None  : return tabl_rice_tracey
18920   if CHAR_LIMITE  != None  : return tabl_char_limite
18921   if INDIC_ENER   != None  : return tabl_indic_ener
18922   if INDIC_SEUIL  != None  : return tabl_indic_seuil
18923   if ENER_ELAS    != None  : return tabl_ener_elas
18924   if ENER_TOTALE  != None  : return tabl_ener_totale
18925   if AIRE_INTERNE != None  : return tabl_aire_int
18926   raise AsException("type de concept resultat_sdaster non prevu")
18927
18928 POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,reentrant='f',
18929             UIinfo={"groupes":("Post traitements",)},
18930                fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle",
18931
18932          regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT',
18933                           'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE',
18934                           'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL',
18935                           'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE'),
18936                 ),
18937
18938          MASS_INER      = FACT(statut='f',max='**',
18939                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18940                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18941                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18942                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18943                                ORIG_INER    = SIMP(statut='f',typ='R',min=3,max=3 ),
18944                               ),
18945          b_mass_iner = BLOC(condition = "( MASS_INER != None )",
18946                        fr="calcul de la masse, les inerties et le centre de gravité",
18947                        regles=(EXCLUS('CHAM_GD','RESULTAT'),
18948                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
18949                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
18950                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18951                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18952                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
18953                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18954                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
18955                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
18956                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18957                        GEOMETRIE      = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")),
18958                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
18959                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas,
18960                                                              fourier_elas,dyna_trans) ),
18961                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18962                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18963                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18964                        NUME_ORDRE     = SIMP(statut='f',typ='I',),
18965                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
18966                        INST           = SIMP(statut='f',typ='R',),
18967                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
18968                        FREQ           = SIMP(statut='f',typ='R',),
18969                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
18970                        NUME_MODE      = SIMP(statut='f',typ='I',),
18971                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2),
18972                        NOM_CAS        = SIMP(statut='f',typ='TXM',),
18973          ),
18974
18975          ENER_POT       = FACT(statut='f',max='**',
18976                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18977                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18978                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18979                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18980                               ),
18981          b_ener_pot = BLOC(condition = "( ENER_POT  != None )",
18982                        fr="calcul de l'énergie potentielle de déformation",
18983                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
18984                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
18985                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
18986                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18987                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18988                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
18989                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18990                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
18991                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
18992                        ANGLE          = SIMP(statut='f',typ='I',defaut=0),
18993                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18994                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
18995                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ),
18996                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18997                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18998                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18999                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19000                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19001                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19002                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19003                        FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19004                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
19005                        NUME_MODE      = SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**'),
19006                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19007                        NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19008          ),
19009
19010          ENER_CIN       = FACT(statut='f',max='**',
19011                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19012                                OPTION       = SIMP(statut='f',typ='TXM',
19013                                                    into=("MASS_MECA","MASS_MECA_DIAG"),
19014                                                    defaut="MASS_MECA" ),
19015                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19016                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19017                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19018                               ),
19019          b_ener_cin = BLOC(condition = "( ENER_CIN != None )",
19020                        fr="calcul de l'énergie cinétique",
19021                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
19022                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
19023                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
19024                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19025                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19026                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19027                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19028                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
19029                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
19030                        ANGLE          = SIMP(statut='f',typ='I',defaut=0),
19031                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19032                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
19033                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ),
19034                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19035                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19036                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19037                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19038                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19039                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19040                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19041                        FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19042                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
19043                        NUME_MODE      = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19044                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19045                        NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19046          ),
19047
19048          ENER_ELAS      = FACT(statut='f',max='**',
19049                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19050                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19051                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19052                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19053                               ),
19054          b_ener_elas = BLOC(condition = "( ENER_ELAS != None )",
19055                        fr="calcul de l'énergie de déformation élastique",
19056                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19057                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19058                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19059                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19060                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
19061                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
19062                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19063                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19064                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19065                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19066                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19067                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19068                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19069                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19070                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19071                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19072          ),
19073
19074          ENER_TOTALE    = FACT(statut='f',max='**',
19075                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19076                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19077                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19078                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19079                               ),
19080          b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )",
19081                        fr="calcul de l'énergie de déformation totale",
19082                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19083                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19084                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19085                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19086                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
19087                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
19088                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19089                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19090                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19091                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19092                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19093                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19094                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19095                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19096                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19097                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19098          ),
19099
19100          WEIBULL        = FACT(statut='f',max='**',
19101                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19102                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19103                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19104                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19105                                OPTION       = SIMP(statut='f',typ='TXM',
19106                                                    into=("SIGM_ELGA","SIGM_ELMOY"),
19107                                                    defaut="SIGM_ELGA"),
19108                                CORR_PLAST   = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
19109                                COEF_MULT    = SIMP(statut='f',typ='R',defaut=1.),
19110                               ),
19111          b_weibull = BLOC(condition = "( WEIBULL != None )",
19112                        fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull",
19113                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
19114                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19115                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19116                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19117                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19118                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19119                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
19120                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
19121                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19122                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
19123                        RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
19124                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19125                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19126                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19127                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19128                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19129                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19130                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19131          ),
19132
19133          RICE_TRACEY    = FACT(statut='f',max='**',
19134                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19135                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19136                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19137                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19138                                OPTION       = SIMP(statut='f',typ='TXM',
19139                                                    into=("SIGM_ELGA","SIGM_ELMOY"),
19140                                                    defaut="SIGM_ELGA"),
19141                                LOCAL        = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
19142                               ),
19143          b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )",
19144                        fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine",
19145                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
19146                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19147                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19148                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19149                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19150                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19151                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
19152                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
19153                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19154                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
19155                        RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
19156                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19157                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19158                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19159                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19160                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19161                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19162                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19163          ),
19164
19165          INDIC_ENER     = FACT(statut='f',max='**',
19166                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19167                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19168                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19169                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19170                               ),
19171          b_indic_ener = BLOC(condition = "( INDIC_ENER != None )",
19172                        fr="calcul un indicateur global de perte de proportionnalité du chargement",
19173                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19174                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19175                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19176                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19177                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19178                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19179                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19180                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19181                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19182                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19183                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19184                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19185                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19186          ),
19187
19188          INDIC_SEUIL    = FACT(statut='f',max='**',
19189                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19190                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19191                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19192                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19193                               ),
19194          b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )",
19195                        fr="calcul un indicateur global de perte de proportionnalité du chargement",
19196                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19197                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19198                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19199                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19200                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19201                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19202                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19203                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19204                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19205                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19206                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19207                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19208                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19209          ),
19210
19211          CHAR_LIMITE    = FACT(statut='f',min=0,
19212                                CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON")
19213                               ),
19214          b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )",
19215                        fr="post-traitement du calcul de la charge limite",
19216                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19217                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19218                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19219                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19220                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19221                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19222                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19223                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19224                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19225                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19226                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19227                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19228                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19229                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19230          ),
19231
19232          CARA_GEOM      = FACT(statut='f',max='**',
19233                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19234                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19235                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19236                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19237                                SYME_X       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
19238                                SYME_Y       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
19239                                ORIG_INER    = SIMP(statut='f',typ='R',min=2,max=2),
19240                               ),
19241          b_cara_geom = BLOC(condition = "( CARA_GEOM != None )",
19242                        fr="calcul des caractéristiques géométriques d'un section de poutre",
19243                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19244                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19245                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19246                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19247          ),
19248
19249          CARA_POUTRE    = FACT(statut='f',max='**',
19250                                regles=(AU_MOINS_UN('TOUT','GROUP_MA'),
19251                                        ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),),
19252                                TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19253                                GROUP_MA      = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19254                                GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19255                                CARA_GEOM     = SIMP(statut='f',typ=tabl_cara_geom),
19256                                RT            = SIMP(statut='f',typ='R'),
19257                                LAPL_PHI      = SIMP(statut='f',typ=evol_ther),
19258                                LAPL_PHI_Y    = SIMP(statut='f',typ=evol_ther),
19259                                LAPL_PHI_Z    = SIMP(statut='f',typ=evol_ther),
19260                                LIAISON       = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")),
19261                                LONGUEUR      = SIMP(statut='f',typ='R'),
19262                                MATERIAU      = SIMP(statut='f',typ=mater_sdaster),
19263                                OPTION        = SIMP(statut='f',typ='TXM',
19264                                                     into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ),
19265                              ),
19266          b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )",
19267                        fr="calcul des caractéristiques mécaniques d'un section de poutre",
19268                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19269                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19270                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19271                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19272          ),
19273
19274           AIRE_INTERNE   = FACT(statut='f',max='**',
19275                                 GROUP_MA_BORD  = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
19276                                ),
19277          b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )",
19278                        fr="calcul de l'aire d'un trou dans un maillage 2D",
19279                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19280          ),
19281
19282          TRAV_EXT       = FACT(statut='f',),
19283          b_trav_ext = BLOC(condition = "( TRAV_EXT != None )",
19284                        fr="calcul du travail des efforts extérieurs",
19285                        RESULTAT       = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ),
19286                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19287                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19288                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19289          ),
19290
19291          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
19292          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19293
19294  )  ;
19295 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19296 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19297 # ======================================================================
19298 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19299 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19300 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19301 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19302 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19303 #
19304 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19305 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19306 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19307 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19308 #
19309 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19310 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19311 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19312 # ======================================================================
19313 POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=tabl_post_f_alea,reentrant='n',
19314             UIinfo={"groupes":("Post traitements",)},
19315                     fr="Calcul du dommage subi par une structure soumise à unesollicitation de type aléatoire",
19316          regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'),
19317                  PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'),
19318                  UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ),
19319          MOMENT_SPEC_0   =SIMP(statut='f',typ='R'),  
19320          MOMENT_SPEC_2   =SIMP(statut='f',typ='R'),  
19321          MOMENT_SPEC_4   =SIMP(statut='f',typ='R'),  
19322          TABL_POST_ALEA  =SIMP(statut='f',typ=tabl_post_alea),
19323          COMPTAGE        =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")),
19324          DUREE           =SIMP(statut='f',typ='R',defaut= 1.),  
19325          CORR_KE         =SIMP(statut='f',typ='TXM',into=("RCCM",)),
19326          DOMMAGE         =SIMP(statut='o',typ='TXM',into=("WOHLER",)),
19327          MATER           =SIMP(statut='o',typ=mater_sdaster),
19328          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
19329 )  ;
19330 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
19331 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19332 # ======================================================================
19333 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19334 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19335 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19336 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
19337 # (AT YOUR OPTION) ANY LATER VERSION.
19338 #
19339 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
19340 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
19341 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
19342 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
19343 #
19344 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
19345 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
19346 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19347 # ======================================================================
19348 POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=tabl_post_fatig,reentrant='n',
19349             UIinfo={"groupes":("Post traitements",)},
19350                   fr="Calcul du dommage subi par une structure soumise à une histoire de chargement",
19351
19352          CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","PERIODIQUE","QUELCONQUE")),
19353
19354          b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'",
19355                       regles=(PRESENT_PRESENT('CORR_KE','MATER'),
19356                               PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'),
19357                               PRESENT_PRESENT('DOMMAGE','MATER'),),
19358              HISTOIRE       = FACT(statut='o',
19359                                  regles=(UN_PARMI('SIGM','EPSI'),),
19360                                  SIGM  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19361                                  EPSI  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
19362              COMPTAGE       = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL")),
19363              DELTA_OSCI     = SIMP(statut='f',typ='R',defaut= 0.0E+0),
19364              COEF_MULT      = FACT(statut='f',
19365                                  KT    = SIMP(statut='o',typ='R'),),
19366              CORR_KE        = SIMP(statut='f',typ='TXM',into=("RCCM",)),
19367              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN",
19368                                                               "TAHERI_MANSON","TAHERI_MIXTE")),
19369              MATER          = SIMP(statut='f',typ=mater_sdaster),
19370              CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")),
19371              TAHERI_NAPPE   = SIMP(statut='f',typ=(nappe_sdaster,formule)),
19372              TAHERI_FONC    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19373              CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
19374          ),
19375
19376          b_periodique = BLOC( condition = "CHARGEMENT=='PERIODIQUE'",
19377              HISTOIRE       = FACT(statut='o',
19378                                  SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19379                                  SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19380                                  SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19381                                  SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19382                                  SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19383                                  SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
19384              CRITERE        = SIMP(statut='o',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")),
19385              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER",)),
19386              MATER          = SIMP(statut='o',typ=mater_sdaster),
19387              COEF_CORR      = SIMP(statut='f',typ='R'),
19388          ),
19389
19390          b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'",
19391              HISTOIRE       = FACT(statut='o',
19392                                  SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19393                                  SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19394                                  SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19395                                  SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19396                                  SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19397                                  SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19398                                  EPSP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19399                                  TEMP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),),
19400              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),),
19401              MATER          = SIMP(statut='o',typ=mater_sdaster),
19402              CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
19403          ),
19404
19405          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19406          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
19407 )  ;
19408 #& MODIF COMMANDE  DATE 03/02/2005   AUTEUR GALENNE E.GALENNE 
19409 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19410 # ======================================================================
19411 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19412 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19413 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19414 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19415 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19416 #
19417 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19418 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19419 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19420 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19421 #
19422 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19423 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19424 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19425 # ======================================================================
19426 # RESPONSABLE GALENNE E.GALENNE
19427
19428 POST_K1_K2_K3=OPER(nom="POST_K1_K2_K3",op=188,sd_prod=tabl_post_k,
19429                    fr="Calcul des FIC par extrapolation du champ de déplacements sur les lèvres de la fissure",
19430                    reentrant='n',
19431             UIinfo={"groupes":("Post traitements",)},
19432
19433            regles=(UN_PARMI('RESULTAT','TABL_DEPL_SUP'),
19434                    PRESENT_PRESENT('RESULTAT','FOND_FISS'),),
19435
19436          MODELISATION  =SIMP(statut='o',typ='TXM',
19437                              into=("3D","AXIS","D_PLAN","C_PLAN"),
19438                              fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"),
19439          FOND_FISS     =SIMP(statut='f',typ=fond_fiss),
19440          b_fond_fiss   =BLOC (condition="(FOND_FISS!= None)",
19441                          MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
19442                          NOEUD         = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19443                          GROUP_NO      = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19444                          SANS_NOEUD    = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19445                          SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19446                          TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) )
19447                          ),
19448          MATER         =SIMP(statut='o',typ=mater_sdaster,
19449                              fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"),
19450          RESULTAT      =SIMP(statut='f',typ=(evol_elas,evol_noli),
19451                              fr="Table déplacement des noeuds de la lèvre supérieure et inférieure"),
19452          TABL_DEPL_SUP =SIMP(statut='f',typ=tabl_post_rele,
19453                              fr="Table issue de post_releve_t sur les noeuds de la lèvre supérieure"),
19454          TABL_DEPL_INF =SIMP(statut='f',typ=tabl_post_rele,
19455                              fr="Table issue de post_releve_t sur les noeuds de la lèvre inférieure"),
19456          ABSC_CURV_MAXI=SIMP(statut='f',typ='R',
19457                              fr="distance maximum à partir du fond de fissure à utiliser pour le calcul"),  
19458          PREC_VIS_A_VIS= SIMP(statut='f',typ='R',defaut=0.1),
19459          TOUT_ORDRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19460          NUME_ORDRE    =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19461          LIST_ORDRE    =SIMP(statut='f',typ=listis_sdaster),
19462          INST          =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19463          LIST_INST     =SIMP(statut='f',typ=listr8_sdaster),
19464              b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
19465                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
19466                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
19467              ),
19468          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","SANS") ),
19469          INFO          =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19470          VECT_K1       =SIMP(statut='o',typ='R',max=3,
19471                              fr="Vecteur normal au plan de fissure, orienté de la lèvre inférieure vers la lèvre supérieure"),  
19472          TITRE         =SIMP(statut='f',typ='TXM',max='**'),  
19473 )  ;
19474 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19475 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19476 # ======================================================================
19477 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
19478 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19479 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19480 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19481 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19482 #
19483 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19484 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19485 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19486 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19487 #
19488 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19489 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19490 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19491 #                                                                       
19492 #                                                                       
19493 # ======================================================================
19494 #
19495 POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=tabl_post_beta,
19496                    fr="Calcul des FIC par la méthode K_BETA",
19497                    reentrant='n',
19498             UIinfo={"groupes":("Post traitements",)},
19499          MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
19500          MATER_REV     = SIMP(statut='o',typ=mater_sdaster),
19501          EPAIS_REV     = SIMP(statut='o',typ='R'),
19502          FISSURE       = FACT(statut='o',
19503             DECALAGE       = SIMP(statut='f',typ='R',defaut=-2.e-04),
19504             PROFONDEUR     = SIMP(statut='o',typ='R'),
19505             LONGUEUR       = SIMP(statut='o',typ='R'),
19506             ORIENTATION    = SIMP(statut='o',typ='TXM',
19507                                  into=("CIRC","LONGI"),),
19508          ),
19509          K1D           = FACT(statut='o',max='**',
19510             TABL_MECA_REV  = SIMP(statut='o',typ=(tabl_post_rele)),
19511             TABL_MECA_MDB  = SIMP(statut='o',typ=(tabl_post_rele)),
19512             TABL_THER      = SIMP(statut='o',typ=(tabl_post_rele)),
19513             INTITULE       = SIMP(statut='o',typ='TXM' ), 
19514          ),
19515          TITRE         = SIMP(statut='f',typ='TXM',max='**'),  
19516 );
19517 #& MODIF COMMANDE  DATE 01/04/2005   AUTEUR CIBHHLV L.VIVAN 
19518 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19519 # ======================================================================
19520 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19521 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19522 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19523 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19524 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19525 #
19526 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19527 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19528 # MERCHANTABILITY OR FITNESS FOR A PARTIC               
19529 #
19530 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19531 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19532 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19533 # ======================================================================
19534 # RESPONSABLE JMBHH01 J.M.PROIX
19535 POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=tabl_post_rccm,
19536                fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)",
19537                reentrant='n',
19538             UIinfo={"groupes":("Post traitements",)},
19539          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ),
19540          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
19541          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
19542          TYPE_RESU_MECA  =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ),
19543
19544 # ======================================================================
19545      b_evolution  =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')",
19546
19547          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
19548                                into=("PM_PB","SN","FATIGUE_ZH210") ),
19549          MATER           =SIMP(statut='o',typ=mater_sdaster ),
19550          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster),
19551          SEGMENT         =FACT(statut='o',max='**',fr="Segment sur lequel s effectue le depouillement",
19552            regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'),
19553                    EXCLUS('CHEMIN','GROUP_NO'),
19554                    EXCLUS('CHEMIN','NOEUD'),),
19555            INTITULE        =SIMP(statut='f',typ='TXM' ),
19556            CHEMIN          =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster),),
19557            NOEUD           =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),
19558            GROUP_NO        =SIMP(statut='f',typ=grno),
19559              b_acce_noeud     =BLOC(condition="(NOEUD != None)or(GROUP_NO != None)",
19560                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
19561                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
19562                                    ),
19563                                ),
19564          TRANSITOIRE     =FACT(statut='o',max='**',fr="transitoire à dépouiller",
19565            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
19566            RESULTAT        =SIMP(statut='o',typ=(evol_elas,evol_noli) ),
19567            RESU_SIGM_THER  =SIMP(statut='f',typ=(evol_elas,evol_noli),fr="résultat sous chargement thermique seul" ),
19568            NB_OCCUR        =SIMP(statut='f',typ='I',defaut= 1,fr="nombre d occurences réelles de ce transitoire" ),
19569            NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("SIEF_ELNO_ELGA","SIGM_ELNO_DEPL") ),
19570            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19571            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19572            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
19573            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19574            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
19575            b_inst          =BLOC(condition = "(INST != None) or (LIST_INST != None)" ,
19576              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
19577              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
19578                                  ), 
19579                              ),
19580          ),
19581
19582 # ======================================================================
19583      b_unitaire  =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')",
19584
19585          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
19586                                into=("PM_PB","SN","FATIGUE") ),
19587          MATER           =SIMP(statut='o',typ=mater_sdaster ),
19588          TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
19589                                fr="Ke meca seul ou partition mecanique + thermique" ),
19590          CHAR_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
19591            NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
19592            NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
19593            TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
19594            FX            =SIMP(statut='f',typ='R',fr="effort suivant x", ),
19595            FY            =SIMP(statut='f',typ='R',fr="effort suivant y", ),
19596            FZ            =SIMP(statut='f',typ='R',fr="effort suivant z", ),
19597            MX            =SIMP(statut='o',typ='R',fr="moment suivant x", ),
19598            MY            =SIMP(statut='o',typ='R',fr="moment suivant y", ),
19599            MZ            =SIMP(statut='o',typ='R',fr="moment suivant z", ),
19600                          ),
19601          RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires",
19602            TABL_FX       =SIMP(statut='f',typ=table_sdaster,
19603                               fr="table relevé des contraintes pour chargement unitaire FX"),
19604            TABL_FY       =SIMP(statut='f',typ=table_sdaster,
19605                               fr="table relevé des contraintes pour chargement unitaire FY"),
19606            TABL_FZ       =SIMP(statut='f',typ=table_sdaster,
19607                               fr="table relevé des contraintes pour chargement unitaire FZ"),
19608            TABL_MX       =SIMP(statut='o',typ=table_sdaster,
19609                               fr="table relevé des contraintes pour chargement unitaire MX"),
19610            TABL_MY       =SIMP(statut='o',typ=table_sdaster,
19611                               fr="table relevé des contraintes pour chargement unitaire MY"),
19612            TABL_MZ       =SIMP(statut='o',typ=table_sdaster,
19613                               fr="table relevé des contraintes pour chargement unitaire MZ"),
19614            TABL_PRES     =SIMP(statut='o',typ=table_sdaster,
19615                               fr="table relevé des contraintes pour chargement unitaire de pression"),
19616                          ),
19617           RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
19618            NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
19619            TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
19620                               fr="table relevé des contraintes sous chargement thermique seul" ),
19621                            ),
19622          SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
19623               NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
19624               NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
19625               NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
19626               NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
19627               COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
19628               NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ),
19629               NUME_PASSAGE     =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ),
19630               NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
19631               CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
19632               CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
19633               PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
19634               PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
19635               TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
19636               TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
19637                                ),
19638                       ),
19639 # ======================================================================
19640      b_tuyauterie  =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')",
19641
19642          OPTION          =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ),
19643          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
19644          TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
19645                                fr="Ke meca seul ou partition mecanique + thermique" ),
19646          MODELE          =SIMP(statut='o',typ=modele_sdaster),
19647          CARA_ELEM       =SIMP(statut='o',typ=cara_elem),
19648          ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés",
19649             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19650             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19651             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19652             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19653             ),
19654          RESU_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
19655            regles=(UN_PARMI('CHAM_GD','RESULTAT'),),
19656            NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
19657            NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
19658            TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
19659            CHAM_GD         =SIMP(statut='f',typ=cham_gd_sdaster),
19660            RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
19661            b_extrac        =BLOC(condition="RESULTAT != None",
19662                                  fr="extraction d un champ de grandeur",
19663              regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),),
19664              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO_DEPL","SIEF_ELNO_ELGA"),),
19665              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19666              NUME_ORDRE      =SIMP(statut='f',typ='I',),
19667              INST            =SIMP(statut='f',typ='R',),
19668              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19669              b_acce_reel     =BLOC(condition="(INST != None)",
19670                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
19671                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), ),
19672              ),
19673            ),
19674                           ),
19675          INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes",
19676             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19677             C1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"),
19678             K1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"),
19679             C2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"),
19680             K2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"),
19681             C3              =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"),
19682             K3              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"),
19683             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),),
19684             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
19685                              fr="groupe(s) de mailles ou sont affectés les indices de contraintes"),
19686             MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',
19687                              fr="liste des mailles ou sont affectés les indices de contraintes"),
19688             b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
19689                GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19690                NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19691             ),
19692             TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"),
19693                               fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"),
19694                          ),
19695           RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
19696             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19697             NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
19698             TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
19699                               fr="table relevé des températures sur la section"),
19700             TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster,
19701                               fr="table relevé des moyennes sur la section"),
19702             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19703             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19704             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19705             b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
19706                GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19707                NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19708             ),
19709                            ),
19710          SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
19711               NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
19712               NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
19713               NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
19714               NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
19715               COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
19716               NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ),
19717               NUME_PASSAGE     =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ),
19718               NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
19719               CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
19720               CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
19721               PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
19722               PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
19723               TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
19724               TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
19725                                ),
19726                ),
19727 )  ;
19728 #& MODIF COMMANDE  DATE 07/10/2004   AUTEUR GNICOLAS G.NICOLAS 
19729 # ======================================================================
19730 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19731 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19732 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19733 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19734 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19735 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19736 #
19737 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19738 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19739 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19740 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19741 #
19742 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19743 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19744 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19745 # ======================================================================
19746 # RESPONSABLE G8BHHXD X.DESROCHES
19747 POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,reentrant='f',
19748             UIinfo={"groupes":("Post traitements",)},
19749          ACTION          =FACT(statut='o',max='**',
19750            regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'),
19751                    EXCLUS('CHEMIN','GROUP_NO'),
19752                    EXCLUS('CHEMIN','NOEUD'),
19753                    PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'),
19754                    UN_PARMI('RESULTAT','CHAM_GD'),            
19755                    UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'),
19756                    PRESENT_PRESENT('TRAC_DIR','DIRECTION'),          
19757                    ENSEMBLE('MOMENT','POINT'),
19758                    PRESENT_PRESENT('MOMENT','RESULTANTE'),
19759                    PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'),
19760                    EXCLUS('TRAC_DIR','TRAC_NOR'),
19761                    PRESENT_PRESENT('ORIGINE','AXE_Z'),),
19762            INTITULE        =SIMP(statut='o',typ='TXM'),  
19763            CHEMIN          =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ),
19764            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19765            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19766            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19767            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19768            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19769            FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")),
19770            CHAM_GD         =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r,cham_no_var2_r,
19771                                                  cham_elem_sief_r,cham_elem_epsi_r,cham_elem_flux_r,cham_elem_crit_r,
19772                                                  cham_elem_ener_r,cham_elem_dbel_r,cham_elem_pres_r,cham_elem_erreur,
19773                                                  cham_elem_vari_r,cham_no_depl_c,cham_no_temp_c,cham_no_pres_c,
19774                                                  cham_elem_sief_c,cham_elem_epsi_c,cham_no_facy_r)),
19775            RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_ther,evol_noli,dyna_trans,
19776                                                  mode_meca,mode_flamb,mode_acou,base_modale,mode_stat,
19777                                                  mult_elas,fourier_elas,dyna_harmo,acou_harmo)),
19778            b_sensibilite   =BLOC(condition="RESULTAT != None",
19779                                  fr="Définition des paramètres de sensibilité",
19780                                  ang="Definition of sensitivity parameters",
19781              SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
19782                                    fr="Liste des paramètres de sensibilité.",
19783                                    ang="List of sensitivity parameters"),),
19784
19785            b_extrac        =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
19786              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE',         
19787                             'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ),           
19788              NOM_CHAM        =SIMP(statut='o',typ='TXM' ),  
19789              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19790              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
19791              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
19792              NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
19793              LIST_MODE       =SIMP(statut='f',typ=listis_sdaster),
19794              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19795              NOM_CAS         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),  
19796              FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
19797              LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
19798              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
19799              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
19800              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
19801              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19802            ),
19803            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",)),
19804            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),  
19805            INVARIANT       =SIMP(statut='f',typ='TXM',into=("OUI",)),
19806            ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19807            RESULTANTE      =SIMP(statut='f',typ='TXM',max='**'),  
19808            MOMENT          =SIMP(statut='f',typ='TXM',max='**'),  
19809            POINT           =SIMP(statut='f',typ='R',max='**'),  
19810
19811            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
19812                                  into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
19813            ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),  
19814            ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
19815            AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),  
19816
19817            TRAC_NOR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
19818            TRAC_DIR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
19819            DIRECTION       =SIMP(statut='f',typ='R',max='**'),  
19820  
19821            VECT_Y          =SIMP(statut='f',typ='R',max='**'),  
19822            MOYE_NOEUD      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
19823            OPERATION       =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE"),validators=NoRepeat(),max=2),
19824          ),
19825          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19826          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
19827 )  ;
19828 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19829 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19830 # ======================================================================
19831 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19832 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19833 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19834 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19835 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19836 #
19837 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19838 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19839 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19840 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19841 #
19842 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19843 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19844 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19845 # ======================================================================
19846 POST_SIMPLIFIE=OPER(nom="POST_SIMPLIFIE",op=185,sd_prod=tabl_post_simpli,
19847                     fr=" ",reentrant='n',
19848             UIinfo={"groupes":("Outils métier",)},
19849          MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
19850          DEF_EQUI        =FACT(statut='f',
19851            METHODE         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="UTO_2_3",
19852                                  into=("UTO_2_3",) ),
19853            EPAIS           =SIMP(statut='o',typ='R'),  
19854            LONG_FISS       =SIMP(statut='o',typ='R'),  
19855            LONG_LIGA_INT   =SIMP(statut='o',typ='R'),  
19856            DEXT            =SIMP(statut='o',typ='R'),  
19857            TEMP_ANALYSE    =SIMP(statut='f',typ='R'),  
19858          ),
19859 )  ;
19860 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19861 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19862 # ======================================================================
19863 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19864 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19865 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19866 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19867 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19868 #
19869 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19870 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19871 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19872 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19873 #
19874 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19875 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19876 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19877 # ======================================================================
19878 POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,reentrant='f',
19879             UIinfo={"groupes":("Post traitements",)},
19880                 fr="Calcul des volumes d'usure et des profondeurs d'usure",
19881          regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'),
19882                  PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'),
19883                  PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),),
19884          TUBE_NEUF       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19885          ETAT_INIT       =FACT(statut='f',
19886            TABL_USURE      =SIMP(statut='f',typ=tabl_post_usur),
19887            INST_INIT       =SIMP(statut='f',typ='R'),  
19888                          ),
19889          RESU_GENE       =SIMP(statut='f',typ=tran_gene),
19890          NOEUD           =SIMP(statut='f',typ=no,),
19891          INST_INIT       =SIMP(statut='f',typ='R',defaut=-1.0E+0),  
19892          INST_FIN        =SIMP(statut='f',typ='R'),  
19893          NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
19894          PUIS_USURE      =SIMP(statut='f',typ='R'),  
19895          LOI_USURE       =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")),
19896          b_archard       =BLOC(condition = "LOI_USURE == 'ARCHARD'",
19897            regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'), 
19898                    EXCLUS('MATER_USURE','OBSTACLE'),
19899                    EXCLUS('MOBILE','USURE_OBST'),),
19900            MOBILE          =FACT(statut='f',
19901              COEF_USURE      =SIMP(statut='o',typ='R'), 
19902            ),   
19903            OBSTACLE        =FACT(statut='f',
19904              COEF_USURE      =SIMP(statut='o',typ='R'), 
19905            ),
19906            SECTEUR         =FACT(statut='f',max='**',
19907              CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",  
19908                                                               "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", 
19909                                                               "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
19910              COEF_USUR_MOBILE=SIMP(statut='f',typ='R'),  
19911              COEF_USUR_OBST  =SIMP(statut='f',typ='R'),  
19912              ANGL_INIT       =SIMP(statut='f',typ='R'),  
19913              ANGL_FIN        =SIMP(statut='f',typ='R'),  
19914            ),
19915            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
19916            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
19917          ),
19918          b_kwu_epri        =BLOC(condition = "LOI_USURE == 'KWU_EPRI'",
19919            regles=(UN_PARMI('MOBILE','MATER_USURE'), 
19920                    EXCLUS('MATER_USURE','OBSTACLE'),
19921                    EXCLUS('MOBILE','USURE_OBST'),),
19922            MOBILE          =FACT(statut='f',
19923              COEF_FNOR       =SIMP(statut='f',typ='R'),  
19924              COEF_VTAN       =SIMP(statut='f',typ='R'),  
19925              COEF_USURE      =SIMP(statut='f',typ='R'),  
19926              COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
19927              COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
19928            ),   
19929            OBSTACLE        =FACT(statut='f',
19930              COEF_FNOR       =SIMP(statut='f',typ='R' ),  
19931              COEF_VTAN       =SIMP(statut='f',typ='R' ),  
19932              COEF_USURE      =SIMP(statut='o',typ='R'), 
19933              COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
19934              COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
19935            ),   
19936            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
19937            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
19938            FNOR_MAXI       =SIMP(statut='f',typ='R' ),  
19939            VTAN_MAXI       =SIMP(statut='f',typ='R' ),  
19940          ),
19941          b_edf_mz          =BLOC(condition = "LOI_USURE == 'EDF_MZ'",
19942            regles=(UN_PARMI('MOBILE','MATER_USURE'), 
19943                    EXCLUS('MATER_USURE','OBSTACLE'),
19944                    EXCLUS('MOBILE','USURE_OBST'),),
19945            MOBILE          =FACT(statut='f',
19946              COEF_USURE      =SIMP(statut='f',typ='R',defaut=1.0E-13),  
19947              COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
19948              COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
19949              COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
19950            ),   
19951            OBSTACLE        =FACT(statut='f',
19952              COEF_USURE      =SIMP(statut='o',typ='R',defaut=1.0E-13), 
19953              COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
19954              COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
19955              COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
19956            ),   
19957            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
19958            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
19959          ),
19960          b_tube_neuf       =BLOC(condition = "TUBE_NEUF == 'OUI'",
19961             TABL_USURE      =SIMP(statut='o',typ=tabl_post_usur),
19962             INST            =SIMP(statut='f',typ='R'),
19963          ),
19964          CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",    
19965                                                           "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE",        
19966                                                           "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
19967          RAYON_MOBILE    =SIMP(statut='f',typ='R'),  
19968          RAYON_OBST      =SIMP(statut='f',typ='R'),  
19969          LARGEUR_OBST    =SIMP(statut='f',typ='R'),  
19970          ANGL_INCLI      =SIMP(statut='f',typ='R'),  
19971          ANGL_ISTHME     =SIMP(statut='f',typ='R'),  
19972          ANGL_IMPACT     =SIMP(statut='f',typ='R'),  
19973          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
19974          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
19975          COEF_INST       =SIMP(statut='f',typ='R',defaut=1.0E+0),  
19976          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19977          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
19978 )  ;
19979 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
19980 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19981 # ======================================================================
19982 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19983 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19984 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19985 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19986 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19987 #
19988 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19989 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19990 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19991 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19992 #
19993 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19994 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19995 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19996 # ======================================================================
19997 POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,reentrant='n',
19998             UIinfo={"groupes":("Post traitements",)},
19999               fr="Donne l'état adapté ou accommodé d'une structure sous chargement cyclique élastique affine ou non",
20000          MODELE          =SIMP(statut='o',typ=modele_sdaster),
20001          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
20002          EXCIT           =FACT(statut='o',max='**',
20003            CHARGE          =SIMP(statut='o',typ=char_meca),
20004            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
20005            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",into=("FIXE_CSTE",)),
20006          ),
20007          EVOL_ELAS       =SIMP(statut='o',typ=evol_elas),
20008          b_evol_elas     =BLOC(condition="EVOL_ELAS != None",
20009            regles=(UN_PARMI('NUME_ORDRE','LIST_INST','INST'),),
20010            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
20011            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
20012            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
20013          ),
20014          TEMP_ZAC        =SIMP(statut='f',typ='R',defaut=0.0E+0),  
20015          EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
20016          b_evol_noli     =BLOC(condition="EVOL_NOLI != None",
20017            INST_MAX        =SIMP(statut='o',typ='R'),  
20018          ),
20019          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),  
20020          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20021
20022 )  ;
20023 #& MODIF COMMANDE  DATE 30/01/2006   AUTEUR D6BHHJP J.P.LEFEBVRE 
20024 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20025 # ======================================================================
20026 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20027 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20028 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20029 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20030 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20031 #
20032 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20033 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20034 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20035 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20036 #
20037 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20038 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20039 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20040 # ======================================================================
20041 POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',fr="Poursuite d une étude",
20042                 sd_prod = ops.POURSUITE,
20043             UIinfo={"groupes":("Gestion du travail",)},
20044                 op_init = ops.POURSUITE_context,fichier_ini = 1,
20045          FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
20046                                typ='TXM',defaut="NON",into=("OUI","NON",) ), 
20047          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
20048                            into=("OUI","NON"),defaut="OUI"),
20049          BASE            =FACT(fr="définition des parmètres associés aux bases JEVEUX",
20050                                statut='f',min=1,max=3,
20051            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM'),
20052            TITRE           =SIMP(statut='f',typ='TXM'),
20053            CAS             =SIMP(statut='f',typ='TXM'),
20054            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
20055            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
20056            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
20057          ),
20058          IMPRESSION      =FACT(statut='f',min=1,max=3,
20059            FICHIER         =SIMP(statut='o',typ='TXM'),
20060            UNITE           =SIMP(statut='o',typ='I'),
20061          ),
20062          CATALOGUE       =FACT(statut='f',min=1,max=10,
20063            FICHIER         =SIMP(statut='o',typ='TXM'),
20064            TITRE           =SIMP(statut='f',typ='TXM'),
20065            UNITE           =SIMP(statut='f',typ='I'),
20066          ),
20067          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
20068                                statut='f',min=1,max=1,
20069            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
20070                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
20071            JEVEUX          =SIMP(fr="force les déchargement sur disque",
20072                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
20073            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
20074                                  statut='f',typ='TXM',into=('TEST',)),
20075          ),
20076          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
20077            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
20078            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
20079            TAILLE          =SIMP(statut='f',typ='I'),
20080            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
20081            PARTITION       =SIMP(statut='f',typ='R' ),
20082          ),
20083          CODE            =FACT("définition d un nom pour l'esemble d'une étude",
20084                                statut='f',min=1,max=1,
20085            NOM             =SIMP(statut='o',typ='TXM'),
20086            UNITE           =SIMP(statut='f',typ='I',defaut=15),
20087          ),
20088 )  ;
20089 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20090 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20091 # ======================================================================
20092 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20093 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20094 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20095 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20096 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20097 #
20098 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20099 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20100 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20101 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20102 #
20103 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20104 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20105 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20106 # ======================================================================
20107 PRE_GIBI=PROC(nom="PRE_GIBI",op=49,
20108             UIinfo={"groupes":("Gestion du travail",)},
20109               fr="Conversion d un fichier de maillage GIBI",
20110          UNITE_GIBI      =SIMP(statut='f',typ='I',defaut=19),  
20111          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
20112 )  ;
20113 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20114 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20115 # ======================================================================
20116 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20117 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20118 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20119 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20120 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20121 #
20122 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20123 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20124 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20125 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20126 #
20127 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20128 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20129 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20130 # ======================================================================
20131
20132 PRE_GMSH=PROC(nom="PRE_GMSH",op=47,
20133             UIinfo={"groupes":("Gestion du travail",)},
20134                fr="Conversion d un fichier universel GMSH au format Aster",
20135          UNITE_GMSH      =SIMP(statut='f',typ='I',defaut=19),  
20136          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
20137 )  ;
20138 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20139 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20140 # ======================================================================
20141 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20142 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20143 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20144 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20145 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20146 #
20147 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20148 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20149 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20150 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20151 #
20152 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20153 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20154 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20155 # ======================================================================
20156 PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47,
20157             UIinfo={"groupes":("Gestion du travail",)},
20158                fr="Conversion d un fichier universel IDEAS-SUPERTAB au format Aster",
20159          UNITE_IDEAS     =SIMP(statut='f',typ='I',defaut=19),  
20160          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
20161          CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
20162 )  ;
20163 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20164 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20165 # ======================================================================
20166 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20167 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20168 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20169 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20170 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20171 #
20172 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20173 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20174 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20175 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20176 #
20177 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20178 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20179 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20180 # ======================================================================
20181 def prod_matr_cham_prod(MATR_ASSE,**args):
20182   if AsType(MATR_ASSE) == matr_asse_depl_r : return cham_no_depl_r
20183   if AsType(MATR_ASSE) == matr_asse_depl_c : return cham_no_depl_c
20184   if AsType(MATR_ASSE) == matr_asse_temp_r : return cham_no_temp_r
20185   if AsType(MATR_ASSE) == matr_asse_pres_c : return cham_no_pres_c
20186   raise AsException("type de concept resultat non prevu")
20187
20188 PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=prod_matr_cham_prod,
20189                     fr="Effectuer le produit d une matrice par un vecteur",
20190                     reentrant='n',
20191             UIinfo={"groupes":("Résultats et champs",)},
20192          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ),
20193          CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_temp_r,cham_no_pres_c ) ),
20194          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
20195 )  ;
20196 #& MODIF COMMANDE  DATE 29/09/2004   AUTEUR MJBHHPE J.L.FLEJOU 
20197 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20198 # ======================================================================
20199 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20200 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20201 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20202 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20203 # (AT YOUR OPTION) ANY LATER VERSION.
20204 #
20205 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20206 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20207 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20208 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20209 #
20210 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20211 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20212 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20213 # ======================================================================
20214 # RESPONSABLE VABHHTS J.PELLET
20215 def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ):
20216     if AsType(RESULTAT)     == evol_ther      : return evol_ther
20217     if AsType(RESULTAT)     == evol_elas      : return evol_elas
20218     if AsType(RESULTAT)     == evol_noli      : return evol_noli
20219     if AsType(RESULTAT)     == evol_char      : return evol_char
20220     if AsType(CHAM_NO_REFE) == cham_no_depl_r : return cham_no_depl_r
20221     if AsType(CHAM_NO_REFE) == cham_no_depl_c : return cham_no_depl_c
20222     if AsType(CHAM_NO_REFE) == cham_no_pres_c : return cham_no_pres_c
20223     if AsType(CHAM_NO_REFE) == cham_no_temp_r : return cham_no_temp_r
20224     if AsType(CHAM_NO_REFE) == cham_no_epsi_r : return cham_no_epsi_r
20225     if AsType(CHAM_NO_REFE) == cham_no_sief_r : return cham_no_sief_r
20226     if AsType(CHAM_NO_REFE) == cham_no_flux_r : return cham_no_flux_r
20227     raise AsException("type de concept resultat non prevu")
20228
20229 PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
20230             UIinfo={"groupes":("Résultats et champs",)},
20231                 fr="Projection d'un champ aux noeuds sur les noeuds d'un autre maillage",
20232 #
20233          METHODE         =SIMP(statut='f',typ='TXM',defaut="ELEM",
20234                                into=("NUAGE_DEG_0","NUAGE_DEG_1","ELEM",) ),
20235          b_nuage         =BLOC(condition="(METHODE=='NUAGE_DEG_1') or (METHODE=='NUAGE_DEG_0')",
20236                                fr="Lissage d'un nuage de points",
20237            CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,cham_no_temp_r,
20238                                                  cham_no_epsi_r,cham_no_sief_r,cham_no_flux_r)),
20239            CHAM_NO_REFE    =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,cham_no_temp_r,
20240                                                  cham_no_epsi_r,cham_no_sief_r,cham_no_flux_r)),
20241          ),
20242          b_elem          =BLOC(condition="METHODE=='ELEM'",
20243                               fr="Utilisation des fonctions de forme du maillage initial",
20244            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'),
20245                    EXCLUS('TOUT_CHAM','NOM_CHAM',), ),
20246            RESULTAT        =SIMP(statut='o',typ=(evol_ther,evol_elas,evol_noli,evol_char) ),
20247            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
20248                                fr="Liste des paramètres de sensibilité.",
20249                                ang="List of sensitivity parameters",),
20250            MODELE_1        =SIMP(statut='o',typ=modele_sdaster),
20251            MODELE_2        =SIMP(statut='o',typ=modele_sdaster),
20252
20253            TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20254            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
20255
20256            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20257            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
20258            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
20259            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
20260            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
20261            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
20262            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
20263            DISTANCE_MAX    =SIMP(statut='f',typ='R',max=1,
20264             fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."),
20265          ),
20266
20267          VIS_A_VIS       =FACT(statut='f',max='**',
20268            regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
20269                    AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
20270            TOUT_1          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20271            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20272            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20273            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20274            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20275            TOUT_2          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20276            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20277            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20278            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20279            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20280          ),
20281
20282          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
20283          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
20284 )  ;
20285 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20286 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20287 # ======================================================================
20288 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20289 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20290 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20291 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20292 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20293 #
20294 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20295 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20296 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20297 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20298 #
20299 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20300 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20301 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20302 # ======================================================================
20303 def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args):
20304   if AsType(MATR_ASSE) == matr_asse_depl_r  : return matr_asse_gene_r
20305   if AsType(MATR_ASSE_GENE) == matr_asse_gene_r  : return matr_asse_gene_r
20306   if AsType(MATR_ASSE) == matr_asse_depl_c  : return matr_asse_gene_c
20307   if AsType(MATR_ASSE_GENE) == matr_asse_gene_c  : return matr_asse_gene_c
20308   raise AsException("type de concept resultat non prevu")
20309
20310 PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op=  71,sd_prod=matr_asse_gene_prod,
20311                     fr="Projection d une matrice assemblée sur une base (modale ou de RITZ)",
20312                     reentrant='n',
20313             UIinfo={"groupes":("Matrices/vecteurs",)},
20314          regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),),            
20315          BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
20316          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
20317          MATR_ASSE       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ),
20318          MATR_ASSE_GENE  =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ),
20319 )  ;
20320
20321 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
20322 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20323 # ======================================================================
20324 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20325 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20326 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20327 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20328 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20329 #
20330 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20331 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20332 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20333 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20334 #
20335 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20336 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20337 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20338 # ======================================================================
20339 def proj_mesu_modal_prod(MODELE_MESURE,**args):
20340      vale=MODELE_MESURE['NOM_PARA']
20341      if  vale == 'INST'   : return tran_gene
20342      if  vale == 'FREQ'   : return harm_gene
20343      if  vale == 'DEFORMEE'   : return mode_gene
20344      raise AsException("type de concept resultat non prevu")
20345
20346 PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193,
20347                      sd_prod=proj_mesu_modal_prod,
20348                      reentrant='n',
20349             UIinfo={"groupes":("Résultats et champs",)},
20350                      fr="Calcul de coordonnees generalisees de mesure experimentale relatives a une base de projection",
20351
20352          MODELE_CALCUL   =FACT(statut='o',
20353            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
20354            BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,) ),
20355                          ),
20356          MODELE_MESURE   =FACT(statut='o',
20357            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
20358            MESURE          =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,) ),
20359            NOM_PARA        =SIMP(statut='f',typ='TXM',defaut="INST",into=("INST","FREQ","DEFORMEE",),),
20360            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ),
20361                          ),
20362          CORR_MANU       =FACT(statut='f',max='**',
20363            regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),),
20364            NOEU_CALCUL     =SIMP(statut='f',typ=no),
20365            NOEU_MESURE     =SIMP(statut='f',typ=no),
20366                          ),
20367          RESOLUTION      =FACT(statut='f',
20368            METHODE         =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ),
20369            b_svd =BLOC(condition="METHODE=='SVD'",
20370                        EPS=SIMP(statut='f',typ='R',defaut=0. ),
20371                       ),
20372            REGUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ),
20373            b_regul =BLOC(condition="REGUL!='NON'",
20374                          regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),),
20375                          COEF_PONDER   =SIMP(statut='f',typ='R',defaut=0.     ,max='**' ),  
20376                          COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
20377                         ),
20378              ),
20379
20380           ); 
20381 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20382 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20383 # ======================================================================
20384 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20385 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20386 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20387 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20388 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20389 #
20390 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20391 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20392 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20393 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20394 #
20395 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20396 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20397 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20398 # ======================================================================
20399 PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=tabl_intsp,reentrant='n',
20400             UIinfo={"groupes":("Matrices/vecteurs",)},
20401                     fr="Projection d un ou plusieurs spectres de turbulenc sur un ensemble de bases modales ",
20402       regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'),
20403               ENSEMBLE('FREQ_INIT','FREQ_FIN','NB_POIN'),),
20404          SPEC_TURB       =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ),
20405          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
20406          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
20407          CHAM_NO         =SIMP(statut='f',typ=cham_no_depl_r ),
20408          FREQ_INIT       =SIMP(statut='f',typ='R',val_min=0.E+0 ),  
20409          FREQ_FIN        =SIMP(statut='f',typ='R',val_min=0.E+0 ),  
20410          NB_POIN         =SIMP(statut='f',typ='I' ),  
20411          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")),
20412          GROUP_MA        =SIMP(statut='f',typ=grma),
20413 #  Quel est le type attendu derriere  MODELE_INTERFACE         
20414          MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster),
20415          VECT_X          =SIMP(statut='f',typ='R',min=3,max=3 ),  
20416          VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3 ),  
20417          ORIG_AXE        =SIMP(statut='f',typ='R',min=3,max=3 ),  
20418          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
20419 )  ;
20420 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20421 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20422 # ======================================================================
20423 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20424 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20425 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20426 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20427 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20428 #
20429 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20430 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20431 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20432 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20433 #
20434 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20435 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20436 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20437 # ======================================================================
20438 PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op=  72,sd_prod=vect_asse_gene,
20439                     fr="Projection d un vecteur assemblé sur une base (modale ou de RITZ)",
20440                     reentrant='n',
20441             UIinfo={"groupes":("Matrices/vecteurs",)},
20442          regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),),              
20443          BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
20444          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
20445          TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
20446          VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
20447          VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
20448 )  ;
20449 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20450 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20451 # ======================================================================
20452 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20453 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20454 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20455 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20456 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20457 #
20458 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20459 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20460 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20461 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20462 #
20463 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20464 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20465 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20466 # ======================================================================
20467 RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=tabl_reca_weib,
20468                      fr=" ",reentrant='n',
20469             UIinfo={"groupes":("Post traitements",)},
20470          LIST_PARA       =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ),
20471          RESU            =FACT(statut='o',max='**',
20472            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',),
20473                    AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),),
20474            EVOL_NOLI       =SIMP(statut='o',typ=(evol_noli) ),
20475            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
20476            CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
20477            TEMPE           =SIMP(statut='f',typ='R' ),
20478            LIST_INST_RUPT  =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
20479            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20480            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
20481            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
20482            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
20483            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20484            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20485            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20486            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.E0 ),
20487                          ),
20488          OPTION          =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ),
20489          CORR_PLAST      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
20490          METHODE         =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ),
20491          INCO_GLOB_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
20492          ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
20493          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
20494                        )  ;
20495 #& MODIF COMMANDE  DATE 10/10/2005   AUTEUR MCOURTOI M.COURTOIS 
20496 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20497 # ======================================================================
20498 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20499 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20500 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20501 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20502 # (AT YOUR OPTION) ANY LATER VERSION.
20503 #
20504 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20505 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20506 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20507 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20508 #
20509 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20510 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20511 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20512 # ======================================================================
20513 # RESPONSABLE MCOURTOI M.COURTOIS
20514 def recu_fonction_prod(RESULTAT=None,TABLE=None,OBSTACLE=None,
20515                        RESU_GENE=None,BASE_ELAS_FLUI=None,CHAM_GD=None,
20516                        TYPE_RESU=None,**args):
20517   if AsType(RESULTAT) == dyna_harmo : return fonction_c
20518 #  On ne sait pas interpreter les deux conditions suivantes
20519   if TABLE != None :
20520      if TYPE_RESU != None :
20521         if TYPE_RESU == "FONCTION_C" : return fonction_c
20522         if TYPE_RESU == "FONCTION"   : return fonction_sdaster
20523      else:
20524         return fonction_sdaster
20525   if RESU_GENE      != None         : return fonction_sdaster
20526   if BASE_ELAS_FLUI != None         : return fonction_sdaster
20527   if RESULTAT       != None         : return fonction_sdaster
20528   if CHAM_GD        != None         : return fonction_sdaster
20529   if OBSTACLE       != None         : return fonction_sdaster
20530   raise AsException("type de concept resultat non prevu")
20531
20532 RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod,
20533                    fr="Extraire sous forme d une fonction, l évolution temporelle d une composante d un champ ou d une table",
20534                    reentrant='n',
20535             UIinfo={"groupes":("Fonction",)},
20536          regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','OBSTACLE'),),
20537
20538          CHAM_GD         =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r,cham_elem_sief_r,
20539                                                cham_elem_vari_r,cham_elem_epsi_r,cham_elem_flux_r,
20540                                                cham_elem_pres_r,) ),
20541          RESULTAT        =SIMP(statut='f',typ=(evol_elas,dyna_trans,evol_noli,evol_ther,dyna_harmo ) ),
20542          RESU_GENE       =SIMP(statut='f',typ=tran_gene),
20543 #  concept table à créer
20544          TABLE           =SIMP(statut='f',typ=table_sdaster),
20545          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster),
20546          OBSTACLE        =SIMP(statut='f',typ=obstacle_sdaster),
20547
20548          b_tran_gene = BLOC ( condition = "RESU_GENE != None",
20549                               fr="Récupération de la fonction concernant les chocs à partir d un concept TRAN_GENE",
20550             regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),
20551                     EXCLUS('MULT_APPUI','CORR_STAT'),),
20552              MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20553              CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20554              ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20555              PARA_X          =SIMP(statut='f',typ='TXM' ),
20556              PARA_Y          =SIMP(statut='f',typ='TXM' ),
20557              SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
20558              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
20559              INTITULE        =SIMP(statut='f',typ='TXM' ),
20560          ),
20561          b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None",
20562                                    fr="Récupération de la fonction à partir d un concept melasflu",
20563            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),),
20564            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20565            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20566            NUME_MODE       =SIMP(statut='o',typ='I' ),
20567            PARA_X          =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ),
20568            PARA_Y          =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ),
20569          ),
20570          b_table = BLOC ( condition = "TABLE != None",fr="Récupération de la fonction à partir d un concept table",
20571            regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'),
20572                    PRESENT_PRESENT('PARA_X','PARA_Y'),),
20573            PARA_X          =SIMP(statut='f',typ='TXM',
20574                                  fr="1ère colonne de la table qui définit la fonction à récupérer", ),
20575            PARA_Y          =SIMP(statut='f',typ='TXM',
20576                                  fr="2ème colonne de la table qui définit la fonction à récupérer", ),
20577            NOM_PARA_TABL   =SIMP(statut='f',typ='TXM',into=("FONCTION",),
20578                                  fr="Nom du paramètre de la table à qui est associé la fonction" ),
20579            b_nom_para_tabl = BLOC (condition = "NOM_PARA_TABL != None",
20580              TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="FONCTION",into=("FONCTION","FONCTION_C") ),
20581            ),
20582
20583            FILTRE          =FACT(statut='f',max='**',
20584               NOM_PARA        =SIMP(statut='o',typ='TXM' ),
20585               CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
20586                                     into=("EQ","LT","GT","NE","LE","GE","VIDE",
20587                                           "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
20588               b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
20589                  regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
20590                  VALE            =SIMP(statut='f',typ='R' ),
20591                  VALE_I          =SIMP(statut='f',typ='I' ),
20592                  VALE_C          =SIMP(statut='f',typ='C' ),
20593                  VALE_K          =SIMP(statut='f',typ='TXM' ),),
20594
20595               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20596               PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20597            ),
20598          ),
20599 # RESULTAT
20600          b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT",
20601            regles=(
20602 #    A voir par Mathieu Courtois : il existe de tests (SDNX300B) qui ne satisfont pas ce UN_PARMI
20603 #           UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','TOUT_INST','LIST_INST','FREQ','LIST_FREQ'),
20604                    AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC','NOM_PARA_RESU'),
20605                    PRESENT_PRESENT('MAILLE','NOM_CMP'),
20606                    PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
20607                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
20608                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
20609                    PRESENT_PRESENT('POINT','NOM_CMP'),
20610                    EXCLUS('POINT','NOEUD'),
20611                    EXCLUS('GROUP_MA','MAILLE'),
20612                    EXCLUS('GROUP_NO','NOEUD'),
20613                    EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),
20614                    UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
20615            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
20616            NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
20617            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20618            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20619            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
20620            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20621            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20622            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
20623            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20624            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
20625            b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
20626              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20627              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20628              INTERP_NUME     =SIMP(statut='f',typ='TXM',into=("NON","LIN") ),
20629            ),
20630            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
20631
20632            MAILLE          =SIMP(statut='f',typ=ma),
20633            GROUP_MA        =SIMP(statut='f',typ=grma),
20634            NOEUD           =SIMP(statut='f',typ=no),
20635            GROUP_NO        =SIMP(statut='f',typ=grno),
20636            POINT           =SIMP(statut='f',typ='I' ),
20637            SOUS_POINT      =SIMP(statut='f',typ='I' ),
20638            NOEUD_CHOC      =SIMP(statut='f',typ=no),
20639            GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
20640          ),
20641 # RESU_GENE
20642          b_resu_gene = BLOC ( condition = "RESU_GENE != None", fr="Opérandes en cas de RESU_GENE",
20643 #    A voir par Mathieu Courtois : il existe de tests (SDNX300B) qui ne satisfont pas ce UN_PARMI
20644 #           regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','TOUT_INST','LIST_INST','FREQ','LIST_FREQ'),),
20645            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ),
20646            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20647            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20648            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
20649            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20650            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20651            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
20652            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20653            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
20654            b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
20655              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20656              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20657              INTERP_NUME     =SIMP(statut='f',typ='TXM',into=("NON","LIN") ),
20658            ),
20659            b_local_cham = BLOC ( condition = "NOM_CHAM!='PTEM'", fr="Opérandes de localisation du champ",
20660              regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'),
20661                      PRESENT_PRESENT('MAILLE','NOM_CMP'),
20662                      PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
20663                      PRESENT_PRESENT('NOEUD','NOM_CMP'),
20664                      PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
20665                      PRESENT_PRESENT('POINT','NOM_CMP'),
20666                      EXCLUS('POINT','NOEUD'),
20667                      EXCLUS('GROUP_MA','MAILLE'),
20668                      EXCLUS('GROUP_NO','NOEUD'),
20669                      EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),),
20670              NOM_CMP         =SIMP(statut='f',typ='TXM' ),
20671
20672              MAILLE          =SIMP(statut='f',typ=ma),
20673              GROUP_MA        =SIMP(statut='f',typ=grma),
20674              NOEUD           =SIMP(statut='f',typ=no),
20675              GROUP_NO        =SIMP(statut='f',typ=grno),
20676              POINT           =SIMP(statut='f',typ='I' ),
20677              SOUS_POINT      =SIMP(statut='f',typ='I' ),
20678              NOEUD_CHOC      =SIMP(statut='f',typ=no),
20679              GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
20680            ),
20681          ),
20682 # CHAM_GD
20683          b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD",
20684
20685            regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'),
20686                    PRESENT_PRESENT('MAILLE','NOM_CMP'),
20687                    PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
20688                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
20689                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
20690                    PRESENT_PRESENT('POINT','NOM_CMP'),
20691                    EXCLUS('POINT','NOEUD'),
20692                    EXCLUS('GROUP_MA','MAILLE'),
20693                    EXCLUS('GROUP_NO','NOEUD'),
20694                    EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),),
20695            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
20696
20697            MAILLE          =SIMP(statut='f',typ=ma),
20698            GROUP_MA        =SIMP(statut='f',typ=grma),
20699            NOEUD           =SIMP(statut='f',typ=no),
20700            GROUP_NO        =SIMP(statut='f',typ=grno),
20701            POINT           =SIMP(statut='f',typ='I' ),
20702            SOUS_POINT      =SIMP(statut='f',typ='I' ),
20703            NOEUD_CHOC      =SIMP(statut='f',typ=no),
20704            GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
20705          ),
20706          b_obstacle = BLOC ( condition = "OBSTACLE != None",
20707                               fr="Choix du repère",
20708             REPERE          =SIMP(statut='f',typ='TXM',into=("POLAIRE","GLOBAL") ),
20709          ),
20710 ###
20711          NOM_PARA        =SIMP(statut='f',typ='TXM',),
20712          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
20713          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
20714          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
20715          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
20716
20717          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
20718          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
20719 )  ;
20720 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20721 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20722 # ======================================================================
20723 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20724 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20725 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20726 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20727 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20728 #
20729 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20730 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20731 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20732 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20733 #
20734 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20735 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20736 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20737 # ======================================================================
20738 RECU_GENE=OPER(nom="RECU_GENE",op=  76,sd_prod=vect_asse_gene,reentrant='n',
20739             UIinfo={"groupes":("Résultats et champs",)},
20740                fr="Récupération d un champ de grandeur à partir d un résultat en coordonnées généralisées",
20741          RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
20742          INST            =SIMP(statut='o',typ='R' ),
20743          NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE") ),
20744          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
20745          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF" ,into=("ABSOLU","RELATIF") ),
20746          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20747 )  ;
20748 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20749 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20750 # ======================================================================
20751 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20752 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20753 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20754 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20755 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20756 #
20757 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20758 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20759 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20760 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20761 #
20762 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20763 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20764 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20765 # ======================================================================
20766 # RESPONSABLE VABHHTS J.PELLET
20767 RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster,
20768                 fr=" ",reentrant='n',
20769             UIinfo={"groupes":("Résultats et champs",)},
20770          CO              =SIMP(statut='o',typ=assd),
20771          regles=(UN_PARMI('NOM_TABLE','NOM_PARA')),
20772          NOM_TABLE       =SIMP(statut='f',typ='TXM' ),
20773          NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),  
20774          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
20775 )  ;
20776 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20777 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20778 # ======================================================================
20779 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20780 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20781 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20782 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20783 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20784 #
20785 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20786 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20787 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20788 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20789 #
20790 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20791 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20792 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20793 # ======================================================================
20794 def reso_grad_prod(MATR_ASSE,**args ):
20795   if AsType(MATR_ASSE) == matr_asse_depl_r : return cham_no_depl_r
20796   if AsType(MATR_ASSE) == matr_asse_temp_r : return cham_no_temp_r
20797   if AsType(MATR_ASSE) == matr_asse_pres_r : return cham_no_pres_r
20798   raise AsException("type de concept resultat non prevu")
20799
20800 RESO_GRAD=OPER(nom="RESO_GRAD",op=  84,sd_prod=reso_grad_prod,
20801                fr="Résolution par la méthode du gradient conjugué préconditionné",
20802                reentrant='f',
20803             UIinfo={"groupes":("Résolution",)},
20804          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
20805          CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r ) ),
20806          CHAM_CINE       =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r ) ),
20807          MATR_FACT       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
20808          NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),  
20809          REPRISE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
20810          RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1E-6 ),  
20811          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
20812 )  ;
20813 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20814 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20815 # ======================================================================
20816 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20817 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20818 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20819 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20820 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20821 #
20822 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20823 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20824 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20825 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20826 #
20827 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20828 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20829 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20830 # ======================================================================
20831 # RESPONSABLE VABHHTS J.PELLET
20832 def reso_ldlt_prod(CHAM_NO,**args ):
20833   if AsType(CHAM_NO) == cham_no_temp_r : return cham_no_temp_r
20834   if AsType(CHAM_NO) == cham_no_depl_r : return cham_no_depl_r
20835   if AsType(CHAM_NO) == cham_no_pres_r : return cham_no_pres_r
20836   if AsType(CHAM_NO) == cham_no_temp_c : return cham_no_temp_c
20837   if AsType(CHAM_NO) == cham_no_depl_c : return cham_no_depl_c
20838   if AsType(CHAM_NO) == cham_no_pres_c : return cham_no_pres_c
20839   raise AsException("type de concept resultat non prevu")
20840
20841 RESO_LDLT=OPER(nom="RESO_LDLT",op=15,sd_prod=reso_ldlt_prod,reentrant='f',
20842                fr="Résolution en place ou hors place d un système factorisé",
20843             UIinfo={"groupes":("Résolution",)},
20844          MATR_FACT       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
20845                                                matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
20846          CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r,
20847                                                cham_no_temp_c,cham_no_depl_c,cham_no_pres_c) ),
20848          CHAM_CINE       =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_c) ),
20849          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
20850          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
20851 )  ;
20852 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
20853 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20854 # ======================================================================
20855 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20856 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20857 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20858 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20859 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20860 #
20861 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20862 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20863 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20864 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20865 #
20866 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20867 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20868 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20869 # ======================================================================
20870 # RESPONSABLE BOYERE E.BOYERE
20871 def rest_base_phys_prod(RESU_GENE,RESULTAT,**args ):
20872   if AsType(RESU_GENE) == tran_gene : return dyna_trans
20873   if AsType(RESU_GENE) == mode_gene : return mode_meca
20874   if AsType(RESU_GENE) == mode_cycl : return mode_meca
20875   if AsType(RESU_GENE) == harm_gene : return dyna_harmo
20876   if AsType(RESULTAT)  == mode_meca : return mode_meca
20877   raise AsException("type de concept resultat non prevu")
20878
20879 REST_BASE_PHYS=OPER(nom="REST_BASE_PHYS",op=  75,sd_prod=rest_base_phys_prod,
20880                     fr="Restituer dans la base physique des résultats en coordonnées généralisées",
20881                     reentrant='n',
20882             UIinfo={"groupes":("Matrices/vecteurs",)},
20883         regles=(UN_PARMI('RESU_GENE','RESULTAT'),
20884                 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'),
20885                 EXCLUS('TOUT_INST','NUME_ORDRE','INST','LIST_INST','TOUT_ORDRE'),
20886 #  Doc U à revoir
20887                 EXCLUS('MULT_APPUI','CORR_STAT'),
20888                 EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'),
20889                 EXCLUS('CORR_STAT','NOEUD','GROUP_NO'),             
20890                 EXCLUS('NOEUD','GROUP_NO'), 
20891                 PRESENT_PRESENT('RESULTAT','SQUELETTE'),
20892                 PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),),
20893          RESU_GENE       =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene ) ),
20894          RESULTAT        =SIMP(statut='f',typ=mode_meca ),
20895          
20896          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
20897          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20898          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
20899          TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20900          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
20901          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
20902          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
20903          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
20904          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
20905          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
20906          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
20907          MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20908          CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20909          NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",   
20910                                into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
20911                                      "SIGM_ELNO_DEPL","FORC_NODA",) ),
20912          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20913          GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20914          NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20915  
20916          ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
20917          DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3 ),
20918
20919          SQUELETTE       =SIMP(statut='f',typ=squelette ),
20920          SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),  
20921          SECTEUR         =SIMP(statut='f',typ='I',defaut= 1 ),  
20922          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
20923 )  ;
20924 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20925 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20926 # ======================================================================
20927 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20928 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20929 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20930 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20931 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20932 #
20933 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20934 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20935 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20936 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20937 #
20938 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20939 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20940 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20941 # ======================================================================
20942 REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=tabl_intsp,
20943                     reentrant='n',
20944             UIinfo={"groupes":("Matrices/vecteurs",)},
20945          regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),),
20946          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
20947          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
20948          BANDE           =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2    ),  
20949          NUME_ORDRE      =SIMP(statut='f',typ='I'      ,validators=NoRepeat(),max='**' ),  
20950          INTE_SPEC_GENE  =SIMP(statut='o',typ=tabl_intsp ),
20951          NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
20952          MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
20953          NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
20954          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7,    
20955                                into=("DEPL","VITE","ACCE","EFGE_ELNO_DEPL",
20956                                      "SIPO_ELNO_DEPL","SIGM_ELNO_DEPL","FORC_NODA") ),
20957          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc), ),
20958          EXCIT           =FACT(statut='f',
20959            NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
20960            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
20961          ),
20962          MOUVEMENT       =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ),
20963          OPTION          =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG",    
20964                                into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ),
20965          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
20966 )  ;
20967 #& MODIF COMMANDE  DATE 09/11/2005   AUTEUR ASSIRE A.ASSIRE 
20968 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20969 # ======================================================================
20970 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
20971 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
20972 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
20973 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
20974 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
20975 #                                                                       
20976 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
20977 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
20978 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
20979 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
20980 #                                                                       
20981 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
20982 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
20983 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
20984 # ======================================================================
20985
20986 from Macro.stanley_ops import stanley_ops
20987
20988 STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None,
20989                        reentrant='n',
20990               UIinfo={"groupes":("Outils métier",)},
20991                        fr="Outil de post-traitement interactif Stanley ",
20992          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) ),
20993          MODELE          =SIMP(statut='f',typ=modele_sdaster),
20994          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
20995          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
20996          DISPLAY         =SIMP(statut='f',typ='TXM'),
20997 )  ;
20998 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR NICOLAS O.NICOLAS 
20999 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21000 # ======================================================================
21001 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21002 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21003 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21004 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21005 # (AT YOUR OPTION) ANY LATER VERSION.
21006 #
21007 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21008 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21009 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21010 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21011 #
21012 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21013 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21014 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21015 # ======================================================================
21016 # RESPONSABLE PBADEL P.BADEL
21017 STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
21018                    fr="Analyse mécanique statique non linéaire",
21019                    reentrant='f',
21020             UIinfo={"groupes":("Résolution",)},
21021          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'),),
21022          MODELE          =SIMP(statut='o',typ=modele_sdaster),
21023          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
21024          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
21025          EXCIT           =FACT(statut='o',max='**',
21026            CHARGE          =SIMP(statut='o',typ=char_meca),
21027            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21028            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
21029                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
21030          ),
21031          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
21032                 regles=(UN_PARMI('TOUT','MAILLE'),),
21033                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
21034                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21035                 MAILLE      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
21036               ),
21037          VARI_COMM           =FACT(statut='f',
21038            regles=(AU_MOINS_UN('IRRA','CORROSION'),),
21039            IRRA       =SIMP(statut='f',typ=evol_varc),
21040            CORROSION  =SIMP(statut='f',typ=carte_corr_r),
21041          ),
21042          COMP_INCR       =C_COMP_INCR(),
21043          COMP_ELAS       =FACT(statut='f',max='**',
21044            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
21045                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
21046                                        "ELAS_POUTRE_GR","CABLE")),
21047            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
21048            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
21049            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
21050            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
21051            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
21052            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
21053       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
21054            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21055            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
21056            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21057          ),
21058          b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
21059            ETAT_INIT       =FACT(statut='o',
21060              regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
21061                      EXCLUS('EVOL_NOLI','DEPL',),
21062                      EXCLUS('EVOL_NOLI','SIGM',),
21063                      EXCLUS('EVOL_NOLI','VARI',),
21064                      EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
21065                      EXCLUS('NUME_ORDRE','INST'), ),
21066              DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
21067              SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
21068              VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
21069              VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
21070              EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
21071              NUME_ORDRE      =SIMP(statut='f',typ='I'),
21072              INST            =SIMP(statut='f',typ='R'),
21073              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21074              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21075              NUME_DIDI       =SIMP(statut='f',typ='I'),
21076              INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
21077          ),),
21078          b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
21079            ETAT_INIT       =FACT(statut='f',
21080              regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
21081                      EXCLUS('EVOL_NOLI','DEPL',),
21082                      EXCLUS('EVOL_NOLI','SIGM',),
21083                      EXCLUS('EVOL_NOLI','VARI',),
21084                      EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
21085                      EXCLUS('NUME_ORDRE','INST'), ),
21086              DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
21087              SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
21088              VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
21089              VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
21090              EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
21091              NUME_ORDRE      =SIMP(statut='f',typ='I'),
21092              INST            =SIMP(statut='f',typ='R'),
21093              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21094              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21095              NUME_DIDI       =SIMP(statut='f',typ='I'),
21096              INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
21097          ),),
21098          INCREMENT       =FACT(statut='o',
21099            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
21100                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
21101            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
21102            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
21103                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
21104            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
21105            INST_INIT       =SIMP(statut='f',typ='R'),
21106            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
21107            INST_FIN        =SIMP(statut='f',typ='R'),
21108            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
21109            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
21110            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
21111            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
21112            OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
21113            NOM_CHAM        =SIMP(statut='f',typ='TXM',),
21114            NOM_CMP         =SIMP(statut='f',typ='TXM',),
21115            VALE            =SIMP(statut='f',typ='R'),
21116          ),
21117          NEWTON          =FACT(statut='d',
21118            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
21119            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
21120            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
21121            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
21122            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
21123            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
21124            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
21125          ),
21126          RECH_LINEAIRE   =FACT(statut='f',
21127            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
21128            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
21129            ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
21130            PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
21131            RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
21132            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
21133            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2),
21134          ),
21135          PILOTAGE        =FACT(statut='f',
21136            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
21137            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
21138            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
21139            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
21140            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
21141            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
21142            ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
21143            PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
21144            SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
21145            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21146            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
21147            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
21148            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
21149            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
21150            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
21151                          ),
21152          CONVERGENCE     =FACT(statut='d',
21153            regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
21154            SIGM_REFE       =SIMP(statut='f',typ='R'),
21155            EPSI_REFE       =SIMP(statut='f',typ='R'),
21156            FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
21157            FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
21158            FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),
21159            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
21160            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
21161            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
21162            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
21163            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
21164            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
21165            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
21166                                 ,defaut= 1.0E-6),
21167            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
21168            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
21169            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
21170                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
21171          ),
21172          PARM_THETA      =SIMP(statut='f',typ='R'
21173                               ,defaut= 1. ),
21174          SOLVEUR         =FACT(statut='d',
21175            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21176            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
21177              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21178            ),
21179            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
21180              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21181            ),
21182            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21183                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
21184              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21185              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
21186            ),
21187            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
21188              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21189              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21190              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21191              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21192              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21193            ),
21194            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21195          ),
21196          ARCHIVAGE       =FACT(statut='f',
21197            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
21198                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
21199            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
21200            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
21201            PAS_ARCH        =SIMP(statut='f',typ='I' ),
21202            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
21203            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
21204            NUME_INIT       =SIMP(statut='f',typ='I'),
21205            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
21206            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA",
21207                                                                      "VARI_NON_LOCAL","LANL_ELGA")),
21208          ),
21209          OBSERVATION     =FACT(statut='f',max='**',
21210            regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),
21211                    PRESENT_PRESENT('MAILLE','POINT'),),
21212            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA",
21213                                               "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU")),
21214            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
21215            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
21216            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
21217            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
21218            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21219            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21220            PAS_OBSE        =SIMP(statut='f',typ='I'),
21221            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
21222            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21223            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21224            POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
21225          ),
21226          CRIT_FLAMB     =FACT(statut='f',min=1,max=1,
21227            NB_FREQ         =SIMP(statut='f',typ='I',max=1,defaut=3),
21228            CHAR_CRIT       =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10),
21229                             fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),
21230          ),
21231            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21232                                fr="Liste des paramètres de sensibilité",
21233                                ang="List of sensitivity parameters"),
21234            SOLV_NON_LOCAL  =FACT(statut='f',
21235              METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21236              b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
21237                RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21238              ),
21239              b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
21240                RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21241              ),
21242              b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21243                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
21244                NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21245                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21246              ),
21247              b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
21248                PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21249                NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21250                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21251                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21252              ),
21253              EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
21254            ),
21255            LAGR_NON_LOCAL  =FACT(statut='f',
21256              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
21257              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
21258              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
21259              R               =SIMP(statut='f',typ='R',defaut= 1000.),
21260              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
21261            ),
21262          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
21263          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
21264  )  ;
21265 #& MODIF COMMANDE  DATE 24/05/2006   AUTEUR CIBHHLV L.VIVAN 
21266 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21267 # ======================================================================
21268 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
21269 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
21270 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
21271 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
21272 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
21273 #                                                                       
21274 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
21275 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
21276 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
21277 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
21278 #                                                                       
21279 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
21280 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
21281 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
21282 # ======================================================================
21283
21284 # RESPONSABLE MCOURTOI M.COURTOIS
21285
21286 from Macro.test_fichier_ops import test_fichier_ops
21287
21288 TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops,
21289                    UIinfo={"groupes":("Impression",)},
21290                    
21291    UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21292    FICHIER          =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)),
21293    NB_CHIFFRE      =SIMP(statut='o',typ='I',),   # defaut=6        pas de defaut, il faut
21294    EPSILON         =SIMP(statut='o',typ='R',),   # defaut=1.E-12   se poser la question !
21295    EXPR_IGNORE     =SIMP(statut='f',typ='TXM',max='**',
21296                          fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"),
21297    VALE_K          =SIMP(statut='o',typ='TXM' ),
21298    REFERENCE       =SIMP(statut='f',typ='TXM',
21299                          into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21300
21301    b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
21302       VERSION         =SIMP(statut='f',typ='TXM' ),
21303    ),
21304
21305    INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
21306 )
21307 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
21308 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21309 # ======================================================================
21310 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21311 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21312 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21313 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21314 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21315 #
21316 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21317 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21318 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21319 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21320 #
21321 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21322 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21323 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21324 # ======================================================================
21325 # RESPONSABLE MCOURTOI M.COURTOIS
21326 TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,fr="Extraction d une valeur numérique ou d un attribut de fonction",
21327             UIinfo={"groupes":("Impression",)},
21328          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21329          TEST_NOOK       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21330          VALEUR          =FACT(statut='f',max='**',
21331                                fr="Tester la valeur d une fonction ou d une nappe",
21332            regles=(UN_PARMI('VALE_REFE','VALE_REFE_C', ),),
21333            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
21334            NOM_PARA        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2),
21335            VALE_PARA       =SIMP(statut='o',typ='R'  ,validators=NoRepeat(),max=2),
21336            VALE_REFE       =SIMP(statut='f',typ='R' ),
21337            VALE_REFE_C     =SIMP(statut='f',typ='C' ),
21338            CRITERE         =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence",
21339                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21340            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
21341                                  defaut= 1.E-3 ),
21342            REFERENCE       =SIMP(statut='f',typ='TXM',
21343                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21344            b_version = BLOC (condition = "REFERENCE == 'NON_REGRESSION'", 
21345              VERSION         =SIMP(statut='f',typ='TXM' ),
21346            ),
21347          ),
21348          ATTRIBUT        =FACT(statut='f',max='**',
21349                                fr="Tester la valeur d un attribut d une fonction ou d''une nappe",
21350            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
21351            PARA            =SIMP(statut='f',typ='R' ),
21352            CRIT_PARA       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21353            PREC_PARA       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
21354            ATTR            =SIMP(statut='o',typ='TXM',
21355                                  into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL",
21356                                        "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ),
21357            ATTR_REFE       =SIMP(statut='o',typ='TXM' ),
21358            REFERENCE       =SIMP(statut='f',typ='TXM',
21359                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21360            b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
21361              VERSION         =SIMP(statut='f',typ='TXM' ),
21362            ),
21363          ),
21364          TABL_INTSP      =FACT(statut='f',max='**',
21365                                fr="Tester la valeur d une fonction contenue dans une table interspectrale",
21366            regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),),
21367            INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
21368            NOEUD_I         =SIMP(statut='f',typ=no),
21369            NUME_ORDRE_I    =SIMP(statut='f',typ='I' ),
21370            b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", 
21371              NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
21372            ),
21373            b_noeud_i = BLOC (condition = "NOEUD_I != None",             
21374              NOEUD_J         =SIMP(statut='o',typ=no),
21375              NOM_CMP_I       =SIMP(statut='o',typ='TXM' ),
21376              NOM_CMP_J       =SIMP(statut='o',typ='TXM' ),
21377            ),
21378            NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
21379            VALE_PARA       =SIMP(statut='o',typ='R' ),
21380            VALE_REFE_C     =SIMP(statut='o',typ='C' ),
21381            CRITERE         =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence",
21382                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21383            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
21384                                  defaut= 1.E-3 ),
21385            REFERENCE       =SIMP(statut='f',typ='TXM',
21386                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21387            b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
21388              VERSION         =SIMP(statut='f',typ='TXM' ),
21389            ),
21390          ),
21391 )  ;
21392 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
21393 # RESPONSABLE VABHHTS J.PELLET
21394 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21395 # ======================================================================
21396 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21397 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21398 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21399 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21400 # (AT YOUR OPTION) ANY LATER VERSION.
21401 #
21402 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21403 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21404 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21405 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21406 #
21407 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21408 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21409 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21410 #
21411 #
21412 # ======================================================================
21413 TEST_RESU=PROC(nom="TEST_RESU",op=23,
21414             UIinfo={"groupes":("Impression",)},
21415          fr="Extraction d une valeur et comparaison à une valeur de référence",
21416          regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','RESU','OBJET')),
21417          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21418
21419          CHAM_NO         =FACT(statut='f',max='**',
21420            regles=(UN_PARMI('NOEUD','GROUP_NO','TYPE_TEST'),
21421                    EXCLUS('NOEUD','GROUP_NO'),
21422                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
21423                    PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'),
21424                    UN_PARMI('VALE','VALE_I','VALE_C'),),
21425            CHAM_GD         =SIMP(statut='o',typ=cham_no_sdaster),
21426            NOEUD           =SIMP(statut='f',typ=no   ),
21427            GROUP_NO        =SIMP(statut='f',typ=grno ),
21428            NOM_CMP         =SIMP(statut='f',typ='TXM'),
21429            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
21430            VALE            =SIMP(statut='f',typ='R'),
21431            VALE_I          =SIMP(statut='f',typ='I'),
21432            VALE_C          =SIMP(statut='f',typ='C'),
21433            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
21434            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
21435            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21436                                                             "NON_REGRESSION","AUTRE_ASTER")),
21437            VERSION         =SIMP(statut='f',typ='TXM'),
21438          ),
21439
21440          CHAM_ELEM       =FACT(statut='f',max='**',
21441            regles=(UN_PARMI('MAILLE','TYPE_TEST',),
21442                    EXCLUS('NOEUD','GROUP_NO','POINT'),
21443                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
21444                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
21445                    PRESENT_PRESENT('POINT','NOM_CMP'),
21446                    UN_PARMI('VALE','VALE_I','VALE_C'), ),
21447            CHAM_GD         =SIMP(statut='o',typ=cham_elem_sdaster),
21448            MAILLE          =SIMP(statut='f',typ=ma),
21449            POINT           =SIMP(statut='f',typ='I' ),
21450            SOUS_POINT      =SIMP(statut='f',typ='I'),
21451            NOEUD           =SIMP(statut='f',typ=no),
21452            GROUP_NO        =SIMP(statut='f',typ=grno),
21453            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
21454            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
21455            VALE            =SIMP(statut='f',typ='R' ),
21456            VALE_I          =SIMP(statut='f',typ='I' ),
21457            VALE_C          =SIMP(statut='f',typ='C' ),
21458            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
21459            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21460            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21461                                                             "NON_REGRESSION","AUTRE_ASTER") ),
21462            VERSION         =SIMP(statut='f',typ='TXM' ),
21463          ),
21464
21465          RESU            =FACT(statut='f',max='**',
21466            regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),
21467                    UN_PARMI('NOM_CHAM','PARA'),
21468                    PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP','TYPE_TEST'),
21469                    PRESENT_PRESENT('NOM_CMP','NOM_CHAM'),
21470                    EXCLUS('NOEUD','GROUP_NO','POINT','TYPE_TEST'),
21471                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
21472                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
21473                    PRESENT_PRESENT('POINT','NOM_CMP'),
21474                    UN_PARMI('VALE','VALE_I','VALE_C') ,),
21475            RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
21476            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
21477                                  fr="Paramètre de sensibilité.",
21478                                  ang="Sensitivity parameter"),
21479            NUME_ORDRE      =SIMP(statut='f',typ='I'),
21480            INST            =SIMP(statut='f',typ='R'),
21481            FREQ            =SIMP(statut='f',typ='R'),
21482            NUME_MODE       =SIMP(statut='f',typ='I'),
21483            NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),
21484            NOM_CAS         =SIMP(statut='f',typ='TXM'),
21485            ANGL            =SIMP(statut='f',typ='R'),
21486            PARA            =SIMP(statut='f',typ='TXM'),
21487            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
21488            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
21489            MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
21490            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
21491            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
21492            POINT           =SIMP(statut='f',typ='I'),
21493            SOUS_POINT      =SIMP(statut='f',typ='I'),
21494            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
21495            VALE            =SIMP(statut='f',typ='R'),
21496            VALE_I          =SIMP(statut='f',typ='I'),
21497            VALE_C          =SIMP(statut='f',typ='C'),
21498            CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2),
21499            PRECISION       =SIMP(statut='f',typ='R',max=2),
21500            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21501                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
21502            VERSION         =SIMP(statut='f',typ='TXM' ),
21503          ),
21504
21505          OBJET           =FACT(statut='f',max='**',
21506            regles=(UN_PARMI('S_I','S_R','RESUME',),
21507                    UN_PARMI('VALE','VALE_I','VALE_C','RESUME','S_R','S_I'),),
21508            NOM             =SIMP(statut='o',typ='TXM'),
21509            S_R             =SIMP(statut='f',typ='R'),
21510            S_I             =SIMP(statut='f',typ='I'),
21511            RESUME          =SIMP(statut='f',typ='I'),
21512            VALE            =SIMP(statut='f',typ='R'),
21513            VALE_I          =SIMP(statut='f',typ='I'),
21514            VALE_C          =SIMP(statut='f',typ='C'),
21515            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
21516            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
21517            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21518                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
21519            VERSION         =SIMP(statut='f',typ='TXM' ),
21520          ),
21521 )  ;
21522 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
21523 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21524 # ======================================================================
21525 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21526 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21527 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21528 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21529 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21530 #
21531 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21532 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21533 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21534 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21535 #
21536 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21537 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21538 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21539 # ======================================================================
21540 # RESPONSABLE VABHHTS J.PELLET
21541 TEST_TABLE=PROC(nom="TEST_TABLE",op= 177,
21542             UIinfo={"groupes":("Impression",)},
21543          regles=(UN_PARMI('VALE','VALE_I','VALE_C', ),),
21544          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21545 #  concept table_sdaster à tester
21546          TABLE           =SIMP(statut='o',typ=table_sdaster),
21547
21548          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
21549                                  fr="Paramètre de sensibilité.",
21550                                  ang="Sensitivity parameter"),
21551          FILTRE          =FACT(statut='f',max='**',
21552            NOM_PARA        =SIMP(statut='o',typ='TXM' ),
21553            CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
21554                                  into=("EQ","LT","GT","NE","LE","GE","VIDE",
21555                                        "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
21556            b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
21557               regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
21558               VALE            =SIMP(statut='f',typ='R' ),
21559               VALE_I          =SIMP(statut='f',typ='I' ),
21560               VALE_C          =SIMP(statut='f',typ='C' ),
21561               VALE_K          =SIMP(statut='f',typ='TXM' ),),
21562
21563            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21564            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
21565          ),
21566          TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
21567          NOM_PARA        =SIMP(statut='o',typ='TXM' ),
21568          VALE            =SIMP(statut='f',typ='R' ),
21569          VALE_I          =SIMP(statut='f',typ='I' ),
21570          VALE_C          =SIMP(statut='f',typ='C' ),
21571          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21572          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.2E-3 ),
21573          REFERENCE       =SIMP(statut='f',typ='TXM',
21574                                into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21575          b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
21576              VERSION         =SIMP(statut='f',typ='TXM' ),
21577          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
21578          ),
21579 )  ;
21580 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
21581 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21582 # ======================================================================
21583 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21584 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21585 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21586 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21587 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21588 #
21589 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21590 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21591 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21592 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21593 #
21594 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21595 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21596 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21597 # ======================================================================
21598 THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
21599             UIinfo={"groupes":("Résolution",)},
21600                    fr="Analyse thermique linéaire stationnaire ou transitoire",
21601          MODELE          =SIMP(statut='o',typ=modele_sdaster),
21602          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
21603          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
21604          EXCIT           =FACT(statut='o',max='**',
21605            CHARGE          =SIMP(statut='o',typ=(char_ther,char_cine_ther)),
21606            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21607          ),
21608          INCREMENT       =FACT(statut='f',
21609            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster ),
21610            NUME_INIT       =SIMP(statut='f',typ='I'),
21611            NUME_FIN        =SIMP(statut='f',typ='I'),
21612          ),
21613          TEMP_INIT       =FACT(statut='f',
21614            regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
21615            STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21616            EVOL_THER       =SIMP(statut='f',typ=evol_ther),
21617            CHAM_NO         =SIMP(statut='f',typ=cham_no_temp_r),
21618            VALE            =SIMP(statut='f',typ='R'),
21619            NUME_INIT       =SIMP(statut='f',typ='I'),
21620          ),
21621          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21622                                fr="Liste des paramètres de sensibilité.",
21623                                ang="List of sensitivity parameters",
21624          ),
21625            SENS_INIT       =FACT(statut='f',
21626              regles=(EXCLUS('STATIONNAIRE','EVOL_THER', ),),
21627              STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21628              EVOL_THER       =SIMP(statut='f',typ=evol_ther),
21629              NUME_INIT       =SIMP(statut='f',typ='I'),
21630            ),
21631          SOLVEUR         =FACT(statut='d',
21632            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21633            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
21634              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21635            ),
21636            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
21637              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21638            ),
21639            b_ldlt_mult      =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21640                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
21641              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21642              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21643            ),
21644            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
21645              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21646              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21647              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21648              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21649              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21650            ),
21651          ),
21652          PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57),
21653          ARCHIVAGE       =FACT(statut='f',
21654            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST'),),
21655            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
21656            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
21657            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
21658            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21659            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
21660                                  into=("RELATIF","ABSOLU")),
21661            PAS_ARCH        =SIMP(statut='f',typ='I'),
21662            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',into=("VARI",)),
21663          ),
21664          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
21665          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
21666 )  ;
21667 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
21668 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21669 # ======================================================================
21670 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21671 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21672 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21673 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21674 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21675 #
21676 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21677 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21678 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21679 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21680 #
21681 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21682 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21683 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21684 # ======================================================================
21685 THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
21686             UIinfo={"groupes":("Résolution",)},
21687                    fr="Analyse thermique non linéaire stationnaire ou transitoire" ,
21688          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
21689          CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
21690          CARA_ELEM       =SIMP(statut='c',typ=(cara_elem) ),
21691          COMP_THER_NL    =FACT(statut='d',max='**',
21692            RELATION        =SIMP(statut='f',typ='TXM',defaut="THER_NL",
21693                                  into=("THER_NL",
21694                                        "THER_HYDR",
21695                                        "SECH_GRANGER",
21696                                        "SECH_MENSI",
21697                                        "SECH_BAZANT",
21698                                        "SECH_NAPPE"
21699                                        ) ),
21700       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
21701            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21702            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
21703            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21704          ),
21705          EVOL_THER_SECH  =SIMP(statut='f',typ=evol_ther),
21706          EXCIT           =FACT(statut='o',max='**',
21707            CHARGE          =SIMP(statut='o',typ=char_ther),
21708            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21709          ),
21710          INCREMENT       =FACT(statut='f',
21711            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
21712            NUME_INIT       =SIMP(statut='f',typ='I'),
21713            NUME_FIN        =SIMP(statut='f',typ='I'),
21714          ),
21715          TEMP_INIT       =FACT(statut='f',
21716            regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
21717            STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",)),
21718            EVOL_THER       =SIMP(statut='f',typ=evol_ther),
21719            CHAM_NO         =SIMP(statut='f',typ=cham_no_temp_r),
21720            VALE            =SIMP(statut='f',typ='R'),
21721            NUME_INIT       =SIMP(statut='f',typ='I'),
21722          ),
21723          NEWTON          =FACT(statut='d',
21724            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21725            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21726            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 0 ),
21727          ),
21728          CONVERGENCE     =FACT(statut='d',
21729            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
21730            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
21731            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
21732          ),
21733          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21734                                fr="Liste des paramètres de sensibilité.",
21735                                ang="List of sensitivity parameters",
21736          ),
21737          SOLVEUR         =FACT(statut='d',
21738            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21739            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Parametres de la méthode multi frontale",
21740              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21741            ),
21742            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Parametres de la méthode LDLT",
21743              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21744            ),
21745            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21746                                    fr="Parametres relatifs a la non inversibilité de la matrice a factorise",
21747              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21748              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21749            ),
21750            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Parametres de la méthode du gradient conjugué",
21751              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21752              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I'  ,defaut= 0 ),
21753              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21754              RESI_RELA       =SIMP(statut='f',typ='R'  ,defaut= 1.E-6 ),
21755              NMAX_ITER       =SIMP(statut='f',typ='I'  ,defaut= 0 ),
21756            ),
21757            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
21758          ),
21759          PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57 ),
21760          ARCHIVAGE       =FACT(statut='f',
21761            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST', ),),
21762            LIST_ARCH       =SIMP(statut='f',typ=(listis_sdaster) ),
21763            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
21764            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
21765            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21766            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
21767            PAS_ARCH        =SIMP(statut='f',typ='I'),
21768            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',into=("VARI",)),
21769          ),
21770          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
21771          OPTION          =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,
21772                                into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP") ),
21773          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
21774   
21775 )  ;
21776 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
21777 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21778 # ======================================================================
21779 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21780 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21781 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21782 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21783 # (AT YOUR OPTION) ANY LATER VERSION.
21784 #
21785 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21786 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21787 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21788 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21789 #
21790 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21791 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21792 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21793 # ======================================================================
21794 THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther,
21795                      fr="Thermique non lineaire en repere mobile",
21796                      reentrant='n',
21797             UIinfo={"groupes":("Résolution",)},
21798          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
21799          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
21800          CARA_ELEM       =SIMP(statut='c',typ=cara_elem ),
21801          EXCIT           =FACT(statut='o',max='**',
21802            CHARGE          =SIMP(statut='o',typ=char_ther ),
21803            FONC_MULT       =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21804          ),
21805          TEMP_INIT       =FACT(statut='f',
21806            EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
21807            NUME_INIT       =SIMP(statut='f',typ='I',defaut= 0 ),
21808          ),
21809          CONVERGENCE     =FACT(statut='d',
21810            CRIT_TEMP_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
21811            CRIT_ENTH_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
21812            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
21813            ARRET           =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21814          ),
21815          SOLVEUR         =FACT(statut='d',
21816            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21817            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
21818              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21819            ),
21820            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
21821              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21822            ),
21823            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21824                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
21825              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21826              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21827            ),
21828            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
21829              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21830              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21831              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21832              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21833              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21834            ),
21835            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21836          ),
21837          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
21838          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
21839 )  ;
21840
21841
21842