Salome HOME
Modif V6_4_°
[tools/eficas.git] / Aster / Cata / cataSTA76 / 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.1.6.2 2006/06/02 09:43:05 pnoyret 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
51 # Type geometriques
52 class no  (GEOM):pass
53 class grno(GEOM):pass
54 class ma  (GEOM):pass
55 class grma(GEOM):pass
56
57
58
59 # Autres
60
61 class cabl_precont    (ASSD):pass
62 class cara_elem       (ASSD):pass
63 class cham_mater      (ASSD):pass
64 class char_acou       (ASSD):pass
65 class char_cine_acou  (ASSD):pass
66 class char_cine_meca  (ASSD):pass
67 class char_cine_ther  (ASSD):pass
68 class char_meca       (ASSD):pass
69 class char_ther       (ASSD):pass
70 class compor_sdaster  (ASSD):pass
71 class courbe_sdaster  (ASSD):pass
72 class fiss_xfem       (ASSD):pass
73 class fond_fiss       (ASSD):pass
74 class interf_dyna_clas(ASSD):pass
75 class interspfact     (ASSD):pass
76 class listis_sdaster  (ASSD):pass
77 class macr_elem_dyna  (ASSD):pass
78 class macr_elem_stat  (ASSD):pass
79 class mater_sdaster   (ASSD):pass
80 class melasflu_sdaster(ASSD):pass
81 class modele_sdaster  (ASSD):pass
82 class modele_gene     (ASSD):pass
83 class nume_ddl_sdaster(ASSD):pass
84 class nume_ddl_gene   (ASSD):pass
85 class obstacle_sdaster(ASSD):pass
86 class sd_feti_sdaster (ASSD):pass
87 class spectre_sdaster (ASSD):pass
88 class surface_sdaster (ASSD):pass
89 class tran_gene       (ASSD):pass
90 class type_flui_stru  (ASSD):pass
91
92
93 # liste :
94 #--------------------------------
95 class listr8_sdaster   (ASSD):
96   def Valeurs(self) :
97     """
98     Retourne la liste des valeurs : [val1, ..., valN]
99     """
100     if not self.par_lot():
101        vale='%-19s.VALE' % self.get_name()
102        return list(aster.getvectjev(vale))
103     else:
104        raise Accas.AsException("Erreur dans listr8.Valeurs en PAR_LOT='OUI'")
105
106
107 # post-traitement :
108 #--------------------------------
109 class post_comp_cham_el :
110   def __init__(self,valeurs,maille=None,point=None,sous_point=None) :
111     self.valeurs=valeurs
112     self.maille=maille
113     self.point=point
114     self.sous_point=sous_point
115
116 class post_comp_cham_no :
117   def __init__(self,valeurs,noeud=None) :
118     self.valeurs=valeurs
119     self.noeud=noeud
120
121 # maillage :
122 #--------------------------------
123 class maillage_sdaster(ASSD):
124   def LIST_GROUP_NO(self) :
125     """ retourne la liste des groupes de noeuds sous la forme :
126         [ (gno1, nb noeuds  gno1), ...] """
127     if self.par_lot() :
128        raise Accas.AsException("Erreur dans maillage.LIST_GROUP_NO en PAR_LOT='OUI'")
129     nommail=self.get_name()
130     dic_gpno=aster.getcolljev(nommail.ljust(8)+".GROUPENO")
131     return [(gpno.strip(),len(dic_gpno[gpno])) for gpno in dic_gpno]
132   def LIST_GROUP_MA(self) :
133     """ retourne la liste des groupes de mailles sous la forme :
134         [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """
135     if self.par_lot() :
136        raise Accas.AsException("Erreur dans maillage.LIST_GROUP_MA en PAR_LOT='OUI'")
137     nommail=self.get_name()
138     nommail=nommail.ljust(8)
139     ngpma=[]
140     ltyma =aster.getvectjev("&CATA.TM.NOMTM")
141     catama=aster.getcolljev("&CATA.TM.TMDIM")
142     dic_gpma=aster.getcolljev(nommail+".GROUPEMA")
143     dimama=[catama[ltyma[ma-1]][0] for ma in aster.getvectjev(nommail+".TYPMAIL")]
144     for grp in dic_gpma.keys():
145         dim=max([dimama[ma-1] for ma in dic_gpma[grp]])
146         ngpma.append((grp.strip(),len(dic_gpma[grp]),dim))
147     return ngpma
148
149
150 class squelette     (maillage_sdaster):pass
151
152
153 # cham_gd_sdaster (carte_sdaster,cham_no_sdaster,cham_elem_sdaster)
154 #--------------------------------
155
156 class cham_gd_sdaster(ASSD):pass
157
158 # cham_gd_sdaster/carte_sdaster :
159 #--------------------------------
160 class carte_sdaster  (cham_gd_sdaster):pass
161 class carte_dbel_r   (carte_sdaster):pass
162 class carte_depl_c   (carte_sdaster):pass
163 class carte_depl_f   (carte_sdaster):pass
164 class carte_depl_r   (carte_sdaster):pass
165 class carte_durt_r   (carte_sdaster):pass
166 class carte_ener_r   (carte_sdaster):pass
167 class carte_epsi_r   (carte_sdaster):pass
168 class carte_erreur   (carte_sdaster):pass
169 class carte_flux_r   (carte_sdaster):pass
170 class carte_g_depl_r (carte_sdaster):pass
171 class carte_geom_r   (carte_sdaster):pass
172 class carte_hydr_r   (carte_sdaster):pass
173 class carte_inst_r   (carte_sdaster):pass
174 class carte_inte_r   (carte_sdaster):pass
175 class carte_irra_r   (carte_sdaster):pass
176 class carte_neut_f   (carte_sdaster):pass
177 class carte_neut_r   (carte_sdaster):pass
178 class carte_pres_r   (carte_sdaster):pass
179 class carte_sief_r   (carte_sdaster):pass
180 class carte_sour_r   (carte_sdaster):pass
181 class carte_temp_f   (carte_sdaster):pass
182 class carte_temp_r   (carte_sdaster):pass
183 class carte_var2_r   (carte_sdaster):pass
184 class carte_vnor_c   (carte_sdaster):pass
185 class carte_corr_r   (carte_sdaster):pass
186
187
188 # cham_gd_sdaster/cham_elem_sdaster :
189 #--------------------------------
190 class cham_elem_sdaster(cham_gd_sdaster):
191
192   def EXTR_COMP(self,comp,lgma,topo=0) :
193     """ retourne les valeurs de la composante comp du champ sur la liste
194         de groupes de mailles lgma avec eventuellement l'info de la 
195         topologie si topo>0. Si lgma est une liste vide, c'est equivalent
196         a un TOUT='OUI' dans les commandes aster
197         Attributs retourne
198           - self.valeurs : Numeric.array contenant les valeurs
199         Si on a demande la topo  :
200           - self.maille  : numero de mailles
201           - self.point   : numero du point dans la maille
202           - self.sous_point : numero du sous point dans la maille """
203     if self.par_lot() :
204        raise Accas.AsException("Erreur dans cham_elem.EXTR_COMP en PAR_LOT='OUI'")
205   
206     ncham=self.get_name()
207     ncham=ncham+(8-len(ncham))*' '
208     nchams=ncham[0:7]+'S'
209     ncmp=comp+(8-len(comp))*' '
210     
211     aster.prepcompcham(ncham,nchams,ncmp,"EL      ",topo,lgma)
212     
213     valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V'))
214     
215     if (topo>0) :
216       maille=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.M'))
217       point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.P'))
218       sous_point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.SP'))
219     else :
220       maille=None
221       point=None
222       sous_point=None
223     
224     aster.prepcompcham("__DETR__",nchams,ncmp,"EL      ",topo,lgma)
225     
226     return post_comp_cham_el(valeurs,maille,point,sous_point)
227     
228 class cham_elem_crit_r(cham_elem_sdaster):pass
229 class cham_elem_dbel_r(cham_elem_sdaster):pass
230 class cham_elem_depl_c(cham_elem_sdaster):pass
231 class cham_elem_depl_f(cham_elem_sdaster):pass
232 class cham_elem_depl_r(cham_elem_sdaster):pass
233 class cham_elem_dommag(cham_elem_sdaster):pass
234 class cham_elem_durt_r(cham_elem_sdaster):pass
235 class cham_elem_ener_r(cham_elem_sdaster):pass
236 class cham_elem_epsi_c(cham_elem_sdaster):pass
237 class cham_elem_epsi_r(cham_elem_sdaster):pass
238 class cham_elem_erreur(cham_elem_sdaster):pass
239 class cham_elem_facy_r(cham_elem_sdaster):pass
240 class cham_elem_flux_r(cham_elem_sdaster):pass
241 class cham_elem_g_depl(cham_elem_sdaster):pass
242 class cham_elem_geom_r(cham_elem_sdaster):pass
243 class cham_elem_hydr_r(cham_elem_sdaster):pass
244 class cham_elem_inst_r(cham_elem_sdaster):pass
245 class cham_elem_inte_r(cham_elem_sdaster):pass
246 class cham_elem_irra_r(cham_elem_sdaster):pass
247 class cham_elem_neut_f(cham_elem_sdaster):pass
248 class cham_elem_neut_r(cham_elem_sdaster):pass
249 class cham_elem_pres_r(cham_elem_sdaster):pass
250 class cham_elem_sief_c(cham_elem_sdaster):pass
251 class cham_elem_sief_r(cham_elem_sdaster):pass
252 class cham_elem_sour_r(cham_elem_sdaster):pass
253 class cham_elem_spma_r(cham_elem_sdaster):pass
254 class cham_elem_temp_f(cham_elem_sdaster):pass
255 class cham_elem_temp_r(cham_elem_sdaster):pass
256 class cham_elem_vari_r(cham_elem_sdaster):pass
257 class cham_elem_vnor_c(cham_elem_sdaster):pass
258
259
260 # cham_gd/cham_no :
261 #--------------------------------
262 class cham_no_sdaster(cham_gd_sdaster):  
263
264   def EXTR_COMP(self,comp,lgno,topo=0) :
265     """ retourne les valeurs de la composante comp du champ sur la liste
266         de groupes de noeuds lgno avec eventuellement l'info de la 
267         topologie si topo>0. Si lgno est une liste vide, c'est equivalent
268         a un TOUT='OUI' dans les commandes aster
269         Attributs retourne
270           - self.valeurs : Numeric.array contenant les valeurs
271         Si on a demande la topo (i.e. self.topo = 1) :
272           - self.noeud  : numero de noeud """
273     if self.par_lot() :
274        raise Accas.AsException("Erreur dans cham_no.EXTR_COMP en PAR_LOT='OUI'")
275
276     ncham=self.get_name()
277     ncham=ncham+(8-len(ncham))*' '
278     nchams=ncham[0:7]+'S'
279     ncmp=comp+(8-len(comp))*' '
280     
281     aster.prepcompcham(ncham,nchams,ncmp,"NO      ",topo,lgno)
282     
283     valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V'))
284     
285     if (topo>0) :
286       noeud=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.N'))
287     else :
288       noeud=None
289     
290     aster.prepcompcham("__DETR__",nchams,ncmp,"NO      ",topo,lgno)
291     
292     return post_comp_cham_no(valeurs,noeud)
293
294 class cham_no_dbel_r   (cham_no_sdaster):pass
295 class cham_no_depl_c   (cham_no_sdaster):pass
296 class cham_no_depl_f   (cham_no_sdaster):pass
297 class cham_no_depl_r   (cham_no_sdaster):pass
298 class cham_no_durt_r   (cham_no_sdaster):pass
299 class cham_no_ener_r   (cham_no_sdaster):pass
300 class cham_no_epsi_r   (cham_no_sdaster):pass
301 class cham_no_erreur   (cham_no_sdaster):pass
302 class cham_no_facy_r   (cham_no_sdaster):pass
303 class cham_no_flux_r   (cham_no_sdaster):pass
304 class cham_no_g_depl_r (cham_no_sdaster):pass
305 class cham_no_geom_r   (cham_no_sdaster):pass
306 class cham_no_hydr_r   (cham_no_sdaster):pass
307 class cham_no_inst_r   (cham_no_sdaster):pass
308 class cham_no_inte_r   (cham_no_sdaster):pass
309 class cham_no_irra_r   (cham_no_sdaster):pass
310 class cham_no_neut_f   (cham_no_sdaster):pass
311 class cham_no_neut_r   (cham_no_sdaster):pass
312 class cham_no_pres_c   (cham_no_sdaster):pass
313 class cham_no_pres_r   (cham_no_sdaster):pass
314 class cham_no_sief_r   (cham_no_sdaster):pass
315 class cham_no_sour_r   (cham_no_sdaster):pass
316 class cham_no_spma_r   (cham_no_sdaster):pass
317 class cham_no_temp_c   (cham_no_sdaster):pass
318 class cham_no_temp_f   (cham_no_sdaster):pass
319 class cham_no_temp_r   (cham_no_sdaster):pass
320 class cham_no_vanl_r   (cham_no_sdaster):pass
321 class cham_no_var2_r   (cham_no_sdaster):pass
322 class cham_no_vnor_c   (cham_no_sdaster):pass
323
324
325 # resultat_sdaster : (evol_sdaster,mode_stat,mode_meca)
326 #--------------------------------------
327
328 class resultat_sdaster(ASSD):
329   def LIST_CHAMPS (self) :
330     if self.par_lot() :
331       raise Accas.AsException("Erreur dans resultat.LIST_CHAMPS en PAR_LOT='OUI'")
332     return aster.GetResu(self.get_name(), "CHAMPS")
333   def LIST_NOM_CMP (self) :
334     if self.par_lot() :
335       raise Accas.AsException("Erreur dans resultat.LIST_NOM_CMP en PAR_LOT='OUI'")
336     return aster.GetResu(self.get_name(), "COMPOSANTES")
337   def LIST_VARI_ACCES (self) :
338     if self.par_lot() :
339       raise Accas.AsException("Erreur dans resultat.LIST_VARI_ACCES en PAR_LOT='OUI'")
340     return aster.GetResu(self.get_name(), "VARI_ACCES")
341   def LIST_PARA (self) :
342     if self.par_lot() :
343       raise Accas.AsException("Erreur dans resultat.LIST_PARA en PAR_LOT='OUI'")
344     return aster.GetResu(self.get_name(), "PARAMETRES")
345
346 class acou_harmo    (resultat_sdaster):pass
347 class base_modale   (resultat_sdaster):pass
348 class comb_fourier  (resultat_sdaster):pass
349 class dyna_harmo    (resultat_sdaster):pass
350 class dyna_trans    (resultat_sdaster):pass
351 class fourier_elas  (resultat_sdaster):pass
352 class harm_gene     (resultat_sdaster):pass
353 class mode_acou     (resultat_sdaster):pass
354 class mode_cycl     (resultat_sdaster):pass
355 class mode_flamb    (resultat_sdaster):pass
356 class mode_gene     (resultat_sdaster):pass
357 class mult_elas     (resultat_sdaster):pass
358 class theta_geom    (resultat_sdaster):pass
359
360 # resultat_sdaster/evol_sdaster :
361 #--------------------------------
362 class evol_sdaster(resultat_sdaster):pass
363 class evol_char(evol_sdaster):pass
364 class evol_elas(evol_sdaster):pass
365 class evol_noli(evol_sdaster):pass
366 class evol_ther(evol_sdaster):pass
367 class evol_varc(evol_sdaster):pass
368
369 # resultat_sdaster/mode_stat :
370 #--------------------------------
371 class mode_stat(resultat_sdaster):pass
372 class mode_stat_depl(mode_stat):pass
373 class mode_stat_acce(mode_stat):pass
374 class mode_stat_forc(mode_stat):pass
375
376
377 # resultat_sdaster/mode_meca :
378 #--------------------------------
379 class mode_meca(resultat_sdaster):pass
380 class mode_meca_c(mode_meca):pass
381
382
383 # types 'fonction' :
384 #--------------------------------
385 class fonction_class(ASSD):
386    def Valeurs(self):pass
387    def Parametres(self):
388       """
389       Retourne un dictionnaire contenant les parametres de la fonction ;
390       le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourne,
391       le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel.
392       """
393       if not self.par_lot() :
394         TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' }
395         prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL')
396         dico={
397          'INTERPOL'    : [prol[1][0:3],prol[1][4:7]],
398          'NOM_PARA'    : string.strip(prol[2][0:16]),
399          'NOM_RESU'    : string.strip(prol[3][0:16]),
400          'PROL_DROITE' : TypeProl[prol[4][1]],
401          'PROL_GAUCHE' : TypeProl[prol[4][0]],
402         }
403       elif hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' :
404         dico={
405          'INTERPOL'    : self.etape['INTERPOL'],
406          'NOM_PARA'    : self.etape['NOM_PARA'],
407          'NOM_RESU'    : self.etape['NOM_RESU'],
408          'PROL_DROITE' : self.etape['PROL_DROITE'],
409          'PROL_GAUCHE' : self.etape['PROL_GAUCHE'],
410         }
411         if   type(dico['INTERPOL'])==types.TupleType :
412                   dico['INTERPOL']=list(dico['INTERPOL'])
413         elif type(dico['INTERPOL'])==types.StringType :
414                   dico['INTERPOL']=[dico['INTERPOL'],]
415         if len(dico['INTERPOL'])==1 :
416            dico['INTERPOL']=dico['INTERPOL']*2
417       else:
418          raise Accas.AsException("Erreur dans fonction.Parametres en PAR_LOT='OUI'")
419       return dico
420    def Trace(self,FORMAT='TABLEAU',**kargs):
421       """Tracé d'une fonction"""
422       if self.par_lot() :
423          raise Accas.AsException("Erreur dans fonction.Trace en PAR_LOT='OUI'")
424       from Utilitai.Graph import Graph
425       gr=Graph()
426       gr.AjoutCourbe(Val=self.Valeurs(),
427             Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU']])
428       gr.Trace(FORMAT=FORMAT,**kargs)
429 class fonction_sdaster(fonction_class):
430    def Valeurs(self) :
431       """
432       Retourne deux listes de valeurs : abscisses et ordonnees
433       """
434       if not self.par_lot():
435         vale=string.ljust(self.get_name(),19)+'.VALE'
436         lbl=list(aster.getvectjev(vale))
437         dim=len(lbl)/2
438         lx=lbl[0:dim]
439         ly=lbl[dim:2*dim]
440         return [lx,ly]
441       elif hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' :
442         if self.etape['VALE']!=None:
443            lbl=list(self.etape['VALE'])
444            dim=len(lbl)
445            lx=[lbl[i] for i in range(0,dim,2)]
446            ly=[lbl[i] for i in range(1,dim,2)]
447            return [lx,ly]
448         elif self.etape['VALE_PARA']!=None:
449            return [self.etape['VALE_PARA'].Valeurs(),self.etape['VALE_FONC'].Valeurs()]
450       else :
451          raise Accas.AsException("Erreur dans fonction.Valeurs en PAR_LOT='OUI'")
452    def Absc(self):
453       """Retourne la liste des abscisses"""
454       return self.Valeurs()[0]
455    def Ordo(self):
456       """Retourne la liste des ordonnées"""
457       return self.Valeurs()[1]
458    def __call__(self,val):
459       ### Pour EFICAS : substitution de l'instance de classe
460       ### parametre par sa valeur
461       import types 
462       if type(val)==types.InstanceType : val=val.valeur
463       ###
464       lx,ly=self.Valeurs()
465       n=len(lx)
466       if val in lx : return ly[lx.index(val)]
467       lx.append(val)
468       lx.sort()
469       indic=lx.index(val)
470       if indic==0   :
471          if self.etape['PROL_GAUCHE']=='CONSTANT':return ly[0]
472       if indic==n :
473          if self.etape['PROL_DROITE']=='CONSTANT':return ly[n-1]
474       return (ly[indic-1]+(ly[indic]-ly[indic-1])*(val-lx[indic-1])/(lx[indic+1]-lx[indic-1]))
475 class para_sensi(fonction_sdaster): pass
476 class fonction_c(fonction_class):
477    def Valeurs(self) :
478       """
479       Retourne trois listes de valeurs : abscisses, parties reelles et imaginaires.
480       """
481       if not self.par_lot():
482         vale=string.ljust(self.get_name(),19)+'.VALE'
483         lbl=list(aster.getvectjev(vale))
484         dim=len(lbl)/3
485         lx=lbl[0:dim]
486         lr=[]
487         li=[]
488         for i in range(dim):
489            lr.append(lbl[dim+2*i])
490            li.append(lbl[dim+2*i+1])
491         return [lx,lr,li]
492       if self.etape.nom=='DEFI_FONCTION' :
493         lbl=list(self.etape['VALE_C'])
494         dim=len(lbl)
495         lx=[lbl[i] for i in range(0,dim,3)]
496         lr=[lbl[i] for i in range(1,dim,3)]
497         li=[lbl[i] for i in range(2,dim,3)]
498         return [lx,lr,li]
499       else :
500          raise Accas.AsException("Erreur dans fonction_c.Valeurs en PAR_LOT='OUI'")
501    def Absc(self):
502       """Retourne la liste des abscisses"""
503       return self.Valeurs()[0]
504    def Ordo(self):
505       """Retourne la liste des parties réelles des ordonnées"""
506       return self.Valeurs()[1]
507    def OrdoImg(self):
508       """Retourne la liste des parties imaginaires des ordonnées"""
509       return self.Valeurs()[2]
510    def Trace(self,FORMAT='TABLEAU',**kargs):
511       """Tracé d'une fonction complexe"""
512       if self.par_lot() :
513          raise Accas.AsException("Erreur dans fonction_c.Trace en PAR_LOT='OUI'")
514       from Utilitai.Graph import Graph
515       gr=Graph()
516       gr.AjoutCourbe(Val=self.Valeurs(),
517        Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU'],'IMAG'])
518       gr.Trace(FORMAT=FORMAT,**kargs)
519 class nappe_sdaster(fonction_class):
520    def Valeurs(self):
521       """
522       Retourne la liste des valeurs du parametre,
523       et une liste de couples (abscisses,ordonnees) de chaque fonction.
524       """
525       if self.par_lot():
526          raise Accas.AsException("Erreur dans nappe.Valeurs en PAR_LOT='OUI'")
527       nsd=string.ljust(self.get_name(),19)
528       dicv=aster.getcolljev(nsd+'.VALE')
529       # les cles de dicv sont 1,...,N (indice du parametre)
530       lpar=aster.getvectjev(nsd+'.PARA')
531       lval=[]
532       for k in range(len(dicv)):
533          lbl=dicv[k+1]
534          dim=len(lbl)/2
535          lval.append([lbl[0:dim],lbl[dim:2*dim]])
536       return [lpar,lval]
537    def Parametres(self):
538       """
539       Retourne un dictionnaire contenant les parametres de la nappe,
540       le type jeveux (NAPPE) n'est pas retourne,
541       le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel,
542       et une liste de dictionnaire des parametres de chaque fonction.
543       """
544       if self.par_lot():
545          raise Accas.AsException("Erreur dans nappe.Parametres en PAR_LOT='OUI'")
546       TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' }
547       prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL')
548       dico={
549          'INTERPOL'      : [prol[1][0:3],prol[1][4:7]],
550          'NOM_PARA'      : prol[2][0:16],
551          'NOM_RESU'      : prol[3][0:16],
552          'PROL_DROITE'   : TypeProl[prol[4][0]],
553          'PROL_GAUCHE'   : TypeProl[prol[4][1]],
554          'NOM_PARA_FONC' : prol[5][0:4],
555       }
556       lparf=[]
557       nbf=(len(prol)-6)/2
558       for i in range(nbf):
559          dicf={
560             'INTERPOL_FONC'    : [prol[6+i*2][0:3],prol[6+i*2][4:7]],
561             'PROL_DROITE_FONC' : TypeProl[prol[7+i*2][0]],
562             'PROL_GAUCHE_FONC' : TypeProl[prol[7+i*2][1]],
563          }
564          lparf.append(dicf)
565       return [dico,lparf]
566    def Trace(self,FORMAT='TABLEAU',**kargs):
567       """Tracé d'une nappe"""
568       if self.par_lot():
569          raise Accas.AsException("Erreur dans nappe.Trace en PAR_LOT='OUI'")
570       from Utilitai.Graph import Graph
571       gr=Graph()
572       lv=self.Valeurs()[1]
573       dp=self.Parametres()[0]
574       for lx,ly in lv:
575          gr.AjoutCourbe(Val=[lx,ly], Lab=[dp['NOM_PARA_FONC'],dp['NOM_RESU']])
576       gr.Trace(FORMAT=FORMAT,**kargs)
577
578 # matr_asse :
579 #--------------------------------
580 class matr_asse(ASSD):pass
581
582 class matr_asse_gene(matr_asse):pass
583 class matr_asse_gene_r(matr_asse_gene):pass
584 class matr_asse_gene_c(matr_asse_gene):pass
585
586 class matr_asse_gd(matr_asse):pass
587 class matr_asse_depl_c(matr_asse_gd):pass
588 class matr_asse_depl_r(matr_asse_gd):pass
589 class matr_asse_pres_c(matr_asse_gd):pass
590 class matr_asse_pres_r(matr_asse_gd):pass
591 class matr_asse_temp_c(matr_asse_gd):pass
592 class matr_asse_temp_r(matr_asse_gd):pass
593
594 # matr_elem :
595 #--------------------------------
596 class matr_elem(ASSD):pass
597 class matr_elem_depl_c(matr_elem):pass
598 class matr_elem_depl_r(matr_elem):pass
599 class matr_elem_pres_c(matr_elem):pass
600 class matr_elem_temp_r(matr_elem):pass
601
602
603
604
605 # table :
606 #--------------------------------
607 class table_sdaster(ASSD):
608   def __getitem__(self,key):
609       if self.par_lot():
610          raise Accas.AsException("Erreur dans table.__getitem__ en PAR_LOT='OUI'")
611       requete = '%-24s' % key[0]
612       tblp = '%-19s.TBLP' % self.get_name()
613       tabnom=list(aster.getvectjev(tblp))
614       for i in range(len(tabnom)) :
615          if tabnom[i]==requete: break
616       resu=aster.getvectjev(tabnom[i+2])
617       exist=aster.getvectjev(tabnom[i+3])
618       if key[1]>len(resu) or exist[key[1]-1]==0:
619          raise KeyError
620       else:
621          return resu[key[1]-1]
622   def Nonefy(self,l1,l2) :
623       if l2==0 : return None
624       else     : return l1
625   def EXTR_TABLE(self) :
626       """Produit un objet Table à partir du contenu d'une table Aster
627       """
628       if self.par_lot():
629          raise Accas.AsException("Erreur dans table.EXTR_TABLE en PAR_LOT='OUI'")
630       from Utilitai.Table import Table
631       tblp=string.ljust(self.get_name(),19)+'.TBLP'
632       tabnom=list(aster.getvectjev(tblp))
633       nparam=len(tabnom)/4
634       lparam=[tabnom[4*i:4*i+4] for i in range(nparam)]
635       dval={}
636       # liste des paramètres et des types
637       lpar=[]
638       ltyp=[]
639       for i in lparam :
640          value=list(aster.getvectjev(i[2]))
641          exist=aster.getvectjev(i[3])
642          dval[string.strip(i[0])]=map(self.Nonefy,value,exist)
643          lpar.append(string.strip(i[0]))
644          ltyp.append(string.strip(i[1]))
645       n=len(dval[lpar[0]])
646       # contenu : liste de dict
647       lisdic=[]
648       for i in range(n) :
649         d={}
650         for p in lpar : d[p]=dval[p][i]
651         lisdic.append(d)
652       # titre
653       titj=aster.getvectjev(self.get_name().ljust(19)+'.TITR')
654       if titj<>None:
655          titr='\n'.join(titj)
656       else:
657          titr=''
658       return Table(lisdic, lpar, ltyp, titr)
659
660 class table_jeveux(table_sdaster):
661    """Classe permettant d'accéder à une table jeveux qui n'a pas d'ASSD associée,
662    c'est le cas des concepts résultats (table, evol_xxxx) dérivés."""
663    def __init__(self,nom_jeveux):
664       self.nom=nom_jeveux
665
666 class tabl_aire_int   (table_sdaster):pass
667 class tabl_calc_g_loca(table_sdaster):pass
668 class tabl_calc_g_th  (table_sdaster):pass
669 class tabl_cara_geom  (table_sdaster):pass
670 class tabl_char_limite(table_sdaster):pass
671 class tabl_ener_elas  (table_sdaster):pass
672 class tabl_ener_pot   (table_sdaster):pass
673 class tabl_ener_cin   (table_sdaster):pass
674 class tabl_trav_ext   (table_sdaster):pass
675 class tabl_ener_totale(table_sdaster):pass
676 class tabl_indic_ener (table_sdaster):pass
677 class tabl_indic_seuil(table_sdaster):pass
678 class tabl_intsp      (table_sdaster):pass
679 class tabl_mass_iner  (table_sdaster):pass
680 class tabl_post_alea  (table_sdaster):pass
681 class tabl_post_beta  (table_sdaster):pass
682 class tabl_post_dyna  (table_sdaster):pass
683 class tabl_post_f_alea(table_sdaster):pass
684 class tabl_post_fatig (table_sdaster):pass
685 class tabl_post_gouj2e(table_sdaster):pass
686 class tabl_post_k     (table_sdaster):pass
687 class tabl_post_rccm  (table_sdaster):pass
688 class tabl_post_rele  (table_sdaster):pass
689 class tabl_post_simpli(table_sdaster):pass
690 class tabl_post_usur  (table_sdaster):pass
691 class tabl_reca_weib  (table_sdaster):pass
692 class tabl_rice_tracey(table_sdaster):pass
693 class tabl_texture    (table_sdaster):pass
694 class tabl_trc        (table_sdaster):pass
695 class tabl_weibull    (table_sdaster):pass
696
697
698 # vect_asse :
699 #--------------------------------
700 class vect_asse(ASSD):pass
701 class vect_asse_gene(vect_asse):pass
702
703
704 # vect_elem :
705 #--------------------------------
706 class vect_elem(ASSD):pass
707 class vect_elem_depl_r(vect_elem):pass
708 class vect_elem_pres_c(vect_elem):pass
709 class vect_elem_pres_r(vect_elem):pass
710 class vect_elem_temp_r(vect_elem):pass
711
712 #& MODIF COMMUN  DATE 11/10/2004   AUTEUR DURAND C.DURAND 
713 #            CONFIGURATION MANAGEMENT OF EDF VERSION
714 # ======================================================================
715 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
716 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
717 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
718 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
719 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
720 #                                                                       
721 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
722 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
723 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
724 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
725 #                                                                       
726 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
727 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
728 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
729 # ======================================================================
730 def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
731            RELATION        =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_TRAC",
732                                  into=( "ELAS",
733                                         "VMIS_ISOT_TRAC",
734                                         "VISC_ISOT_TRAC",
735                                         "VMIS_ISOT_LINE",
736                                         "VISC_ISOT_LINE",
737                                         "VMIS_ECMI_TRAC",
738                                         "VMIS_ECMI_LINE",
739                                         "LABORD_1D",
740                                         "ENDO_FRAGILE",
741                                         "ENDO_ISOT_BETON",
742                                         "ENDO_ORTH_BETON",
743                                         "MAZARS",
744                                         "JOINT_BA",
745                                         "RUPT_FRAG",
746                                         "BARENBLATT",
747                                         "META_P_IL",
748                                         "META_P_IL_PT",
749                                         "META_P_IL_RE",
750                                         "META_P_IL_PT_RE",
751                                         "META_V_IL",
752                                         "META_V_IL_PT",
753                                         "META_V_IL_RE",
754                                         "META_V_IL_PT_RE",
755                                         "META_P_INL",
756                                         "META_P_INL_PT",
757                                         "META_P_INL_RE",
758                                         "META_P_INL_PT_RE",
759                                         "META_V_INL",
760                                         "META_V_INL_PT",
761                                         "META_V_INL_RE",
762                                         "META_V_INL_PT_RE",
763                                         "META_P_CL",
764                                         "META_P_CL_PT",
765                                         "META_P_CL_RE",
766                                         "META_P_CL_PT_RE",
767                                         "META_V_CL",
768                                         "META_V_CL_PT",
769                                         "META_V_CL_RE",
770                                         "META_V_CL_PT_RE",
771                                         "VMIS_CINE_LINE",
772                                         "VISC_TAHERI",
773                                         "CHABOCHE",
774                                         "VISCOCHAB",
775                                         "VISC_CIN1_CHAB",
776                                         "VISC_CIN2_CHAB",
777                                         "POLY_CFC",
778                                         "LMARC",
779                                         "ROUSSELIER",
780                                         "ROUSS_PR",
781                                         "ROUSS_VISC",
782                                         "VMIS_POU_LINE",
783                                         "VMIS_POU_FLEJOU",
784                                         "COULOMB",
785                                         "ARME",
786                                         "ASSE_CORN",
787                                         "NORTON_HOFF",
788                                         "LEMAITRE",
789                                         "ZIRC_CYRA2",
790                                         "VISC_IRRA_LOG",
791                                         "ZIRC_EPRI",
792                                         "ASSE_COMBU",
793                                         "VENDOCHAB",
794                                         "NADAI_B",
795                                         "DIS_CONTACT",
796                                         "DIS_CHOC",
797                                         "DIS_GOUJ2E_PLAS",
798                                         "DIS_GOUJ2E_ELAS",
799                                         "GRILLE_ISOT_LINE",
800                                         "GRILLE_CINE_LINE",
801                                         "GRILLE_PINTO_MEN",
802                                         "PINTO_MENEGOTTO",
803                                         "CJS",
804                                         "CAM_CLAY",
805                                         "BARCELONE",
806                                         "LAIGLE",
807                                         "DRUCKER_PRAGER",
808                                         "OHNO",
809                                         "GRANGER_FP",
810                                         "GRANGER_FP_INDT",
811                                         "GRANGER_FP_V",
812                                         "BAZANT_FD",
813                                         "BETON_UMLV_FP",
814                                         "BETON_DOUBLE_DP",
815                                         "KIT_HM",
816                                         "KIT_HHM",
817                                         "KIT_THH",
818                                         "KIT_THV",
819                                         "KIT_THM",
820                                         "KIT_THHM",
821                                         "VMIS_ASYM_LINE",
822                                         "ELAS_THM",
823                                         "SURF_ETAT_NSAT",
824                                         "SURF_ETAT_SATU",
825                                         "CAM_CLAY_THM",
826                                         "KIT_DDI",
827                                         "GLRC",
828                                         "SANS",
829                                         "CORR_ACIER",
830                                         "MONOCRISTAL",
831                                         "POLYCRISTAL",
832                                      ) ),
833           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
834           SANS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
835           CORR_ACIER      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),        
836           VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
837           VISC_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
838           VMIS_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
839           VISC_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
840           VMIS_ECMI_TRAC  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
841           VMIS_ECMI_LINE  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
842           LABORD_1D       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
843           ENDO_FRAGILE    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
844           ENDO_ISOT_BETON =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
845           ENDO_ORTH_BETON =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
846           MAZARS          =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
847           JOINT_BA        =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
848           RUPT_FRAG       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
849           BARENBLATT      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
850           META_P_IL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
851           META_P_IL_PT       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
852           META_P_IL_RE       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
853           META_P_IL_PT_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
854           META_V_IL          =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
855           META_V_IL_PT       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
856           META_V_IL_RE       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
857           META_V_IL_PT_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
858           META_P_INL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
859           META_P_INL_PT      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
860           META_P_INL_RE      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
861           META_P_INL_PT_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
862           META_V_INL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
863           META_V_INL_PT      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
864           META_V_INL_RE      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
865           META_V_INL_PT_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
866           META_P_CL          =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
867           META_P_CL_PT       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
868           META_P_CL_RE       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
869           META_P_CL_PT_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
870           META_V_CL          =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
871           META_V_CL_PT       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
872           META_V_CL_RE       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
873           META_V_CL_PT_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
874           VMIS_CINE_LINE  =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
875           CHABOCHE        =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
876           VISCOCHAB       =SIMP(statut='c',typ='I',defaut=28,into=(28,)),
877           VISC_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
878           VISC_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
879           POLY_CFC        =SIMP(statut='c',typ='I',defaut=1688,into=(1688,)),
880           LMARC           =SIMP(statut='c',typ='I',defaut=20,into=(20,)),
881           VISC_TAHERI     =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
882           ROUSSELIER      =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
883           ROUSS_PR        =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
884           ROUSS_VISC      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
885           VMIS_POU_LINE   =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
886           VMIS_POU_FLEJOU =SIMP(statut='c',typ='I',defaut=9 ,into=(9,)),
887           COULOMB         =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
888           ASSE_CORN       =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
889           ARME            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
890           NORTON_HOFF     =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
891           LEMAITRE        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
892           ZIRC_CYRA2      =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
893           ZIRC_EPRI       =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
894           VISC_IRRA_LOG   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
895           ASSE_COMBU      =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
896           NADAI_B         =SIMP(statut='c',typ='I',defaut=34,into=(34,)),
897           VENDOCHAB       =SIMP(statut='c',typ='I',defaut=10,into=(10,)),
898           GRILLE_ISOT_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
899           GRILLE_CINE_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
900           GRILLE_PINTO_MEN=SIMP(statut='c',typ='I',defaut=16,into=(16,)),
901           DIS_CONTACT     =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
902           DIS_CHOC        =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
903           DIS_GOUJ2E_PLAS =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
904           DIS_GOUJ2E_ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
905           PINTO_MENEGOTTO =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
906           CJS             =SIMP(statut='c',typ='I',defaut=16,into=(16,)),
907           CAM_CLAY        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
908           BARCELONE       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
909           LAIGLE          =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
910           DRUCKER_PRAGER  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
911           OHNO            =SIMP(statut='c',typ='I',defaut=32,into=(32,)),
912           GRANGER_FP      =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
913           GRANGER_FP_INDT =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
914           GRANGER_FP_V    =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
915           BAZANT_FD       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
916           BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
917           KIT_HM          =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
918           KIT_HHM         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
919           KIT_THH         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
920           KIT_THV         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
921           KIT_THM         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
922           KIT_THHM        =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
923           VMIS_ASYM_LINE  =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
924           BETON_UMLV_FP   =SIMP(statut='c',typ='I',defaut=21,into=(21,)),
925           GLRC            =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
926
927            b_monox     = BLOC(condition = "RELATION == 'MONOCRISTAL' ",
928                                  fr="SD issue de DEFI_COMPOR",
929                    COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
930 #          
931            b_polyx     = BLOC(condition = "RELATION == 'POLYCRISTAL' ",
932                                  fr="SD issue de DEFI_COMPOR",
933                    COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
934 #          
935
936
937
938            RELATION_KIT    =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
939                                  into=(
940 # MECA
941                                        "ELAS",
942                                        "CJS",
943                                        "CAM_CLAY",
944                                        "BARCELONE",
945                                        "LAIGLE",
946                                        "DRUCKER_PRAGER",
947                                        "ELAS_THM",
948                                        "SURF_ETAT_NSAT",
949                                        "SURF_ETAT_SATU",
950                                        "CAM_CLAY_THM",
951                                        "MAZARS",
952                                        "ENDO_ISOT_BETON",
953 # THMC
954                                        "GAZ",
955                                        "LIQU_SATU",
956                                        "LIQU_SATU_GAT",
957                                        "LIQU_GAZ_ATM",
958                                        "LIQU_VAPE_GAZ",
959                                        "LIQU_AD_GAZ_VAPE",
960                                        "LIQU_VAPE",
961                                        "LIQU_NSAT_GAT",
962                                        "LIQU_GAZ",
963 # HYDR
964                                        "HYDR_UTIL",
965                                        "HYDR",
966                                        "HYDR_ENDO",
967 # MECA_META
968                                        "ACIER",
969                                        "ZIRC",
970 # MECA KIT_DDI
971                                        "VMIS_ISOT_TRAC",
972                                        "VMIS_ISOT_LINE",
973                                        "VMIS_ISOT_CINE",
974                                        "GRANGER_FP",
975                                        "GRANGER_FP_INDT",
976                                        "GRANGER_FP_V",
977                                        "BETON_UMLV_FP",
978                                        "ROUSS_PR",
979                                        "CHABOCHE",
980                                        "OHNO",
981                                        "NADAI_B",
982                                        "BETON_DOUBLE_DP",
983                                        ),),
984                             
985                                         
986            ELAS_THM        =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
987            SURF_ETAT_NSAT  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
988            SURF_ETAT_SATU  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
989            CAM_CLAY_THM    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
990            GAZ             =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
991            LIQU_SATU       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
992            LIQU_SATU_GAT   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
993            LIQU_GAZ_ATM    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
994            LIQU_VAPE_GAZ   =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
995            LIQU_AD_GAZ_VAPE=SIMP(statut='c',typ='I',defaut=3,into=(3,)),
996            LIQU_VAPE       =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
997            LIQU_NSAT_GAT   =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
998            LIQU_GAZ        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
999            HYDR_UTIL       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
1000            HYDR            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
1001            HYDR_ENDO       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
1002            ACIER           =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
1003            ZIRC            =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
1004
1005            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC","SIMO_MIEHE","GREEN_GR","GREEN",)),
1006            ALGO_C_PLAN     =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
1007            ALGO_1D         =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
1008       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
1009            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1010            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1011            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1012          ) ;
1013 #& MODIF COMMUN  DATE 06/04/2004   AUTEUR DURAND C.DURAND 
1014 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1015 # ======================================================================
1016 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
1017 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
1018 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
1019 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
1020 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
1021 #                                                                       
1022 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
1023 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
1024 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
1025 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
1026 #                                                                       
1027 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
1028 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
1029 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
1030 # ======================================================================
1031 # RESPONSABLE VABHHTS J.PELLET
1032 # ce fichier contient la liste des "into" possibles pour le mot cle NOM_CHAM
1033 # c'est a dire les noms de champs des SD RESULTAT (DATA de la routine RSCRSD)
1034 def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
1035                         "ACCE_ABSOLU",
1036                         "ALPH0_ELGA_EPSP",
1037                         "ALPHP_ELGA_ALPH0",
1038                         "COMPORTEMENT",
1039                         "COMPORTHER",
1040                         "CRIT_ELNO_RUPT",
1041                         "DCHA_ELGA_SIGM",
1042                         "DCHA_ELNO_SIGM",
1043                         "DCHA_NOEU_SIGM",
1044                         "DEDE_ELNO_DLDE",
1045                         "DEDE_NOEU_DLDE",
1046                         "DEGE_ELNO_DEPL",
1047                         "DEGE_NOEU_DEPL",
1048                         "DEPL",
1049                         "DEPL_ABSOLU",
1050                         "DESI_ELNO_DLSI",
1051                         "DESI_NOEU_DLSI",
1052                         "DETE_ELNO_DLTE",
1053                         "DETE_NOEU_DLTE",
1054                         "DURT_ELGA_META",
1055                         "DURT_ELNO_META",
1056                         "DURT_NOEU_META",
1057                         "ECIN_ELEM_DEPL",
1058                         "EFGE_ELNO_CART",
1059                         "EFGE_ELNO_DEPL",
1060                         "EFGE_NOEU_CART",
1061                         "EFGE_NOEU_DEPL",
1062                         "ENDO_ELGA",
1063                         "ENDO_ELNO_ELGA",
1064                         "ENDO_ELNO_SIGA",
1065                         "ENDO_ELNO_SINO",
1066                         "ENDO_NOEU_SINO",
1067                         "ENEL_ELGA",
1068                         "ENEL_ELNO_ELGA",
1069                         "ENEL_NOEU_ELGA",
1070                         "EPEQ_ELNO_TUYO",
1071                         "EPGR_ELGA",
1072                         "EPGR_ELNO",
1073                         "EPME_ELGA_DEPL",
1074                         "EPME_ELNO_DEPL",
1075                         "EPMG_ELGA_DEPL",
1076                         "EPMG_ELNO_DEPL",
1077                         "EPMG_NOEU_DEPL",
1078                         "EPOT_ELEM_DEPL",
1079                         "EPSA_ELNO",
1080                         "EPSA_NOEU",
1081                         "EPSG_ELGA_DEPL",
1082                         "EPSG_ELNO_DEPL",
1083                         "EPSG_NOEU_DEPL",
1084                         "EPSI_ELGA_DEPL",
1085                         "EPSI_ELNO_DEPL",
1086                         "EPSI_ELNO_TUYO",
1087                         "EPSI_NOEU_DEPL",
1088                         "EPSP_ELGA",
1089                         "EPSP_ELNO",
1090                         "EPSP_ELNO_ZAC",
1091                         "EPSP_NOEU",
1092                         "EPSP_NOEU_ZAC",
1093                         "EQUI_ELGA_EPME",
1094                         "EQUI_ELGA_EPSI",
1095                         "EQUI_ELGA_SIGM",
1096                         "EQUI_ELNO_EPME",
1097                         "EQUI_ELNO_EPSI",
1098                         "EQUI_ELNO_SIGM",
1099                         "EQUI_NOEU_EPME",
1100                         "EQUI_NOEU_EPSI",
1101                         "EQUI_NOEU_SIGM",
1102                         "ERRE_ELEM_NOZ1",
1103                         "ERRE_ELEM_NOZ2",
1104                         "ERRE_ELGA_NORE",
1105                         "ERRE_ELNO_ELGA",
1106                         "ERRE_NOEU_ELGA",
1107                         "ERTH_ELEM_TEMP",
1108                         "ERTH_ELNO_ELEM",
1109                         "ETOT_ELEM",
1110                         "ETOT_ELGA",
1111                         "ETOT_ELNO_ELGA",
1112                         "FLUX_ELGA_TEMP",
1113                         "FLUX_ELNO_TEMP",
1114                         "FLUX_NOEU_TEMP",
1115                         "FORC_NODA",
1116                         "FSUR_2D",
1117                         "FSUR_3D",
1118                         "FVOL_2D",
1119                         "FVOL_3D",
1120                         "GRAD_NOEU_THETA",
1121                         "HYDR_ELGA",
1122                         "HYDR_ELNO_ELGA",
1123                         "HYDR_NOEU_ELGA",
1124                         "INDI_LOCA_ELGA",
1125                         "INTE_ELNO_ACTI",
1126                         "INTE_ELNO_REAC",
1127                         "INTE_NOEU_ACTI",
1128                         "INTE_NOEU_REAC",
1129                         "IRRA",
1130                         "LANL_ELGA",
1131                         "META_ELGA_TEMP",
1132                         "META_ELNO_TEMP",
1133                         "META_NOEU_TEMP",
1134                         "MODE_FLAMB",
1135                         "PMPB_ELGA_SIEF",
1136                         "PMPB_ELNO_SIEF",
1137                         "PMPB_NOEU_SIEF",
1138                         "PRES",
1139                         "PRES_DBEL_DEPL",
1140                         "PRES_ELNO_DBEL",
1141                         "PRES_ELNO_IMAG",
1142                         "PRES_ELNO_REEL",
1143                         "PRES_NOEU_DBEL",
1144                         "PRES_NOEU_IMAG",
1145                         "PRES_NOEU_REEL",
1146                         "RADI_ELGA_SIGM",
1147                         "RADI_ELNO_SIGM",
1148                         "RADI_NOEU_SIGM",
1149                         "REAC_NODA",
1150                         "SIEF_ELGA",
1151                         "SIEF_ELGA_DEPL",
1152                         "SIEF_ELNO",
1153                         "SIEF_ELNO_ELGA",
1154                         "SIEF_NOEU",
1155                         "SIEF_NOEU_ELGA",
1156                         "SIEQ_ELNO_TUYO",
1157                         "SIGM_ELNO_CART",
1158                         "SIGM_ELNO_COQU",
1159                         "SIGM_ELNO_DEPL",
1160                         "SIGM_ELNO_SIEF",
1161                         "SIGM_ELNO_TUYO",
1162                         "SIGM_ELNO_ZAC",
1163                         "SIGM_NOEU_CART",
1164                         "SIGM_NOEU_COQU",
1165                         "SIGM_NOEU_DEPL",
1166                         "SIGM_NOEU_SIEF",
1167                         "SIGM_NOEU_ZAC",
1168                         "SIGM_NOZ1_ELGA",
1169                         "SIGM_NOZ2_ELGA",
1170                         "SIPO_ELNO_DEPL",
1171                         "SIPO_ELNO_SIEF",
1172                         "SIPO_NOEU_DEPL",
1173                         "SIPO_NOEU_SIEF",
1174                         "SIRE_ELNO_DEPL",
1175                         "SIRE_NOEU_DEPL",
1176                         "SOUR_ELGA_ELEC",
1177                         "TEMP",
1178                         "THETA",
1179                         "VALE_CONT",
1180                         "VALE_NCOU_MAXI",
1181                         "VARI_ELGA",
1182                         "VARI_ELGA_ZAC",
1183                         "VARI_ELNO",
1184                         "VARI_ELNO_COQU",
1185                         "VARI_ELNO_ELGA",
1186                         "VARI_ELNO_TUYO",
1187                         "VARI_NOEU",
1188                         "VARI_NOEU_ELGA",
1189                         "VARI_NON_LOCAL",
1190                         "VITE",
1191                         "VITE_ABSOLU",
1192                         "VITE_VENT",
1193                         )
1194 #& MODIF COMMUN  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
1195 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1196 # ======================================================================
1197 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
1198 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
1199 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
1200 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
1201 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
1202 #                                                                       
1203 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
1204 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
1205 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
1206 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
1207 #                                                                       
1208 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
1209 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
1210 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
1211 # ======================================================================
1212 # ce fichier contient la liste des PARA possibles pour les fonctions et les nappes
1213 def C_PARA_FONCTION() : return  ( #COMMUN#
1214                    "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC",
1215                    "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP",
1216                    "AMOR","ABSC","SIGM","HYDR","SECH","PORO","SAT",
1217                    "PGAZ","PCAP","VITE","ENDO","NORM","EPAIS",)
1218 #& MODIF COMMUN  DATE 03/11/2004   AUTEUR CIBHHPD L.SALMONA 
1219 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1220 # ======================================================================
1221 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
1222 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
1223 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
1224 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
1225 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
1226 #                                                                       
1227 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
1228 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
1229 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
1230 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
1231 #                                                                       
1232 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
1233 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
1234 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
1235 # ======================================================================
1236 #
1237 # ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM
1238 # c'est a dire les noms des types de champ des SD RESULTAT (DATA de la routine RSCRSD)
1239 def C_TYPE_CHAM_INTO() : return  ("ACCE",    #COMMUN#
1240              "CART_CORR_R",
1241                              "NOEU_DBEL_R",  "ELEM_DBEL_R",  "ELNO_DBEL_R",  "ELGA_DBEL_R",
1242                              "NOEU_DEPL_C",  "ELEM_DEPL_C",  "ELNO_DEPL_C",  "ELGA_DEPL_C",
1243              "CART_DEPL_F",  "NOEU_DEPL_F",  "ELEM_DEPL_F",  "ELNO_DEPL_F",  "ELGA_DEPL_F",
1244              "CART_DEPL_R",  "NOEU_DEPL_R",  "ELEM_DEPL_R",  "ELNO_DEPL_R",  "ELGA_DEPL_R",
1245                              "NOEU_DURT_R",  "ELEM_DURT_R",  "ELNO_DURT_R",  "ELGA_DURT_R",
1246              "CART_ENER_R",  "NOEU_ENER_R",  "ELEM_ENER_R",  "ELNO_ENER_R",  "ELGA_ENER_R",
1247                              "NOEU_EPSI_R",  "ELEM_EPSI_R",  "ELNO_EPSI_R",  "ELGA_EPSI_R",
1248                              "NOEU_ERREUR",  "ELEM_ERREUR",  "ELNO_ERREUR",  "ELGA_ERREUR",
1249                              "NOEU_FLUX_R",  "ELEM_FLUX_R",  "ELNO_FLUX_R",  "ELGA_FLUX_R",
1250              "CART_GEOM_R",  "NOEU_GEOM_R",  "ELEM_GEOM_R",  "ELNO_GEOM_R",  "ELGA_GEOM_R",
1251                              "NOEU_G_DEPL_R","ELEM_G_DEPL_R","ELNO_G_DEPL_R","ELGA_G_DEPL_R",
1252                              "NOEU_HYDR_R",  "ELEM_HYDR_R",  "ELNO_HYDR_R",  "ELGA_HYDR_R",
1253                              "NOEU_INST_R",  "ELEM_INST_R",  "ELNO_INST_R",  "ELGA_INST_R",
1254                              "NOEU_INTE_R",  "ELEM_INTE_R",  "ELNO_INTE_R",  "ELGA_INTE_R",
1255              "CART_IRRA_R",  "NOEU_IRRA_R",  "ELEM_IRRA_R",  "ELNO_IRRA_R",  "ELGA_IRRA_R",
1256                              "NOEU_META_R",  "ELEM_META_R",  "ELNO_META_R",  "ELGA_META_R",
1257                              "NOEU_NEUT_F",  "ELEM_NEUT_F",  "ELNO_NEUT_F",  "ELGA_NEUT_F",
1258              "CART_NEUT_R",  "NOEU_NEUT_R",  "ELEM_NEUT_R",  "ELNO_NEUT_R",  "ELGA_NEUT_R",
1259                              "NOEU_PRES_R",  "ELEM_PRES_R",  "ELNO_PRES_R",  "ELGA_PRES_R",
1260              "CART_SIEF_R",  "NOEU_SIEF_R",  "ELEM_SIEF_R",  "ELNO_SIEF_R",  "ELGA_SIEF_R",
1261                              "NOEU_SOUR_R",  "ELEM_SOUR_R",  "ELNO_SOUR_R",  "ELGA_SOUR_R",
1262              "CART_TEMP_F",  "NOEU_TEMP_F",  "ELEM_SPMA_R",  "ELNO_TEMP_F",  "ELGA_TEMP_F",
1263              "CART_TEMP_R",  "NOEU_TEMP_R",  "ELEM_TEMP_F",  "ELNO_TEMP_R",  "ELGA_TEMP_R",
1264              "CART_VAR2_R",  "NOEU_VAR2_R",  "ELEM_TEMP_R",  "ELNO_VARI_R",  "ELGA_VARI_R",
1265                              "NOEU_VNOR_C",  "ELEM_VARI_R",  "ELNO_VNOR_C",  "ELGA_VNOR_C",
1266                                              "ELEM_VNOR_C",
1267                                  )
1268 #& MODIF COMMANDE  DATE 04/04/2006   AUTEUR CIBHHLV L.VIVAN 
1269 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1270 # ======================================================================
1271 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1272 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1273 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1274 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1275 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1276 #
1277 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1278 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1279 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1280 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1281 #
1282 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1283 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1284 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1285 # ======================================================================
1286 # RESPONSABLE JMBHH01 J.M.PROIX
1287 AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
1288                     fr="Affectation de caractéristiques à des éléments de structure",
1289                     reentrant='n',
1290             UIinfo={"groupes":("Modélisation",)},
1291          regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF',
1292                              'ASSE_GRIL','GRILLE','AFFE_SECT','AFFE_FIBRE'),),
1293          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1294          INFO            =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
1295          VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ),
1296
1297 #============================================================================
1298          POUTRE          =FACT(statut='f',max='**',
1299            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1300            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1301            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1302            SECTION         =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ),
1303            PREC_AIRE       =SIMP(statut='f',typ='R',defaut=0.01),
1304            PREC_INERTIE    =SIMP(statut='f',typ='R',defaut=0.1),
1305            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
1306              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
1307              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1308                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=4 ,max=15,
1309                                  fr="A,IY,IZ,JX sont des paramètres obligatoires",
1310                                  into=("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT",
1311                                        "JG","IYR2","IZR2","AI") ),
1312                VALE            =SIMP(statut='o',typ='R',min=4 ,max=15),
1313              ),
1314              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1315                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=8 ,max=30,
1316                                  fr="A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires",
1317                                  into=("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1",
1318                                        "RZ1","RT1","JG1","IYR21","IZR21","AI1",
1319                                        "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2",
1320                                        "RZ2","RT2","JG2","IYR22","IZR22","AI2") ),
1321                VALE            =SIMP(statut='o',typ='R',min=8 ,max=30),
1322              ),
1323            ),
1324            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
1325              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut="CONSTANT"),
1326              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1327                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=4,
1328                                  into=("H","EP", "HY","HZ","EPY","EPZ") ),
1329                VALE            =SIMP(statut='o',typ='R',min=1 ,max=4),
1330              ),
1331              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1332                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=8,
1333                                      into=("H1","HZ1","HY1","EP1","EPY1","EPZ1",
1334                                            "H2","HZ2","HY2","EP2","EPY2","EPZ2") ),
1335                VALE            =SIMP(statut='o',typ='R',min=2 ,max=8),
1336              ),
1337              b_affine =BLOC( condition = "VARI_SECT=='AFFINE'",
1338                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=3 ,max=6,
1339                                      into=("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ),
1340                VALE            =SIMP(statut='o',typ='R',min=3 ,max=6),
1341              ),
1342            ),
1343            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
1344              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
1345              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1346                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=2,
1347                                  fr="R est un paramètre obligatoire",
1348                                      into=("R","EP") ),
1349                VALE            =SIMP(statut='o',typ='R',min=1 ,max=2),
1350              ),
1351              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1352                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=4,
1353                                  fr="R1, R2 sont des paramètres obligatoires",
1354                                      into=("R1","R2","EP1","EP2") ),
1355                VALE            =SIMP(statut='o',typ='R',min=2 ,max=4),
1356              ),
1357              MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
1358              FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1359              TUYAU_NSEC      =SIMP(statut='f',typ='I',val_max=32,defaut=16),
1360              TUYAU_NCOU      =SIMP(statut='f',typ='I',val_max=10,defaut=3),
1361            ),
1362          ),
1363
1364 #============================================================================
1365          BARRE           =FACT(statut='f',max='**',
1366            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1367            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1368            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1369            SECTION         =SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ),
1370            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
1371              CARA            =SIMP(statut='o',typ='TXM',into=("A",) ),
1372              VALE            =SIMP(statut='o',typ='R',min=1,max=1 ),
1373            ),
1374            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
1375              CARA            =SIMP(statut='o',typ='TXM',into=("H","EP",
1376                                                               "HZ","HY","EPY","EPZ"),
1377                                                         validators=NoRepeat(),min=1,max=4 ),
1378              VALE            =SIMP(statut='o',typ='R',min=1,max=4 ),
1379            ),
1380            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
1381              CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ),
1382              VALE            =SIMP(statut='o',typ='R',min=1,max=2 ),
1383            ),
1384            FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1385          ),
1386
1387 #============================================================================
1388          COQUE           =FACT(statut='f',max='**',
1389            regles=(UN_PARMI('MAILLE','GROUP_MA' ),
1390                    PRESENT_PRESENT( 'EXCENTREMENT','INER_ROTA' ),),
1391            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1392            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1393            EPAIS           =SIMP(statut='o',typ='R' ),
1394            ANGL_REP        =SIMP(statut='f',typ='R',min=2,max=2),
1395            A_CIS           =SIMP(statut='c',typ='R',defaut= 0.8333333E0),
1396            COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-5 ),
1397            COQUE_NCOU      =SIMP(statut='f',typ='I',defaut= 1 ),
1398            EXCENTREMENT    =SIMP(statut='f',typ='R' ),
1399            INER_ROTA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1400            MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
1401          ),
1402
1403 #============================================================================
1404          CABLE           =FACT(statut='f',max='**',
1405            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1406            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1407            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1408            N_INIT          =SIMP(statut='f',typ='R',defaut= 5000. ),
1409            SECTION         =SIMP(statut='f',typ='R' ),
1410            FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1411          ),
1412
1413 #============================================================================
1414          DISCRET         =FACT(statut='f',max='**',
1415            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1416            AMOR_HYST       =SIMP(statut='f',typ='R' ),
1417            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
1418           fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
1419                                  into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
1420                                        "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
1421                                        "M_T_D_N","M_TR_D_N","M_T_N",
1422                                        "M_T_L",  "M_TR_N",  "M_TR_L",
1423                                        "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
1424                                        "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
1425
1426 # affection des caractéristiques de RIGIDITE/AMORTISSEMENT
1427               b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
1428                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1429                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1430                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1431                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1432                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1433                                VALE     =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1434               b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
1435                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1436                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1437                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1438                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1439               b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
1440                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1441                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1442                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1443                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1444                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1445                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1446               b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
1447                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1448                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1449                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1450                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1451               b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
1452                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1453                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1454                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1455                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1456                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1457                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1458               b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
1459                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1460                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1461                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1462                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1463               b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
1464                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1465                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1466                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1467                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1468                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1469                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1470               b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
1471                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1472                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1473                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1474                                VALE =SIMP(statut='o',typ='R',min=78,max=78),),
1475
1476 # affection des caractéristiques de MASSE
1477               b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
1478           fr="NOEUD: 1 valeur de masse",
1479                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1480                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1481                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1482                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1483                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1484                                VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),),
1485               b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
1486           fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentricité",
1487                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1488                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1489                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1490                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1491                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1492                                VALE =SIMP(statut='o',typ='R',min=10,max=10),),
1493               b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
1494           fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
1495                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1496                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1497                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1498                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1499                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1500                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1501               b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
1502           fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
1503                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1504                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1505                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1506                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1507               b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
1508           fr="NOEUD: 21 valeurs de masse (triangulaire supérieure par colonne)",
1509                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1510                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1511                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1512                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1513                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1514                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1515               b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
1516           fr="SEGMENT: 78 valeurs de masse (triangulaire supérieure par colonne)",
1517                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1518                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1519                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1520                                VALE =SIMP(statut='o',typ='R',min=78,max=78),),
1521          ),
1522
1523 #============================================================================
1524          DISCRET_2D      =FACT(statut='f',max='**',
1525            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1526            AMOR_HYST       =SIMP(statut='f',typ='R' ),
1527            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
1528           fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
1529                                  into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
1530                                        "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
1531                                        "M_T_D_N","M_T_N",  "M_TR_D_N",
1532                                        "M_T_L",  "M_TR_N",  "M_TR_L",
1533                                        "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
1534                                        "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
1535
1536 # affection des caractéristiques de RIGIDITE/AMORTISSEMENT
1537               b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
1538                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1539                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1540                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1541                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1542                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1543                                VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),),
1544               b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
1545                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1546                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1547                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1548                                VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),),
1549               b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
1550                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1551                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1552                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1553                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1554                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1555                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1556               b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
1557                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1558                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1559                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1560                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1561               b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
1562                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1563                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1564                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1565                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1566                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1567                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1568               b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
1569                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1570                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1571                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1572                                VALE =SIMP(statut='o',typ='R',min=10,max=10),),
1573               b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
1574                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1575                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1576                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1577                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1578                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1579                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6),),
1580               b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
1581                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1582                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1583                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1584                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1585
1586 # affection des caractéristiques de MASSE
1587               b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
1588           fr="NOEUD: 1 valeur de masse",
1589                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1590                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1591                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1592                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1593                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1594                                VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),),
1595               b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
1596           fr="NOEUD: 1 valeur de masse(m), 1 valeur d'inertie(Izz), 2 composantes du vecteur d'excentricité(ex,ey) ",
1597                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1598                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1599                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1600                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1601                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1602                                VALE =SIMP(statut='o',typ='R',min=4 ,max=4 ),),
1603               b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
1604           fr="NOEUD: 3 valeurs de masse (triangulaire supérieure par colonne)",
1605                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1606                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1607                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1608                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1609                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1610                                VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
1611               b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
1612           fr="SEGMENT: 10 valeurs de masse (triangulaire supérieure par colonne)",
1613                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1614                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1615                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1616                                VALE =SIMP(statut='o',typ='R',min=10,max=10),),
1617               b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
1618           fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
1619                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
1620                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1621                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1622                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1623                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1624                                VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
1625               b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
1626           fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
1627                                regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1628                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1629                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1630                                VALE =SIMP(statut='o',typ='R',min=21,max=21),),
1631          ),
1632
1633 #============================================================================
1634          ORIENTATION     =FACT(statut='f',max='**',
1635            regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),),
1636            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1637            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1638            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1639            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1640            CARA            =SIMP(statut='o',typ='TXM',
1641                                  into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ),
1642            VALE            =SIMP(statut='o',typ='R',max='**'),
1643            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-4 ),
1644            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
1645          ),
1646
1647 #============================================================================
1648          DEFI_ARC        =FACT(statut='f',max='**',
1649            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1650                    UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE',
1651                             'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'),
1652                    PRESENT_PRESENT('ORIE_ARC','RAYON'),
1653                    EXCLUS('COEF_FLEX','COEF_FLEX_XY'),
1654                    EXCLUS('COEF_FLEX','COEF_FLEX_XZ'),
1655                    EXCLUS('INDI_SIGM','INDI_SIGM_XY'),
1656                    EXCLUS('INDI_SIGM','INDI_SIGM_XZ'),
1657                    PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'),
1658                    PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),),
1659            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1660            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1661            ORIE_ARC        =SIMP(statut='f',typ='R'),
1662            CENTRE          =SIMP(statut='f',typ='R',max='**'),
1663            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
1664            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
1665            POIN_TANG       =SIMP(statut='f',typ='R',max='**'),
1666            NOEUD_POIN_TANG =SIMP(statut='f',typ=no),
1667            GROUP_NO_POIN_TG=SIMP(statut='f',typ=grno),
1668            RAYON           =SIMP(statut='f',typ='R'),
1669            COEF_FLEX       =SIMP(statut='f',typ='R'),
1670            INDI_SIGM       =SIMP(statut='f',typ='R'),
1671            COEF_FLEX_XY    =SIMP(statut='f',typ='R'),
1672            INDI_SIGM_XY    =SIMP(statut='f',typ='R'),
1673            COEF_FLEX_XZ    =SIMP(statut='f',typ='R'),
1674            INDI_SIGM_XZ    =SIMP(statut='f',typ='R'),
1675            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
1676            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
1677          ),
1678
1679 #============================================================================
1680          MASSIF          =FACT(statut='f',max='**',
1681            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1682                    UN_PARMI('ANGL_REP','ANGL_AXE'),
1683                    EXCLUS('ANGL_REP','ANGL_AXE'),
1684                    EXCLUS('ANGL_REP','ORIG_AXE'),
1685                    PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ),
1686            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1687            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1688            ANGL_REP        =SIMP(statut='f',typ='R',max=3),
1689            ANGL_AXE        =SIMP(statut='f',typ='R',max=2),
1690            ORIG_AXE        =SIMP(statut='f',typ='R',max=3),
1691          ),
1692
1693 #============================================================================
1694          POUTRE_FLUI     =FACT(statut='f',max='**',
1695            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1696            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1697            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1698            B_T             =SIMP(statut='o',typ='R'),
1699            B_N             =SIMP(statut='o',typ='R'),
1700            B_TN            =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
1701            A_FLUI          =SIMP(statut='o',typ='R'),
1702            A_CELL          =SIMP(statut='o',typ='R'),
1703            COEF_ECHELLE    =SIMP(statut='o',typ='R'),
1704          ),
1705
1706 #============================================================================
1707          GRILLE          =FACT(statut='f',max='**',
1708            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1709                    EXCLUS('ANGL_REP','ORIG_AXE'),
1710                    ENSEMBLE('ORIG_AXE','AXE')),
1711            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1712            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1713            SECTION         =SIMP(statut='o',typ='R'),
1714            ANGL_REP        =SIMP(statut='f',typ='R',max=2),
1715            EXCENTREMENT    =SIMP(statut='f',typ='R'),
1716            ORIG_AXE        =SIMP(statut='f',typ='R',max='**'),
1717            AXE             =SIMP(statut='f',typ='R',max='**'),
1718            COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-10 ),
1719            GRILLE_NCOU     =SIMP(statut='f',typ='I',defaut= 1,),
1720          ),
1721
1722 #============================================================================
1723          RIGI_PARASOL    =FACT(statut='f',max='**',
1724            regles=(UN_PARMI('COEF_GROUP','FONC_GROUP'),
1725                    UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
1726            GROUP_MA        =SIMP(statut='o',typ=ma,validators=NoRepeat(),max='**'),
1727            GROUP_MA_POI1   =SIMP(statut='f',typ=ma),
1728            FONC_GROUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1729            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
1730            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1731            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,
1732                                  into=("K_TR_D_N","A_TR_D_N",
1733                                        "K_T_D_N", "A_T_D_N") ),
1734            VALE            =SIMP(statut='o',typ='R',max='**'),
1735            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
1736            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
1737            COOR_CENTRE     =SIMP(statut='f',typ='R',max='**'),
1738          ),
1739          
1740 #============================================================================
1741          RIGI_MISS_3D    =FACT(statut='f',max='**',
1742            GROUP_MA_POI1   =SIMP(statut='o',typ=ma,max=1),
1743            GROUP_MA_SEG2   =SIMP(statut='f',typ=ma,max=1),
1744            FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
1745            UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
1746          ),
1747          
1748 #============================================================================
1749          ASSE_GRIL       =FACT(statut='f',max='**',
1750            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1751            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1752            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1753            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
1754                                  into=("K_TR_D_N","K_TR_D_L_T","K_TR_D_L_N",) ),
1755            VALE            =SIMP(statut='o',typ='R',max='**'),
1756            PAS_T           =SIMP(statut='o',typ='R'),
1757            PAS_N           =SIMP(statut='o',typ='R'),
1758            ANGL_REP        =SIMP(statut='o',typ='R',max='**'),
1759            COEF_ECHELLE    =SIMP(statut='o',typ='R'),
1760          ),
1761
1762
1763 #============================================================================
1764          AFFE_SECT     =FACT(statut='f',max='**',
1765               regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
1766                       AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),
1767                       PRESENT_ABSENT('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),),
1768
1769               NOM             =SIMP(statut='f',typ='TXM'),
1770
1771               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1772               MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1773
1774               TOUT_SECT         =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1775               GROUP_MA_SECT     =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1776               MAILLE_SECT       =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1777
1778               MAILLAGE_SECT     =SIMP(statut='o',typ=maillage_sdaster),
1779               COOR_AXE_POUTRE    =SIMP(statut='o',typ='R',min=2,max=2),
1780          ),
1781
1782
1783 #============================================================================
1784          AFFE_FIBRE     =FACT(statut='f',max='**',
1785               regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
1786
1787               NOM             =SIMP(statut='f',typ='TXM'),
1788
1789               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1790               MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1791
1792               CARA              =SIMP(statut='f',typ='TXM',defaut='SURFACE',into=('SURFACE','DIAMETRE',)),
1793               VALE              =SIMP(statut='o',typ='R',max='**'),
1794               COOR_AXE_POUTRE    =SIMP(statut='o',typ='R',min=2,max=2),
1795          ),
1796
1797
1798 ) ;
1799 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
1800 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1801 # ======================================================================
1802 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1803 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1804 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1805 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1806 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1807 #
1808 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1809 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1810 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1811 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1812 #
1813 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1814 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1815 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1816 # ======================================================================
1817 AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op=  68,sd_prod=char_acou,
1818                     fr="Affectation de charges et conditions aux limites acoustiques constantes",
1819                     reentrant='n',
1820             UIinfo={"groupes":("Modélisation",)},
1821          regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),),
1822          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1823          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1824          PRES_IMPO       =FACT(statut='f',max='**',
1825            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
1826            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1827            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1828            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1829            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1830            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1831            PRES            =SIMP(statut='o',typ='C' ),
1832          ),
1833          VITE_FACE       =FACT(statut='f',max='**',
1834              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
1835                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
1836            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1837            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1838            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1839            VNOR            =SIMP(statut='o',typ='C' ),
1840          ),
1841          IMPE_FACE       =FACT(statut='f',max='**',
1842              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
1843                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
1844            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1845            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1846            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1847            IMPE            =SIMP(statut='o',typ='C' ),
1848          ),
1849          LIAISON_UNIF    =FACT(statut='f',max='**',
1850            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),),
1851            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1852            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1853            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1854            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1855            DDL             =SIMP(statut='o',typ='TXM',max='**'),
1856          ),
1857 )  ;
1858 #& MODIF COMMANDE  DATE 23/05/2006   AUTEUR CIBHHPD L.SALMONA 
1859 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1860 # ======================================================================
1861 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1862 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1863 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1864 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1865 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1866 #
1867 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1868 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1869 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1870 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1871 #
1872 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1873 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1874 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1875 # ======================================================================
1876 # RESPONSABLE VABHHTS J.PELLET
1877 def affe_char_cine_prod(MECA_IMPO,THER_IMPO,**args):
1878   if MECA_IMPO != None  : return char_cine_meca
1879   if THER_IMPO != None  : return char_cine_ther
1880   raise AsException("type de concept resultat non prevu")
1881
1882 AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
1883                     ,fr="Affectation de conditions aux limites cinématiques pour traitement sans dualisation",
1884                      reentrant='n',
1885             UIinfo={"groupes":("Modélisation",)},
1886          regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO'),
1887                  EXCLUS('MECA_IMPO','THER_IMPO'),),
1888          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1889          MECA_IMPO       =FACT(statut='f',max='**',
1890            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1891                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),),
1892            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1893            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1894            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1895            DX              =SIMP(statut='f',typ='R' ),
1896            DY              =SIMP(statut='f',typ='R' ),
1897            DZ              =SIMP(statut='f',typ='R' ),
1898            DRX             =SIMP(statut='f',typ='R' ),
1899            DRY             =SIMP(statut='f',typ='R' ),
1900            DRZ             =SIMP(statut='f',typ='R' ),
1901            GRX             =SIMP(statut='f',typ='R' ),
1902            PRES            =SIMP(statut='f',typ='R' ),
1903            TEMP            =SIMP(statut='f',typ='R' ),
1904            PHI             =SIMP(statut='f',typ='R' ),
1905          ),
1906          THER_IMPO       =FACT(statut='f',max='**',
1907            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1908                    AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP'),),
1909            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1910            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1911            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1912            TEMP_SUP        =SIMP(statut='f',typ='R' ),
1913            TEMP            =SIMP(statut='f',typ='R' ),
1914            TEMP_INF        =SIMP(statut='f',typ='R' ),
1915          ),
1916          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
1917 )  ;
1918 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
1919 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1920 # ======================================================================
1921 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1922 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1923 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1924 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1925 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1926 #
1927 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1928 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1929 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1930 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1931 #fon
1932 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1933 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1934 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1935 # ======================================================================
1936 def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args):
1937   if MECA_IMPO != None  : return char_cine_meca
1938   if THER_IMPO != None  : return char_cine_ther
1939   raise AsException("type de concept resultat non prevu")
1940
1941 AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_prod
1942                     ,fr="Affectation de conditions aux limites cinématiques pour traitement sans dualisation",
1943                      reentrant='n',
1944             UIinfo={"groupes":("Modélisation",)},
1945          regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO'),
1946                  EXCLUS('MECA_IMPO','THER_IMPO'),),
1947          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1948          MECA_IMPO       =FACT(statut='f',max='**',
1949            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1950                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),),
1951            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1952            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1953            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1954            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1955            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1956            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1957            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1958            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1959            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1960            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1961            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1962            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1963            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1964          ),
1965          THER_IMPO       =FACT(statut='f',max='**',
1966            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
1967                    AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP' ),),
1968            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1969            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1970            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1971            TEMP_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1972            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1973            TEMP_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1974          ),
1975          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
1976 )  ;
1977 #& MODIF COMMANDE  DATE 08/03/2005   AUTEUR LAMARCHE S.LAMARCHE 
1978 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1979 # ======================================================================
1980 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1981 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1982 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1983 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1984 # (AT YOUR OPTION) ANY LATER VERSION.
1985 #
1986 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1987 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1988 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1989 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1990 #
1991 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1992 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1993 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1994 # ======================================================================
1995 # RESPONSABLE G8BHHXD X.DESROCHES
1996
1997 AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca
1998                     ,fr="Affectation de charges et conditions aux limites mécaniques constantes",
1999                      reentrant='n',
2000             UIinfo={"groupes":("Modélisation",)},
2001          regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','LIAISON_XFEM','FORCE_NODALE',
2002                              'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
2003                              'PRES_REP','FORCE_POUTRE','FORCE_COQUE','LIAISON_OBLIQUE',
2004                              'FORCE_ELEC','INTE_ELEC','PESANTEUR','ROTATION','IMPE_FACE',
2005                              'VITE_FACE','TEMP_CALCULEE','RELA_CINE_BP','EPSI_INIT','CONTACT',
2006                              'LIAISON_GROUP','LIAISON_UNIF','FLUX_THM_REP',
2007                              'LIAISON_SOLIDE','LIAISON_ELEM','ONDE_FLUI','PRES_CALCULEE',
2008                              'EPSA_CALCULEE','LIAISON_CHAMNO','VECT_ASSE','LIAISON_COQUE',
2009                              'LIAISON_MAIL','FORCE_TUYAU','SECH_CALCULEE','HYDR_CALCULEE',
2010                              'EFFE_FOND','EVOL_CHAR','ARLEQUIN','DDL_POUTRE','GRAPPE_FLUIDE'),
2011                  EXCLUS('PRES_CALCULEE','EVOL_CHAR'),),
2012          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2013          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2014          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
2015          TEMP_CALCULEE   =SIMP(statut='f',fr="Champ de température issu d'un autre calcul",
2016                                typ=(evol_ther,cham_no_temp_r,carte_temp_r,carte_temp_f ) ),
2017          HYDR_CALCULEE   =SIMP(statut='f',fr="Champ d hydratation issu d'un autre calcul",
2018                                typ=evol_ther ),
2019          SECH_CALCULEE   =SIMP(statut='f',fr="Champ de séchage issu d'un autre calcul",
2020                                typ=(evol_ther,cham_no_temp_r,carte_temp_r,carte_temp_f ) ),
2021          EPSA_CALCULEE   =SIMP(statut='f',fr="Champ de déformation anélastique issu d'un autre calcul",
2022                                typ=evol_noli ),
2023 #    A TERME PRES_CALCULEE N'EXISTERA PLUS
2024          EVOL_CHAR       =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul",
2025                                typ=evol_char ),
2026          PRES_CALCULEE   =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul",
2027                                typ=evol_char ),
2028
2029          PESANTEUR       =SIMP(statut='f',typ='R',fr="Champ de pesanteur",min=4,max=4),
2030          ROTATION        =SIMP(statut='f',typ='R',fr="Champ de rotation", min=4,max=4),
2031          b_rotation      =BLOC ( condition = "ROTATION != None",
2032            CENTRE          =SIMP(statut='f',typ='R',defaut=(0.,0.,0.),max=3),),
2033
2034          DDL_IMPO        =FACT(statut='f',max='**',
2035              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
2036                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
2037                                  'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
2038                                  'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
2039                                  'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
2040                                  'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON'),),
2041              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2042              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2043              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2044              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2045              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2046              LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)),
2047              DX              =SIMP(statut='f',typ='R' ),
2048              DY              =SIMP(statut='f',typ='R' ),
2049              DZ              =SIMP(statut='f',typ='R' ),
2050              DRX             =SIMP(statut='f',typ='R' ),
2051              DRY             =SIMP(statut='f',typ='R' ),
2052              DRZ             =SIMP(statut='f',typ='R' ),
2053              GRX             =SIMP(statut='f',typ='R' ),
2054              PRES            =SIMP(statut='f',typ='R' ),
2055              PHI             =SIMP(statut='f',typ='R' ),
2056              TEMP            =SIMP(statut='f',typ='R' ),
2057              PRE1            =SIMP(statut='f',typ='R' ),
2058              PRE2            =SIMP(statut='f',typ='R' ),
2059              UI2             =SIMP(statut='f',typ='R' ),
2060              UI3             =SIMP(statut='f',typ='R' ),
2061              UI4             =SIMP(statut='f',typ='R' ),
2062              UI5             =SIMP(statut='f',typ='R' ),
2063              UI6             =SIMP(statut='f',typ='R' ),
2064              UO2             =SIMP(statut='f',typ='R' ),
2065              UO3             =SIMP(statut='f',typ='R' ),
2066              UO4             =SIMP(statut='f',typ='R' ),
2067              UO5             =SIMP(statut='f',typ='R' ),
2068              UO6             =SIMP(statut='f',typ='R' ),
2069              VI2             =SIMP(statut='f',typ='R' ),
2070              VI3             =SIMP(statut='f',typ='R' ),
2071              VI4             =SIMP(statut='f',typ='R' ),
2072              VI5             =SIMP(statut='f',typ='R' ),
2073              VI6             =SIMP(statut='f',typ='R' ),
2074              VO2             =SIMP(statut='f',typ='R' ),
2075              VO3             =SIMP(statut='f',typ='R' ),
2076              VO4             =SIMP(statut='f',typ='R' ),
2077              VO5             =SIMP(statut='f',typ='R' ),
2078              VO6             =SIMP(statut='f',typ='R' ),
2079              WI2             =SIMP(statut='f',typ='R' ),
2080              WI3             =SIMP(statut='f',typ='R' ),
2081              WI4             =SIMP(statut='f',typ='R' ),
2082              WI5             =SIMP(statut='f',typ='R' ),
2083              WI6             =SIMP(statut='f',typ='R' ),
2084              WO2             =SIMP(statut='f',typ='R' ),
2085              WO3             =SIMP(statut='f',typ='R' ),
2086              WO4             =SIMP(statut='f',typ='R' ),
2087              WO5             =SIMP(statut='f',typ='R' ),
2088              WO6             =SIMP(statut='f',typ='R' ),
2089              WO              =SIMP(statut='f',typ='R' ),
2090              WI1             =SIMP(statut='f',typ='R' ),
2091              WO1             =SIMP(statut='f',typ='R' ),
2092              GONF            =SIMP(statut='f',typ='R' ),
2093            ),
2094
2095
2096
2097          DDL_POUTRE    =FACT(statut='f',max='**',
2098              regles=(AU_MOINS_UN('GROUP_NO','NOEUD'),
2099                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),
2100                      UN_PARMI('VECT_Y','ANGL_VRIL'),),
2101              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2102              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2103              DX              =SIMP(statut='f',typ='R' ),
2104              DY              =SIMP(statut='f',typ='R' ),
2105              DZ              =SIMP(statut='f',typ='R' ),
2106              DRX             =SIMP(statut='f',typ='R' ),
2107              DRY             =SIMP(statut='f',typ='R' ),
2108              DRZ             =SIMP(statut='f',typ='R' ),
2109 #  définition du repère local
2110              VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2111              ANGL_VRIL       =SIMP(statut='f',typ='R',),
2112 #  restriction sur les mailles servant à définir le repère local
2113              GROUP_MA        =SIMP(statut='f',typ=grma,),
2114              MAILLE          =SIMP(statut='f',typ=ma,),
2115                             ),
2116
2117
2118
2119            FACE_IMPO       =FACT(statut='f',max='**',
2120              regles=(UN_PARMI('GROUP_MA','MAILLE',),
2121                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
2122                                  'TEMP','PRE1','PRE2','DNOR','DTAN'),
2123                      EXCLUS('DNOR','DX'),
2124                      EXCLUS('DNOR','DY'),
2125                      EXCLUS('DNOR','DZ'),
2126                      EXCLUS('DNOR','DRX'),
2127                      EXCLUS('DNOR','DRY'),
2128                      EXCLUS('DNOR','DRZ'),
2129                      EXCLUS('DTAN','DX'),
2130                      EXCLUS('DTAN','DY'),
2131                      EXCLUS('DTAN','DZ'),
2132                      EXCLUS('DTAN','DRX'),
2133                      EXCLUS('DTAN','DRY'),
2134                      EXCLUS('DTAN','DRZ'),),
2135 #  rajout d'un mot clé REPERE :/ LOCAL /GLOBAL
2136              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2137              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2138              DX              =SIMP(statut='f',typ='R' ),
2139              DY              =SIMP(statut='f',typ='R' ),
2140              DZ              =SIMP(statut='f',typ='R' ),
2141              DRX             =SIMP(statut='f',typ='R' ),
2142              DRY             =SIMP(statut='f',typ='R' ),
2143              DRZ             =SIMP(statut='f',typ='R' ),
2144              DNOR            =SIMP(statut='f',typ='R' ),
2145              DTAN            =SIMP(statut='f',typ='R' ),
2146              GRX             =SIMP(statut='f',typ='R' ),
2147              PRES            =SIMP(statut='f',typ='R' ),
2148              PHI             =SIMP(statut='f',typ='R' ),
2149              TEMP            =SIMP(statut='f',typ='R' ),
2150              PRE1            =SIMP(statut='f',typ='R' ),
2151              PRE2            =SIMP(statut='f',typ='R' ),
2152            ),
2153
2154            LIAISON_DDL     =FACT(statut='f',max='**',
2155                                  fr="Définir une relation linéaire entre des ddls de deux ou plusieurs noeuds",
2156              regles=(UN_PARMI('GROUP_NO','NOEUD'),),
2157              GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
2158              NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
2159              DDL             =SIMP(statut='o',typ='TXM',max='**'),
2160              COEF_MULT       =SIMP(statut='o',typ='R'  ,max='**'),
2161              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2162            ),
2163
2164            LIAISON_OBLIQUE =FACT(statut='f',max='**',
2165                                  fr="Appliquer à des noeuds une valeur de déplacement dans un repere oblique",
2166              regles=(UN_PARMI('GROUP_NO','NOEUD'),
2167                      UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),),
2168              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2169              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2170              ANGL_NAUT       =SIMP(statut='o',typ='R',max=3),
2171              DX              =SIMP(statut='f',typ='R' ),
2172              DY              =SIMP(statut='f',typ='R' ),
2173              DZ              =SIMP(statut='f',typ='R' ),
2174              DRX             =SIMP(statut='f',typ='R' ),
2175              DRY             =SIMP(statut='f',typ='R' ),
2176              DRZ             =SIMP(statut='f',typ='R' ),
2177            ),
2178
2179            LIAISON_GROUP   =FACT(statut='f',max='**',
2180                                  fr="Définir des relations linéaires entre certains ddls de couples de noeuds",
2181              regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
2182                      UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
2183                      EXCLUS('GROUP_MA_1','GROUP_NO_2'),
2184                      EXCLUS('GROUP_MA_1','NOEUD_2'),
2185                      EXCLUS('GROUP_NO_1','GROUP_MA_2'),
2186                      EXCLUS('GROUP_NO_1','MAILLE_2'),
2187                      EXCLUS('MAILLE_1','GROUP_NO_2'),
2188                      EXCLUS('MAILLE_1','NOEUD_2'),
2189                      EXCLUS('NOEUD_1','GROUP_MA_2'),
2190                      EXCLUS('NOEUD_1','MAILLE_2'),
2191                      EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
2192
2193                GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2194                MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2195                GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2196                MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2197                GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2198                NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2199                GROUP_NO_2      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2200                NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2201
2202              SANS_NOEUD      =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
2203              SANS_GROUP_NO   =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
2204              DDL_1           =SIMP(statut='o',typ='TXM',max='**'),
2205              COEF_MULT_1     =SIMP(statut='o',typ='R'  ,max='**'),
2206              DDL_2           =SIMP(statut='o',typ='TXM',max='**'),
2207              COEF_MULT_2     =SIMP(statut='o',typ='R'  ,max='**'),
2208              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2209              SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2210              TRAN            =SIMP(statut='f',typ='R',max=3),
2211              ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
2212              CENTRE          =SIMP(statut='f',typ='R',max=3),
2213            ),
2214
2215            LIAISON_MAIL    =FACT(statut='f',max='**',
2216              regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'),
2217                      AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'),
2218                      PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),),
2219               GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2220               MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2221               GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2222               MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2223               GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2224               NOEUD_ESCL      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2225               TRAN            =SIMP(statut='f',typ='R',max=3 ),
2226               ANGL_NAUT       =SIMP(statut='f',typ='R',max=3 ),
2227               CENTRE          =SIMP(statut='f',typ='R',max=3 ),
2228               DDL_MAIT        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
2229               DDL_ESCL        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
2230          ),
2231
2232
2233            LIAISON_SOLIDE  =FACT(statut='f',fr="Modéliser une partie indéformable d'une structure",max='**',
2234              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
2235              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2236              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2237              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2238              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2239              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2240            ),
2241
2242            LIAISON_ELEM    =FACT(statut='f',fr="Raccorder une poutre à une partie massive 3D ou une coque",max='**',
2243              regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
2244                      UN_PARMI('GROUP_NO_2','NOEUD_2'),),
2245              OPTION          =SIMP(statut='o',typ='TXM',into=("3D_TUYAU","3D_POU","COQ_POU","COQ_TUYAU") ),
2246              GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2247              MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2248              GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2249              NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2250              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2251              CARA_ELEM       =SIMP(statut='f',typ=(cara_elem) ),
2252              AXE_POUTRE      =SIMP(statut='f',typ='R',max=3),
2253              ANGL_MAX        =SIMP(statut='f',typ='R',defaut= 1. ),
2254            ),
2255
2256            LIAISON_UNIF    =FACT(statut='f',max='**',
2257                                  fr="Imposer une meme valeur (inconnue) à des ddls d'un emsemble de noeuds",
2258              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
2259              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2260              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2261              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2262              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2263              DDL             =SIMP(statut='o',typ='TXM',max='**'),
2264            ),
2265
2266          LIAISON_CHAMNO  =FACT(statut='f',max='**',
2267                                fr="définir une relation linéaire entre tous les ddls d'un concept cham_no_sdaster",
2268 #  type de cham_no_sdaster CO()
2269              CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster), #CO()
2270              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2271              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2272            ),
2273
2274          LIAISON_XFEM      =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
2275
2276          VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
2277
2278          CONTACT         =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**',
2279            regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
2280            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
2281                                  into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
2282            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
2283            LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),                 
2284            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")),
2285            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",    
2286                                  into=("CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE") ),           
2287            PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","QUADRATIQUE") ),
2288            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2289            MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2290            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2291            MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2292            TOLE_PROJ_EXT   =SIMP(statut='f',typ='R',defaut=0.50),
2293            TOLE_PROJ_INT   =SIMP(statut='f',typ='R',defaut=0.001),
2294            ITER_MULT_MAXI  =SIMP(statut='f',typ='I',defaut=4),
2295              
2296            b_active        =BLOC(condition = "METHODE == 'CONTRAINTE' ",
2297                                  fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
2298                 regles=(EXCLUS('DIST_ESCL','COEF_IMPO'),
2299                         EXCLUS('DIST_MAIT','COEF_IMPO'),),
2300                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")),
2301                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), 
2302                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
2303                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2304                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2305                                  fr="Paramètre de la réactualisation géométrique",
2306                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2307                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2308                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2309                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2310                 COEF_IMPO       =SIMP(statut='f',typ='R'),
2311                 COEF_MULT_ESCL  =SIMP(statut='f',typ='R'),
2312                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
2313                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2314                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2315                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2316                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),),
2317            b_lagrangien    =BLOC(condition = "METHODE == 'LAGRANGIEN' ",
2318                                  fr="Paramètres de la méthode Lagrangienne (contact avec ou sans frottement)",
2319                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
2320                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
2321                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ), 
2322                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2323                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2324                                  fr="Paramètre de la réactualisation géométrique",
2325                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2326                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2327                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2328                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2329                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2330                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2331                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2332                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
2333                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2334                      COULOMB         =SIMP(statut='o',typ='R',),
2335                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
2336                      ),),
2337            b_penalisation       =BLOC(condition = "METHODE == 'PENALISATION' ",
2338                                       fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)",
2339                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
2340                 E_N             =SIMP(statut='f',typ='R'), 
2341                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
2342                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
2343                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
2344                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2345                                  fr="Paramètre de la réactualisation géométrique",
2346                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
2347                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2348                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2349                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2350                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2351                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2352                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2353                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
2354                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2355                      COULOMB         =SIMP(statut='o',typ='R',),
2356                      E_T             =SIMP(statut='f',typ='R',
2357                                            fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"),
2358                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
2359                      ),),
2360            b_continue      =BLOC(condition = "METHODE == 'CONTINUE' ",
2361                                  fr="Paramètres de la méthode continue (contact avec ou sans frottement)",
2362                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),
2363                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
2364                 INTEGRATION     =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2")),
2365                 COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2366                 MODL_AXIS       =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
2367                 FORMULATION     =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),                
2368                 DIRE_APPA       =SIMP(statut='f',typ='R',max=3,defaut=(0.,0.,0.,)),
2369                 ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=2),
2370                 ITER_CONT_MAXI  =SIMP(statut='f',typ='I',defaut=30),
2371                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2372                      COULOMB         =SIMP(statut='o',typ='R',),
2373                      ITER_FROT_MAXI  =SIMP(statut='f',typ='I',defaut=2),
2374                      COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2375                      SEUIL_INIT      =SIMP(statut='f',typ='R',defaut=0.E+0),),),
2376          ),      
2377
2378          FORCE_NODALE    =FACT(statut='f',fr="Imposer des forces nodales en des noeuds",max='**',
2379            regles=(AU_MOINS_UN('GROUP_NO','NOEUD'),
2380                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
2381            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2382            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2383            FX              =SIMP(statut='f',typ='R' ),
2384            FY              =SIMP(statut='f',typ='R' ),
2385            FZ              =SIMP(statut='f',typ='R' ),
2386            MX              =SIMP(statut='f',typ='R' ),
2387            MY              =SIMP(statut='f',typ='R' ),
2388            MZ              =SIMP(statut='f',typ='R' ),
2389            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
2390          ),
2391
2392          FORCE_FACE      =FACT(statut='f',max='**',
2393                                fr="Appliquer des forces surfaciques sur une face d'éléments volumiques",
2394              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
2395                      AU_MOINS_UN('FX','FY','FZ'),),
2396              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2397              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2398              FX              =SIMP(statut='f',typ='R' ),
2399              FY              =SIMP(statut='f',typ='R' ),
2400              FZ              =SIMP(statut='f',typ='R' ),
2401            ),
2402
2403          FORCE_ARETE     =FACT(statut='f',max='**',
2404                                fr="Appliquer des forces linéiques à une arete d élément volumique ou de coque",
2405              regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),
2406                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
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              MX              =SIMP(statut='f',typ='R' ),
2413              MY              =SIMP(statut='f',typ='R' ),
2414              MZ              =SIMP(statut='f',typ='R' ),
2415            ),
2416
2417          FORCE_CONTOUR   =FACT(statut='f',max='**',
2418                                fr="Appliquer des forces linéiques au bord d'un domaine 2D ou AXIS_FOURIER",
2419              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
2420                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
2421              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2422              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2423              FX              =SIMP(statut='f',typ='R' ),
2424              FY              =SIMP(statut='f',typ='R' ),
2425              FZ              =SIMP(statut='f',typ='R' ),
2426              MX              =SIMP(statut='f',typ='R' ),
2427              MY              =SIMP(statut='f',typ='R' ),
2428              MZ              =SIMP(statut='f',typ='R' ),
2429            ),
2430
2431          FORCE_INTERNE   =FACT(statut='f',max='**',
2432                                fr="Appliquer des forces volumiques (2D ou 3D) à un domaine volumique",
2433              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2434                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2435                      AU_MOINS_UN('FX','FY','FZ' ),),
2436              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2437              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2438              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2439              FX              =SIMP(statut='f',typ='R' ),
2440              FY              =SIMP(statut='f',typ='R' ),
2441              FZ              =SIMP(statut='f',typ='R' ),
2442            ),
2443
2444          PRES_REP        =FACT(statut='f',max='**',
2445                                fr="Appliquer une pression à un domaine de milieu continu 2D ou 3D",
2446              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2447                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2448                      AU_MOINS_UN('PRES','CISA_2D' ),),
2449              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2450              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2451              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2452              PRES            =SIMP(statut='f',typ='R' ),
2453              CISA_2D         =SIMP(statut='f',typ='R' ),
2454            ),
2455
2456          EFFE_FOND       =FACT(statut='f',fr="Imposer un effet de fond",max='**',
2457            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2458            GROUP_MA_INT    =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
2459            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2460            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2461            PRES            =SIMP(statut='o',typ='R' ),
2462          ),
2463
2464          EPSI_INIT       =FACT(statut='f',max='**',
2465                                fr="Appliquer un chargement de déformation initiale à un volume 3D ou 2D",
2466              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2467                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2468                      AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ','EPX',
2469                                  'KY','KZ','EXX','EYY','EXY','KXX','KYY','KXY'),),
2470              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2471              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2472              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2473              EPXX            =SIMP(statut='f',typ='R' ),
2474              EPYY            =SIMP(statut='f',typ='R' ),
2475              EPZZ            =SIMP(statut='f',typ='R' ),
2476              EPXY            =SIMP(statut='f',typ='R' ),
2477              EPXZ            =SIMP(statut='f',typ='R' ),
2478              EPYZ            =SIMP(statut='f',typ='R' ),
2479              EPX             =SIMP(statut='f',typ='R' ),
2480              KY              =SIMP(statut='f',typ='R' ),
2481              KZ              =SIMP(statut='f',typ='R' ),
2482              EXX             =SIMP(statut='f',typ='R' ),
2483              EYY             =SIMP(statut='f',typ='R' ),
2484              EXY             =SIMP(statut='f',typ='R' ),
2485              KXX             =SIMP(statut='f',typ='R' ),
2486              KYY             =SIMP(statut='f',typ='R' ),
2487              KXY             =SIMP(statut='f',typ='R' ),
2488            ),
2489
2490          ARLEQUIN        =FACT(statut='f',min=1,max='**',
2491            GROUP_MA_1     =SIMP(statut='o',typ=grma,max='**'),
2492            GROUP_MA_2     =SIMP(statut='o',typ=grma,max='**'),
2493            GROUP_MA_COLL  =SIMP(statut='f',typ=grma,max='**'),
2494            CARA_ELEM      =SIMP(statut='f',typ=cara_elem ),
2495            COND_LIM       =SIMP(statut='f',typ=char_meca ),
2496            COLLAGE        =SIMP(statut='f',typ='TXM',defaut="GROSSIER",into=("GROSSIER","FIN","GROUP_MA_1","GROUP_MA_2"),),
2497            regles         =(UN_PARMI('POIDS_1','POIDS_2','POIDS_GROSSIER','POIDS_FIN',),),
2498            POIDS_1        =SIMP(statut='f',typ='R'),
2499            POIDS_2        =SIMP(statut='f',typ='R'),
2500            POIDS_GROSSIER =SIMP(statut='f',typ='R'),
2501            POIDS_FIN      =SIMP(statut='f',typ='R'),),
2502
2503         FORCE_POUTRE    =FACT(statut='f',fr="Appliquer des forces linéiques sur des poutres",max='**',
2504              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2505                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2506                      AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'),
2507                      PRESENT_ABSENT('FX','N','VY','VZ'),
2508                      PRESENT_ABSENT('FY','N','VY','VZ'),
2509                      PRESENT_ABSENT('FZ','N','VY','VZ'),
2510                      PRESENT_ABSENT('N','FX','FY','FZ'),
2511                      PRESENT_ABSENT('VY','FX','FY','FZ'),
2512                      PRESENT_ABSENT('VZ','FX','FY','FZ'),),
2513              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2514              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2515              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2516              TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE",) ),
2517 #  rajour d'un mot clé REPERE :/ LOCAL /GLOBAL
2518                FX              =SIMP(statut='f',typ='R' ),
2519                FY              =SIMP(statut='f',typ='R' ),
2520                FZ              =SIMP(statut='f',typ='R' ),
2521
2522                N               =SIMP(statut='f',typ='R' ),
2523                VY              =SIMP(statut='f',typ='R' ),
2524                VZ              =SIMP(statut='f',typ='R' ),
2525
2526            ),
2527
2528          FORCE_TUYAU     =FACT(statut='f',fr="imposer une pression dans un élément TUYAU",max='**',
2529              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2530                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
2531              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2532              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2533              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2534              PRES            =SIMP(statut='f',typ='R' ),
2535            ),
2536
2537          FORCE_COQUE     =FACT(statut='f',fr="Appliquer des forces surfaciques sur des coques",max='**',
2538              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2539                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2540                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),
2541                      PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
2542                      PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
2543                      PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
2544                      PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
2545                      PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
2546                      PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
2547                      PRESENT_ABSENT('F1','FX','FY','FZ','MX','MY','MZ','PRES'),
2548                      PRESENT_ABSENT('F2','FX','FY','FZ','MX','MY','MZ','PRES'),
2549                      PRESENT_ABSENT('F3','FX','FY','FZ','MX','MY','MZ','PRES'),
2550                      PRESENT_ABSENT('MF1','FX','FY','FZ','MX','MY','MZ','PRES'),
2551                      PRESENT_ABSENT('MF2','FX','FY','FZ','MX','MY','MZ','PRES'),
2552                      PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
2553 #  rajour d'un mot clé REPERE :/ LOCAL /GLOBAL
2554              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2555              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2556              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2557
2558                FX              =SIMP(statut='f',typ='R' ),
2559                FY              =SIMP(statut='f',typ='R' ),
2560                FZ              =SIMP(statut='f',typ='R' ),
2561                MX              =SIMP(statut='f',typ='R' ),
2562                MY              =SIMP(statut='f',typ='R' ),
2563                MZ              =SIMP(statut='f',typ='R' ),
2564
2565                F1              =SIMP(statut='f',typ='R' ),
2566                F2              =SIMP(statut='f',typ='R' ),
2567                F3              =SIMP(statut='f',typ='R' ),
2568                MF1             =SIMP(statut='f',typ='R' ),
2569                MF2             =SIMP(statut='f',typ='R' ),
2570
2571              PRES            =SIMP(statut='f',typ='R' ),
2572              PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL",) ),
2573            ),
2574
2575
2576            GRAPPE_FLUIDE   =FACT(statut='f',max='**',
2577              regles=(EXCLUS('GROUP_NO_EXTR','NOEUD_EXTR'),
2578                      EXCLUS('GROUP_NO_ORIG','NOEUD_ORIG'),
2579                      PRESENT_PRESENT('CARA_HYDR','VALE_HYDR'),
2580                      PRESENT_PRESENT('CARA_GRAPPE','VALE_GRAPPE'),
2581                      PRESENT_PRESENT('CARA_COMMANDE','VALE_COMMANDE'),
2582                      PRESENT_PRESENT('CARA_MANCHETTE','VALE_MANCHETTE'),
2583                      PRESENT_PRESENT('CARA_GUIDE','VALE_GUIDE'),
2584                      PRESENT_PRESENT('CARA_ASSEMBLAGE','VALE_ASSEMBLAGE'),
2585                      PRESENT_PRESENT('CARA_PDC','VALE_PDC'),),
2586              GROUP_MA        =SIMP(statut='f',typ=grma,max=1),
2587              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,max=1),
2588              NOEUD_EXTR      =SIMP(statut='f',typ=no,max=1),
2589              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,max=1),
2590              NOEUD_ORIG      =SIMP(statut='f',typ=no,max=1),
2591              Z0              =SIMP(statut='f',typ='R' ),
2592              CARA_HYDR       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2593                                  fr="définition des données hydrauliques",
2594                                  into=("Q","ROC","ROD","ROP","ROM","ROML","ROG","NUC","NUM",
2595                                        "NUML","NUG","P2","P3","P4","CGG","G") ),
2596              VALE_HYDR       =SIMP(statut='f',typ='R',max='**',
2597                                  fr="valeurs des données hydrauliques",),
2598              CARA_GRAPPE     =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2599                                  fr="définition des données géométriques de la grappe",
2600                                  into=("M","DTIGE","DTMOY","ROTIGE","LTIGE","LLT","LCT",
2601                                        "VARAI","RORAI","DCRAY","ROCRAY","LCRAY","LCHUT",
2602                                        "CFCM","CFCI","CFCG","HRUGC","HRUGTC","NCA") ),
2603              VALE_GRAPPE     =SIMP(statut='f',typ='R',max='**',
2604                                  fr="valeurs des données géométriques de la grappe",),
2605              CARA_COMMANDE   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2606                                  fr="définition des données géométriques du mécanisme de commande",
2607                                  into=("LI","LML","LG","LIG","DIML","DEML","DCSP",
2608                                        "DG","HRUGML","HRUGCSP","HRUGG") ),
2609              VALE_COMMANDE   =SIMP(statut='f',typ='R',max='**',
2610                                  fr="valeurs des données géométriques du mécanisme de commande",),
2611              CARA_MANCHETTE  =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2612                                  fr="définition des données géométriques de la manchette et son adaptateur",
2613                                  into=("LM","LA","LIM","DIMT","DEMT","DCMT","VMT",
2614                                        "ROMT","DA","HRUGM","HRUGA") ),
2615              VALE_MANCHETTE  =SIMP(statut='f',typ='R',max='**',
2616                                  fr="valeurs des données géométriques de la manchette et son adaptateur",),
2617              CARA_GUIDE      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2618                                  fr="définition des données géométriques des tubes guides",
2619                                  into=("NRET","L0","L1","L2","L3","L4","DTG","DR",
2620                                        "DOR","D0","D00","HRUGTG") ),
2621              VALE_GUIDE      =SIMP(statut='f',typ='R',max='**',
2622                                  fr="valeurs des données géométriques des tubes guides",),
2623              CARA_ASSEMBLAGE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2624                                  fr="définition des données géométriques des assemblages",
2625                                  into=("SASS","DCC","DTI","NGM","NGMDP","KM","KS","KI",
2626                                        "KES","KEI","KF") ),
2627              VALE_ASSEMBLAGE =SIMP(statut='f',typ='R',max='**',
2628                                  fr="valeurs des données géométriques des assemblages",),
2629              CARA_PDC        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2630                                  fr="définition des coefficients de perte de charge singulière",
2631                                  into=("CD0","CD1","CD2","CDELARG","CDRET","CDM","CDA","CDML",
2632                                        "CDI","CDG") ),
2633              VALE_PDC        =SIMP(statut='f',typ='R',max='**',
2634                                  fr="valeurs des coefficients de perte de charge singulière",),
2635              APPL_FORC_ARCHI  =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2636                                  fr="application de la force d'archimède",
2637                                  into=("REPARTIE","CDG") ),
2638              APPL_FORC_FPLAQ  =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2639                                  fr="application de la force de plaquage dans le guidage continu",
2640                                  into=("REPARTIE","CDG","ZONE","MILIEU","DISTRI") ),
2641              APPL_FORC_FMEC   =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2642                                  fr="application de la force dans le mécanisme de levée",
2643                                  into=("REPARTIE","CDG","ZONE","PTREP") ),
2644              APPL_FORC_FTG    =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2645                                  fr="application de la force tube_guide",
2646                                  into=("REPARTIE","CDG","ZONE","PTREP") ),
2647              DIRE_FORC_FPLAQ  =SIMP(statut='f',typ='R',min=3,max=3,
2648                                  fr="direction d'application de la force de plaquage",),
2649              b_CDG    =BLOC(condition = "(APPL_FORC_ARCHI == 'CDG') or (APPL_FORC_FPLAQ == 'CDG') or \
2650                                          (APPL_FORC_FMEC  == 'CDG') or (APPL_FORC_FTG   == 'CDG')",
2651                 MASS_INER        =SIMP(statut='o',typ=tabl_mass_iner ),
2652              ),
2653              UNITE_IMPR_FORCE =SIMP(statut='f',typ='I',
2654                                  fr="unité d'impression des forces",),
2655              UNITE_IMPR_NOEUD =SIMP(statut='f',typ='I',
2656                                  fr="unité d'impression des noeuds par zone",),
2657            ),
2658
2659            LIAISON_COQUE   =FACT(statut='f',max='**',
2660              GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2661              MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2662              GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2663              NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2664              GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2665              MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2666              GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2667              NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2668              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2669            ),
2670
2671          RELA_CINE_BP    =FACT(statut='f',max='**',
2672            CABLE_BP        =SIMP(statut='o',typ=cabl_precont ),
2673            SIGM_BPEL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
2674            RELA_CINE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2675          ),
2676
2677          FORCE_ELEC      =FACT(statut='f',max='**',
2678                                fr="Force de Laplace due à la présence d'un conducteur rectiligne secondaire non maillé",
2679              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2680                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
2681
2682              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2683              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2684              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2685
2686              POSITION        =SIMP(statut='f',typ='TXM',fr="Direction prédéfinie",into=("PARA","INFI","FINI",) ),
2687              b_fxyz  =BLOC ( condition = "POSITION == None",
2688                   FX   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2689                   FY   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2690                   FZ   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2691                        ),
2692
2693              b_para     =BLOC ( condition = "POSITION == 'PARA'",
2694                regles=(UN_PARMI('TRANS','DIST'),),
2695                TRANS           =SIMP(statut='f',typ='R',max=3),
2696                DIST            =SIMP(statut='f',typ='R' ),
2697                b_point2        =BLOC ( condition = "DIST != None",
2698                  POINT2           =SIMP(statut='o',typ='R',max=3),
2699                ),
2700              ),
2701              b_fini_infi     =BLOC ( condition = "(POSITION == 'FINI') or (POSITION == 'INFI')",
2702                POINT1          =SIMP(statut='o',typ='R',max=3),
2703                POINT2          =SIMP(statut='o',typ='R',max=3),
2704              ),
2705            ),
2706
2707
2708
2709
2710         INTE_ELEC       =FACT(statut='f',max='**',
2711                               fr="Force de Laplace due à la présence d'un conducteur non rectiligne secondaire",
2712              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2713                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2714                      AU_MOINS_UN('GROUP_MA_2','MAILLE_2','TRANS','SYME'),
2715                      EXCLUS('TRANS','SYME'),),
2716              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2717              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2718              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2719              GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2720              MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2721              TRANS           =SIMP(statut='f',typ='R' ,max='**'),
2722              SYME            =SIMP(statut='f',typ='R' ,max='**'),
2723            ),
2724
2725
2726          IMPE_FACE       =FACT(statut='f',fr="Appliquer une impédance acoustique à une face",max='**',
2727              regles=(AU_MOINS_UN('GROUP_MA','MAILLE' ),),
2728              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2729              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2730              IMPE            =SIMP(statut='o',typ='R' ),
2731            ),
2732
2733          VITE_FACE       =FACT(statut='f',fr="Imposer des vitesses acoustiquesnormales à une face",max='**',
2734              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2735              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2736              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2737              VNOR            =SIMP(statut='o',typ='R' ),
2738            ),
2739
2740
2741
2742          ONDE_FLUI       =FACT(statut='f',fr="Appliquer une amplitude de pression d onde incidente",max='**',
2743              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2744              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2745              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2746              PRES            =SIMP(statut='o',typ='R' ),
2747            ),
2748
2749          FLUX_THM_REP    =FACT(statut='f',max='**',
2750              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2751                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2752                      AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
2753              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2754              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2755              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2756              FLUN            =SIMP(statut='f',typ='R' ),
2757              FLUN_HYDR1      =SIMP(statut='f',typ='R' ),
2758              FLUN_HYDR2      =SIMP(statut='f',typ='R' ),
2759            ),
2760
2761          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
2762 )  ;
2763
2764
2765 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
2766 #            CONFIGURATION MANAGEMENT OF EDF VERSION
2767 # ======================================================================
2768 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
2769 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2770 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2771 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
2772 # (AT YOUR OPTION) ANY LATER VERSION.                                 
2773 #
2774 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
2775 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
2776 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
2777 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
2778 #
2779 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
2780 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
2781 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
2782 # ======================================================================
2783 # RESPONSABLE G8BHHXD X.DESROCHES
2784 AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op=   7,sd_prod=char_meca,
2785                      fr="Affectation de charges et conditions aux limites mécaniques complexes",
2786                      reentrant='n',
2787             UIinfo={"groupes":("Modélisation",)},
2788          regles=(AU_MOINS_UN('DDL_IMPO','FORCE_POUTRE','LIAISON_DDL', ),),
2789          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
2790          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2791          DDL_IMPO        =FACT(statut='f',max='**',
2792            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),
2793                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','LIAISON', ),),
2794            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2795            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2796            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2797            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2798            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2799            LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), 
2800            DX              =SIMP(statut='f',typ='C' ),
2801            DY              =SIMP(statut='f',typ='C' ),
2802            DZ              =SIMP(statut='f',typ='C' ),
2803            DRX             =SIMP(statut='f',typ='C' ),
2804            DRY             =SIMP(statut='f',typ='C' ),
2805            DRZ             =SIMP(statut='f',typ='C' ),
2806            GRX             =SIMP(statut='f',typ='C' ),
2807            PRES            =SIMP(statut='f',typ='C' ),
2808            PHI             =SIMP(statut='f',typ='C' ),
2809          ),
2810          FORCE_POUTRE    =FACT(statut='f',max='**',
2811            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2812                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2813                    AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',),
2814                    PRESENT_ABSENT('FX','N','VY','VZ',),
2815                    PRESENT_ABSENT('FY','N','VY','VZ',),
2816                    PRESENT_ABSENT('FZ','N','VY','VZ',),
2817                    PRESENT_ABSENT('N','FX','FY','FZ',),
2818                    PRESENT_ABSENT('VY', 'FX','FY','FZ',),
2819                    PRESENT_ABSENT('VZ','FX','FY','FZ', ),),
2820            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2821            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2822            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2823            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
2824            FX              =SIMP(statut='f',typ='C' ),
2825            FY              =SIMP(statut='f',typ='C' ),
2826            FZ              =SIMP(statut='f',typ='C' ),
2827            N               =SIMP(statut='f',typ='C' ),
2828            VY              =SIMP(statut='f',typ='C' ),
2829            VZ              =SIMP(statut='f',typ='C' ),
2830          ),
2831          LIAISON_DDL     =FACT(statut='f',max='**',
2832            regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
2833            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2834            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
2835            DDL             =SIMP(statut='o',typ='TXM',max='**'),
2836            COEF_MULT       =SIMP(statut='o',typ='R'  ,max='**'),
2837            COEF_IMPO       =SIMP(statut='o',typ='C' ),
2838          ),
2839          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
2840 )  ;
2841 #& MODIF COMMANDE  DATE 02/11/2004   AUTEUR MABBAS M.ABBAS 
2842 #            CONFIGURATION MANAGEMENT OF EDF VERSION
2843 # ======================================================================
2844 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
2845 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2846 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2847 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
2848 # (AT YOUR OPTION) ANY LATER VERSION.                                 
2849 #
2850 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
2851 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
2852 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
2853 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
2854 #
2855 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
2856 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
2857 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
2858 # ======================================================================
2859 # RESPONSABLE G8BHHXD X.DESROCHES
2860 AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
2861                       fr="Affectation de charges et conditions aux limites mécaniques fonction d une grandeur",
2862                       reentrant='n',
2863             UIinfo={"groupes":("Modélisation",)},
2864         regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE',
2865                             'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
2866                             'PRES_REP','FORCE_POUTRE','VITE_FACE','IMPE_FACE','ONDE_PLANE',
2867                             'LIAISON_OBLIQUE','EPSI_INIT','LIAISON_GROUP','LIAISON_UNIF',
2868                             'LIAISON_SOLIDE','FORCE_COQUE','LIAISON_COQUE','FORCE_TUYAU',
2869                             'CONTACT','EFFE_FOND','FLUX_THM_REP'),),
2870          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2871          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2872          MODELE          =SIMP(statut='o',typ=modele_sdaster),
2873
2874          DDL_IMPO        =FACT(statut='f',max='**',
2875            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
2876                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
2877                                'TEMP','PRE1','PRE2','LIAISON',),),
2878            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2879            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2880            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2881            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2882            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2883            LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), 
2884            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2885            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2886            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2887            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2888            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2889            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2890            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2891            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2892            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2893            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2894            PRE1            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2895            PRE2            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2896          ),
2897
2898          FACE_IMPO       =FACT(statut='f',max='**',
2899            regles=(UN_PARMI('GROUP_MA','MAILLE'),
2900                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','TEMP','PRE1','PRE2','DNOR','DTAN'),
2901                    EXCLUS('DNOR','DX'),
2902                    EXCLUS('DNOR','DY'),
2903                    EXCLUS('DNOR','DZ'),
2904                    EXCLUS('DNOR','DRX'),
2905                    EXCLUS('DNOR','DRY'),
2906                    EXCLUS('DNOR','DRZ'),
2907                    EXCLUS('DTAN','DX'),
2908                    EXCLUS('DTAN','DY'),
2909                    EXCLUS('DTAN','DZ'),
2910                    EXCLUS('DTAN','DRX'),
2911                    EXCLUS('DTAN','DRY'),
2912                    EXCLUS('DTAN','DRZ'),),
2913 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
2914            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2915            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2916            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2917            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2918            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2919            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2920            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2921            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2922            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2923            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2924            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2925            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2926            PRE1            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2927            PRE2            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2928            DNOR            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2929            DTAN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2930          ),
2931          
2932          LIAISON_DDL     =FACT(statut='f',max='**',
2933                                fr="Définir une relation linéaire entre des ddls de deux ou plusieurs noeuds",
2934            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
2935            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2936            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
2937            DDL             =SIMP(statut='o',typ='TXM',max='**'),
2938            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
2939            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2940          ),
2941
2942          LIAISON_OBLIQUE =FACT(statut='f',max='**',
2943                                fr="Définir des relations linéaires entre certains ddls de couples de noeuds",
2944            regles=(UN_PARMI('GROUP_NO','NOEUD'),
2945                    UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),),
2946            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2947            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
2948            ANGL_NAUT       =SIMP(statut='o',typ='R',max=3),
2949            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2950            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2951            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2952            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2953            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2954            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2955          ),         
2956          
2957          LIAISON_GROUP   =FACT(statut='f',max='**',
2958                                fr="Définir des relations linéaires entre certains ddls de couples de noeuds",
2959            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
2960                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
2961                    EXCLUS('GROUP_MA_1','GROUP_NO_2'),
2962                    EXCLUS('GROUP_MA_1','NOEUD_2'),
2963                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
2964                    EXCLUS('GROUP_NO_1','MAILLE_2'),
2965                    EXCLUS('MAILLE_1','GROUP_NO_2'),
2966                    EXCLUS('MAILLE_1','NOEUD_2'),
2967                    EXCLUS('NOEUD_1','GROUP_MA_2'),
2968                    EXCLUS('NOEUD_1','MAILLE_2'),
2969                    EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
2970            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2971            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2972            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2973            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2974            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2975            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2976            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2977            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2978            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2979            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2980            DDL_1           =SIMP(statut='o',typ='TXM',max='**'),
2981            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
2982            DDL_2           =SIMP(statut='o',typ='TXM',max='**'),
2983            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
2984            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
2985            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2986            TRAN            =SIMP(statut='f',typ='R',max=3),
2987            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
2988            CENTRE          =SIMP(statut='f',typ='R',max=3),
2989          ),
2990
2991          CONTACT         =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**',
2992            regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
2993            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
2994                                  into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
2995            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
2996            LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),                 
2997            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")),
2998            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",    
2999                                  into=("CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE") ),           
3000            PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","QUADRATIQUE") ),
3001            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3002            MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3003            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3004            MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3005            TOLE_PROJ_EXT   =SIMP(statut='f',typ='R',defaut=0.50),  
3006            TOLE_PROJ_INT   =SIMP(statut='f',typ='R',defaut=0.001), 
3007            ITER_MULT_MAXI  =SIMP(statut='f',typ='I',defaut=4),           
3008            b_active        =BLOC(condition = "METHODE == 'CONTRAINTE' ",
3009                                  fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
3010                 regles=(EXCLUS('DIST_ESCL','COEF_IMPO'),
3011                         EXCLUS('DIST_MAIT','COEF_IMPO'),),
3012                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")),
3013                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), 
3014                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
3015                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
3016                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
3017                                  fr="Paramètre de la réactualisation géométrique",
3018                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
3019                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3020                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3021                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
3022                 COEF_IMPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3023                 COEF_MULT_ESCL  =SIMP(statut='f',typ='R'),
3024                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
3025                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
3026                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3027                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3028                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),),
3029            b_lagrangien    =BLOC(condition = "METHODE == 'LAGRANGIEN' ",
3030                                  fr="Paramètres de la méthode Lagrangienne (contact avec ou sans frottement)",
3031                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
3032                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
3033                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ), 
3034                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
3035                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
3036                                  fr="Paramètre de la réactualisation géométrique",
3037                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
3038                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3039                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3040                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
3041                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3042                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3043                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
3044                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
3045                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
3046                      COULOMB         =SIMP(statut='o',typ='R',),
3047                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
3048                      ),),
3049            b_penalisation       =BLOC(condition = "METHODE == 'PENALISATION' ",
3050                                       fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)",
3051                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
3052                 E_N             =SIMP(statut='f',typ='R'), 
3053                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
3054                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ), 
3055                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
3056                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
3057                                  fr="Paramètre de la réactualisation géométrique",
3058                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),),
3059                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3060                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3061                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
3062                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3063                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3064                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
3065                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
3066                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
3067                      COULOMB         =SIMP(statut='o',typ='R',),
3068                      E_T             =SIMP(statut='f',typ='R',
3069                                            fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"),
3070                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
3071                      ),),
3072            b_continue      =BLOC(condition = "METHODE == 'CONTINUE' ",
3073                                  fr="Paramètres de la méthode continue (contact avec ou sans frottement)",
3074                 NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
3075                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
3076                 INTEGRATION     =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2")),
3077                 COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
3078                 FORMULATION     =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),
3079                 MODL_AXIS       =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
3080                 DIRE_APPA       =SIMP(statut='f',typ='R',max=3),
3081                 ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=2),
3082                 ITER_CONT_MAXI  =SIMP(statut='f',typ='I',defaut=30),
3083                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
3084                      COULOMB         =SIMP(statut='o',typ='R',),
3085                      ITER_FROT_MAXI  =SIMP(statut='f',typ='I',defaut=2),
3086                      COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
3087                      SEUIL_INIT      =SIMP(statut='f',typ='I',defaut=0),),),
3088          ),        
3089          
3090           LIAISON_UNIF    =FACT(statut='f',max='**',
3091                                fr="Imposer une meme valeur (inconnue) a des ddls d un emsemble de noeuds",
3092            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3093            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3094            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3095            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3096            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3097            DDL             =SIMP(statut='o',typ='TXM',max='**'),
3098          ),
3099
3100          LIAISON_SOLIDE  =FACT(statut='f',max='**',
3101                                fr="Modéliser une partie indéformable d une structure",
3102            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3103            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3104            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3105            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3106            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3107            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
3108          ),
3109
3110
3111
3112          FORCE_NODALE    =FACT(statut='f',max='**',
3113            regles=(UN_PARMI('GROUP_NO','NOEUD'),
3114                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
3115            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3116            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3117            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3118            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3119            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3120            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3121            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3122            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3123            ANGL_NAUT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max=3 ),
3124          ),
3125
3126          FORCE_FACE      =FACT(statut='f',max='**',
3127            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3128                    AU_MOINS_UN('FX','FY','FZ'),),
3129            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3130            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3131            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3132            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3133            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3134          ),
3135          FORCE_ARETE     =FACT(statut='f',max='**',
3136            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3137                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
3138            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3139            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3140            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3141            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3142            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3143            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3144            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3145            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3146          ),
3147          FORCE_CONTOUR   =FACT(statut='f',max='**',
3148            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3149                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
3150            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3151            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3152            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3153            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3154            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3155            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3156            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3157            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3158          ),
3159
3160          FORCE_INTERNE   =FACT(statut='f',max='**',
3161            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3162                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3163                    AU_MOINS_UN('FX','FY','FZ'),),
3164            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3165            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3166            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3167            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3168            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3169            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3170          ),
3171          
3172          PRES_REP        =FACT(statut='f',max='**',
3173            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3174                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3175                    AU_MOINS_UN('PRES','CISA_2D'),),
3176            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3177            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3178            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3179            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3180            CISA_2D         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3181          ),
3182
3183          EFFE_FOND       =FACT(statut='f',fr="Imposer un effet de fond",max='**',
3184            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
3185            GROUP_MA_INT    =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
3186            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3187            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3188            PRES            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3189          ),
3190
3191          EPSI_INIT       =FACT(statut='f',max='**',
3192            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3193                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3194                    AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ'),),
3195            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3196            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3197            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3198            EPXX            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3199            EPYY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3200            EPZZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3201            EPXY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3202            EPXZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3203            EPYZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3204          ),
3205          
3206          FORCE_POUTRE    =FACT(statut='f',max='**',
3207            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3208                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3209                    AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'),
3210                    PRESENT_ABSENT('FX','N','VY','VZ'),
3211                    PRESENT_ABSENT('FY','N','VY','VZ'),
3212                    PRESENT_ABSENT('FZ','N','VY','VZ'),
3213                    PRESENT_ABSENT('N','FX','FY','FZ'),
3214                    PRESENT_ABSENT('VY','FX','FY','FZ'),
3215                    PRESENT_ABSENT('VZ','FX','FY','FZ'),),
3216 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
3217            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3218            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3219            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3220            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
3221            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3222            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3223            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3224            N               =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3225            VY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3226            VZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3227          ),
3228
3229          FORCE_TUYAU     =FACT(statut='f',max='**',
3230            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3231                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3232            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3233            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3234            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3235            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3236          ),
3237          
3238          FORCE_COQUE     =FACT(statut='f',max='**',
3239            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3240                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3241                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),
3242                    PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
3243                    PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
3244                    PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
3245                    PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
3246                    PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
3247                    PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
3248                    PRESENT_ABSENT('F1','PRES','FX','FY','FZ','MX','MY','MZ'),
3249                    PRESENT_ABSENT('F2','PRES','FX','FY','FZ','MX','MY','MZ'),
3250                    PRESENT_ABSENT('F3','PRES','FX','FY','FZ','MX','MY','MZ'),
3251                    PRESENT_ABSENT('MF1','PRES','FX','FY','FZ','MX','MY','MZ'),
3252                    PRESENT_ABSENT('MF2','PRES','FX','FY','FZ','MX','MY','MZ'),
3253                    PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
3254 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
3255            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3256            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3257            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3258            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3259            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3260            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3261            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3262            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3263            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3264            F1              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3265            F2              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3266            F3              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3267            MF1             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3268            MF2             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3269            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3270            PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",
3271                                  into=("SUP","INF","MOY","MAIL") ),
3272          ),
3273
3274          LIAISON_COQUE   =FACT(statut='f',max='**',
3275            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3276            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3277            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3278            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3279            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3280            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3281            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3282            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3283            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
3284          ),         
3285          
3286
3287          VITE_FACE       =FACT(statut='f',max='**',
3288            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3289                    PRESENT_ABSENT('GROUP_MA','MAILLE'),),
3290            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3291            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3292            VNOR            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3293          ),
3294          IMPE_FACE       =FACT(statut='f',max='**',
3295            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3296                    PRESENT_ABSENT('GROUP_MA','MAILLE'),),
3297            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3298            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3299            IMPE            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3300          ),
3301          ONDE_PLANE      =FACT(statut='f',max='**',
3302            DIRECTION       =SIMP(statut='o',typ='R',max='**'),
3303            TYPE_ONDE       =SIMP(statut='o',typ='TXM' ),
3304            FONC_SIGNAL     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3305            DIST_ORIG       =SIMP(statut='o',typ='R' ),
3306          ),
3307
3308
3309
3310          FLUX_THM_REP    =FACT(statut='f',max='**',
3311            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3312                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3313                    AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
3314            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3315            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3316            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3317            FLUN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3318            FLUN_HYDR1      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3319            FLUN_HYDR2      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3320          ),
3321
3322          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
3323 )  ;
3324
3325
3326 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3327 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3328 # ======================================================================
3329 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3330 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3331 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3332 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3333 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3334 #
3335 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3336 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3337 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3338 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3339 #
3340 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3341 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3342 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3343 # ======================================================================
3344 AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther,
3345                       fr=" ",
3346                       reentrant='n',
3347             UIinfo={"groupes":("Outils métier",)},
3348          regles=(AU_MOINS_UN('CARA_TORSION', ),),
3349          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
3350          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",
3351                                into=("OUI","NON") ),
3352          CARA_TORSION    =FACT(statut='f',max='**',
3353            regles=(UN_PARMI('TOUT','GROUP_MA'),),
3354            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3355            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3356          ),
3357          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
3358 )  ;
3359 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3360 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3361 # ======================================================================
3362 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3363 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3364 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3365 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3366 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3367 #
3368 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3369 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3370 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3371 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3372 #
3373 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3374 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3375 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3376 # ======================================================================
3377 AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther
3378                     ,fr="Affectation de charges et conditions aux limites thermiques constantes",
3379                     reentrant='n',
3380             UIinfo={"groupes":("Modélisation",)},
3381       regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','ECHANGE',
3382                           'ECHANGE_PAROI','GRAD_TEMP_INIT','LIAISON_DDL','LIAISON_GROUP',
3383                           'LIAISON_UNIF','LIAISON_CHAMNO','RAYONNEMENT','LIAISON_MAIL' ),),
3384          VERI_DDL        =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="OUI"),
3385          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
3386
3387          TEMP_IMPO       =FACT(statut='f',max='**',
3388            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
3389                    AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF'),),
3390            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3391            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3392            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3393            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3394            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3395            TEMP            =SIMP(statut='f',typ='R'),
3396            TEMP_INF        =SIMP(statut='f',typ='R'),
3397            TEMP_SUP        =SIMP(statut='f',typ='R'), ),
3398
3399          FLUX_REP        =FACT(statut='f',max='**',
3400            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3401                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3402                    PRESENT_PRESENT('CARA_TORSION','GROUP_MA'),
3403                    AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','CARA_TORSION') ),
3404            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3405            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3406            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3407            FLUN            =SIMP(statut='f',typ='R'),
3408            FLUN_INF        =SIMP(statut='f',typ='R'),
3409            FLUN_SUP        =SIMP(statut='f',typ='R'),
3410            CARA_TORSION    =SIMP(statut='f',typ=tabl_aire_int ),
3411          ),
3412         
3413
3414          RAYONNEMENT     =FACT(statut='f',max='**',
3415            fr="Attention, exprimer les températures en Celsius si rayonnement",
3416            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3417                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3418            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3419            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3420            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3421            SIGMA           =SIMP(statut='o',typ='R'),
3422            EPSILON         =SIMP(statut='o',typ='R'),
3423            TEMP_EXT        =SIMP(statut='o',typ='R'),
3424          ),
3425          
3426          ECHANGE         =FACT(statut='f',max='**',
3427            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3428                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3429                    AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
3430                    ENSEMBLE('COEF_H','TEMP_EXT',),
3431                    ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
3432                              ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
3433            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3434            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3435            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3436            COEF_H          =SIMP(statut='f',typ='R'),
3437            TEMP_EXT        =SIMP(statut='f',typ='R'),
3438            COEF_H_INF      =SIMP(statut='f',typ='R'),
3439            TEMP_EXT_INF    =SIMP(statut='f',typ='R'),
3440            COEF_H_SUP      =SIMP(statut='f',typ='R'),
3441            TEMP_EXT_SUP    =SIMP(statut='f',typ='R'),
3442          ),         
3443          
3444          SOURCE          =FACT(statut='f',max='**',
3445            regles=(UN_PARMI('SOUR','SOUR_CALCULEE',),
3446                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3447                    PRESENT_ABSENT('SOUR_CALCULEE','TOUT','GROUP_MA','MAILLE'),),
3448            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3449            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3450            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3451            SOUR            =SIMP(statut='f',typ='R'),
3452            SOUR_CALCULEE   =SIMP(statut='f',typ=(cham_elem_sour_r) ),
3453          ),
3454          
3455          GRAD_TEMP_INIT  =FACT(statut='f',max='**',
3456            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3457                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3458                    AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
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            FLUX_X          =SIMP(statut='f',typ='R' ),
3463            FLUX_Y          =SIMP(statut='f',typ='R' ),
3464            FLUX_Z          =SIMP(statut='f',typ='R' ),
3465                          ),
3466                          
3467          LIAISON_DDL     =FACT(statut='f',max='**',
3468            regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
3469            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3470            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
3471            DDL             =SIMP(statut='f',typ='TXM',max='**',
3472                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3473            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
3474            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3475          ),
3476          
3477          LIAISON_GROUP   =FACT(statut='f',max='**',
3478            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
3479                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
3480                              EXCLUS('GROUP_MA_1','GROUP_NO_2'),
3481                              EXCLUS('GROUP_MA_1','NOEUD_2'),
3482                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
3483                              EXCLUS('GROUP_NO_1','MAILLE_2'),
3484                              EXCLUS('MAILLE_1','GROUP_NO_2'),
3485                              EXCLUS('MAILLE_1','NOEUD_2'),
3486                              EXCLUS('NOEUD_1','GROUP_MA_2'),
3487                              EXCLUS('NOEUD_1','MAILLE_2'),
3488                              EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
3489            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3490            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3491            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3492            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3493            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3494            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3495            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3496            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3497            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3498            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3499            DDL_1           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3500                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3501            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
3502            DDL_2           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3503                                  into=("TEMP","TEMP_INF","TEMP_SUP",) ),
3504            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
3505            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3506            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3507            TRAN            =SIMP(statut='f',typ='R',max='**'),
3508            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
3509            CENTRE          =SIMP(statut='f',typ='R',max='**'),
3510          ),
3511
3512          LIAISON_MAIL    =FACT(statut='f',max='**',
3513            regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'),
3514                    AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL',
3515                                'NOEUD_ESCL'),),
3516            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3517            MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3518            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3519            MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3520            GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3521            NOEUD_ESCL      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3522            TRAN            =SIMP(statut='f',typ='R',max='**' ),
3523            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**' ),
3524            CENTRE          =SIMP(statut='f',typ='R',max='**' ),
3525          ),      
3526          
3527          ECHANGE_PAROI   =FACT(statut='f',max='**',
3528            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
3529                    UN_PARMI('GROUP_MA_2','MAILLE_2'),),
3530            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3531            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3532            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3533            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3534            COEF_H          =SIMP(statut='f',typ='R'),
3535            TRAN            =SIMP(statut='f',typ='R',min=2,max=3),
3536            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
3537            CENTRE          =SIMP(statut='f',typ='R',min=2,max=3),
3538                          ),
3539
3540          LIAISON_UNIF    =FACT(statut='f',max='**',
3541            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3542            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3543            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3544            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3545            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3546            DDL             =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3547                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3548          ),
3549
3550          LIAISON_CHAMNO  =FACT(statut='f',max='**',
3551            CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),# CO()# "il faut definir une structure de donnee generique chamno"
3552            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3553            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
3554          ),
3555
3556          CONVECTION      =FACT(statut='f',max='**',
3557            VITESSE         =SIMP(statut='o',typ=(cham_no_depl_r) ),
3558          ),
3559
3560
3561          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
3562 )  ;
3563 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
3564 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3565 # ======================================================================
3566 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3567 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3568 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3569 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3570 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3571 #
3572 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3573 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3574 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3575 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3576 #
3577 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3578 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3579 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3580 # ======================================================================
3581 AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=33,sd_prod=char_ther,
3582                      fr="Affectation de charges et conditions aux limites thermiques fonction dune grandeur (temps, ...)",
3583                      reentrant='n',
3584             UIinfo={"groupes":("Modélisation",)},
3585       regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','FLUX_NL','ECHANGE',
3586                           'ECHANGE_PAROI','LIAISON_DDL','LIAISON_GROUP','LIAISON_UNIF',
3587                           'GRAD_TEMP_INIT','RAYONNEMENT'),),
3588          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
3589          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
3590
3591          TEMP_IMPO       =FACT(statut='f',max='**',
3592            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
3593                    AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF','EVOL_THER'),
3594                    PRESENT_ABSENT('EVOL_THER','TEMP','TEMP_INF','TEMP_SUP'),),
3595            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3596            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3597            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3598            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3599            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3600            EVOL_THER       =SIMP(statut='f',typ=(evol_ther) ),
3601            DDL             =SIMP(statut='f',typ='TXM',into=("TEMP",) ),
3602            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3603            TEMP_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3604            TEMP_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3605          ),
3606          
3607          FLUX_REP        =FACT(statut='f',max='**',
3608            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3609                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3610                    AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','FLUX_X','FLUX_Y','FLUX_Z'),),
3611            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3612            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3613            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3614            FLUN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3615            FLUN_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3616            FLUN_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3617            FLUX_X          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3618            FLUX_Y          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3619            FLUX_Z          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3620          ),
3621
3622          FLUX_NL         =FACT(statut='f',max='**',
3623            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3624                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3625            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3626            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3627            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3628            FLUN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3629          ), 
3630          
3631
3632          RAYONNEMENT     =FACT(statut='f',max='**',
3633            fr="Attention, exprimer les températures en Celsius si rayonnement",
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            SIGMA           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3640            EPSILON         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3641            TEMP_EXT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3642          ),
3643          
3644
3645
3646          ECHANGE         =FACT(statut='f',max='**',
3647            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3648                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3649                    AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
3650                    ENSEMBLE('COEF_H','TEMP_EXT'),
3651                    ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
3652                    ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
3653            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3654            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3655            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3656            COEF_H          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3657            TEMP_EXT        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3658            COEF_H_INF      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3659            TEMP_EXT_INF    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3660            COEF_H_SUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3661            TEMP_EXT_SUP    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3662          ),
3663          
3664
3665          SOURCE          =FACT(statut='f',max='**',
3666            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
3667            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3668            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3669            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3670            SOUR            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3671          ),
3672          
3673          GRAD_TEMP_INIT  =FACT(statut='f',max='**',
3674            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3675                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3676                    AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
3677            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3678            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3679            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3680            FLUX_X          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3681            FLUX_Y          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3682            FLUX_Z          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3683          ),
3684          
3685          ECHANGE_PAROI   =FACT(statut='f',max='**',
3686            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
3687                         UN_PARMI('GROUP_MA_2','MAILLE_2'),),
3688            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3689            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3690            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3691            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3692            COEF_H          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3693            TRAN            =SIMP(statut='f',typ='R',min=2,max=3),
3694            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
3695            CENTRE          =SIMP(statut='f',typ='R',min=2,max=3),
3696          ),
3697
3698         LIAISON_DDL     =FACT(statut='f',max='**',
3699            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
3700            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3701            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
3702            DDL             =SIMP(statut='f',typ='TXM',max='**',into=("TEMP","TEMP_INF","TEMP_SUP") ),
3703            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
3704            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3705          ),
3706
3707          LIAISON_GROUP   =FACT(statut='f',max='**',
3708            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
3709                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
3710                              EXCLUS('GROUP_MA_1','GROUP_NO_2'),
3711                         EXCLUS('GROUP_MA_1','NOEUD_2'),
3712                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
3713                         EXCLUS('GROUP_NO_1','MAILLE_2'),
3714                         EXCLUS('MAILLE_1','GROUP_NO_2'),
3715                         EXCLUS('MAILLE_1','NOEUD_2'),
3716                         EXCLUS('NOEUD_1','GROUP_MA_2'),
3717                         EXCLUS('NOEUD_1','MAILLE_2'),
3718                         EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
3719            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3720            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3721            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3722            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3723            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3724            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3725            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3726            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3727            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3728            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3729            DDL_1           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3730                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3731            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
3732            DDL_2           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3733                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3734            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
3735            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3736            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3737            TRAN            =SIMP(statut='f',typ='R',max='**'),
3738            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
3739            CENTRE          =SIMP(statut='f',typ='R',max='**'),
3740          ),
3741
3742          LIAISON_UNIF    =FACT(statut='f',max='**',
3743            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3744            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3745            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3746            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3747            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3748            DDL             =SIMP(statut='f',typ='TXM',defaut="TEMP",
3749                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3750          ),
3751
3752          CONVECTION      =FACT(statut='f',max='**',
3753            VITESSE         =SIMP(statut='o',typ=(cham_no_depl_r) ),
3754          ),
3755
3756          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
3757 )  ;
3758 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
3759 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3760 # ======================================================================
3761 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3762 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3763 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3764 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3765 # (AT YOUR OPTION) ANY LATER VERSION.
3766 #
3767 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3768 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3769 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3770 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3771 #
3772 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3773 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3774 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3775 # ======================================================================
3776 # RESPONSABLE VABHHTS J.PELLET
3777 AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
3778                    fr="Affectation de caractéristiques de matériaux à un maillage",
3779                          reentrant='n',
3780             UIinfo={"groupes":("Modélisation",)},
3781          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
3782          MODELE          =SIMP(statut='f',typ=modele_sdaster),
3783          AFFE            =FACT(statut='o',max='**',
3784            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
3785            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3786            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3787            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3788            MATER           =SIMP(statut='o',typ=mater_sdaster,max=30),
3789            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
3790            SECH_REF        =SIMP(statut='f',typ='R',val_min=0.E+0),
3791          ),
3792 )  ;
3793 #& MODIF COMMANDE  DATE 12/04/2005   AUTEUR REZETTE C.REZETTE 
3794 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3795 # ======================================================================
3796 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3797 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3798 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3799 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3800 # (AT YOUR OPTION) ANY LATER VERSION.
3801 #
3802 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3803 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3804 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3805 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3806 #
3807 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3808 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3809 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3810 # ======================================================================
3811 # RESPONSABLE JMBHH01 J.M.PROIX
3812 AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
3813             UIinfo={"groupes":("Modélisation",)},
3814                  fr="Affectation des éléments finis sur le maillage",reentrant='n',
3815          regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),),
3816          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
3817          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
3818          VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ),
3819          AFFE_SOUS_STRUC =FACT(statut='f',
3820            regles=(UN_PARMI('TOUT','MAILLE'),),
3821            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3822            MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
3823            PHENOMENE       =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ),
3824          ),
3825          AFFE            =FACT(statut='f',max='**',
3826            regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),),
3827            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3828            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3829            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3830            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3831            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3832            PHENOMENE       =SIMP(statut='o',typ='TXM',
3833                                  into=("MECANIQUE","THERMIQUE","ACOUSTIQUE") ),
3834                 b_mecanique     =BLOC( condition = "PHENOMENE=='MECANIQUE'",
3835                                         fr="modelisations mécaniques",
3836                     MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
3837                                                                       "2D_DIS_T",
3838                                                                       "2D_DIS_TR",
3839                                                                       "2D_FLUI_ABSO",
3840                                                                       "2D_FLUI_PESA",
3841                                                                       "2D_FLUI_STRU",
3842                                                                       "2D_FLUIDE",
3843                                                                       "3D",
3844                                                                       "3D_ABSO",
3845                                                                       "3D_FAISCEAU",
3846                                                                       "3D_FLUI_ABSO",
3847                                                                       "3D_FLUIDE",
3848                                                                       "3D_HHM" ,
3849                                                                       "3D_HM",
3850                                                                       "3D_INCO",
3851                                                                       "3D_JOINT_CT",
3852                                                                       "3D_SI",
3853                                                                       "3D_THH",
3854                                                                       "3D_THHM",
3855                                                                       "3D_THM",
3856                                                                       "3D_GRAD_EPSI",
3857                                                                       "3D_GRAD_VARI",
3858                                                                       "APPUI_REP",
3859                                                                       "ASSE_GRIL",
3860                                                                       "AXIS",
3861                                                                       "AXIS_FLUI_STRU",
3862                                                                       "AXIS_FLUIDE",
3863                                                                       "AXIS_FOURIER",
3864                                                                       "AXIS_HHM",
3865                                                                       "AXIS_HM",
3866                                                                       "AXIS_INCO",
3867                                                                       "AXIS_NS",
3868                                                                       "AXIS_SI",
3869                                                                       "AXIS_THH",
3870                                                                       "AXIS_THHM",
3871                                                                       "AXIS_THM",
3872                                                                       "AXIS_GRAD_VARI",
3873                                                                       "AXIS_FISSURE",
3874                                                                       "BARRE",
3875                                                                       "2D_BARRE",
3876                                                                       "C_PLAN",
3877                                                                       "C_PLAN_NS",
3878                                                                       "C_PLAN_SI",
3879                                                                       "C_PLAN_GRAD_EPSI",
3880                                                                       "C_PLAN_GRAD_VARI",
3881                                                                       "CABLE",
3882                                                                       "CABLE_POULIE",
3883                                                                       "COQUE_3D",
3884                                                                       "COQUE_AXIS",
3885                                                                       "COQUE_C_PLAN",
3886                                                                       "COQUE_D_PLAN",
3887                                                                       "D_PLAN",
3888                                                                       "D_PLAN_GRAD_EPSI",
3889                                                                       "D_PLAN_GRAD_VARI",
3890                                                                       "D_PLAN_NS",
3891                                                                       "PLAN_FISSURE",
3892                                                                       "D_PLAN_ABSO",
3893                                                                       "D_PLAN_HHM",
3894                                                                       "D_PLAN_HM",
3895                                                                       "D_PLAN_INCO",
3896                                                                       "D_PLAN_SI",
3897                                                                       "D_PLAN_THH",
3898                                                                       "D_PLAN_THHM",
3899                                                                       "D_PLAN_THM",
3900                                                                        "3D_HHMD",
3901                                                                        "3D_HMD",
3902                                                                        "3D_THHD",
3903                                                                        "3D_THVD",
3904                                                                        "3D_THHMD",
3905                                                                        "3D_THMD",
3906                                                                        "AXIS_HH2MD",
3907                                                                        "AXIS_HHMD",
3908                                                                        "AXIS_HMD",
3909                                                                        "AXIS_THHD",
3910                                                                        "AXIS_THH2D",
3911                                                                        "AXIS_THVD",
3912                                                                        "AXIS_THHMD",
3913                                                                        "AXIS_THH2MD",
3914                                                                        "AXIS_THMD",
3915                                                                        "D_PLAN_HHMD",
3916                                                                        "D_PLAN_HH2MD",
3917                                                                        "D_PLAN_HMD",
3918                                                                        "D_PLAN_THHD",
3919                                                                        "D_PLAN_THH2D",
3920                                                                        "D_PLAN_THVD",
3921                                                                        "D_PLAN_THH2MD",
3922                                                                        "D_PLAN_THHMD",
3923                                                                        "D_PLAN_THMD", 
3924                                                                       "DIS_T",
3925                                                                       "DIS_TR",
3926                                                                       "DKT",
3927                                                                       "DKTG",
3928                                                                       "DST",
3929                                                                       "FLUI_STRU",
3930                                                                       "GRILLE",
3931                                                                       "GRILLE_MEMBRANE",
3932                                                                       "POU_C_T",
3933                                                                       "POU_D_E",
3934                                                                       "POU_D_EM",
3935                                                                       "POU_D_T",
3936                                                                       "POU_D_T_GD",
3937                                                                       "POU_D_TG",
3938                                                                       "POU_D_TGM",
3939                                                                       "Q4G",
3940                                                                       "TUYAU_3M",
3941                                                                       "TUYAU_6M",
3942                                                                       "SHB8"
3943                                                                      )  )  ),
3944
3945                 b_thermique     =BLOC( condition = "PHENOMENE=='THERMIQUE'",
3946                                         fr="modelisations thermiques",
3947                     MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
3948                                                                       "3D",
3949                                                                       "3D_DIAG",
3950                                                                       "AXIS",
3951                                                                       "AXIS_DIAG",
3952                                                                       "AXIS_FOURIER",
3953                                                                       "COQUE",
3954                                                                       "COQUE_AXIS",
3955                                                                       "COQUE_PLAN",
3956                                                                       "PLAN",
3957                                                                       "PLAN_DIAG",
3958                                                                       ),),),
3959
3960                 b_acoustique    =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'",
3961                                         fr="modelisations acoustiques",
3962                      MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
3963                                                                        "3D",
3964                                                                        "PLAN"
3965                                                                        ), ),),
3966
3967          ),
3968 ) ;
3969 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
3970 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3971 # ======================================================================
3972 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3973 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3974 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3975 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3976 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3977 #
3978 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3979 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3980 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3981 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3982 #
3983 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3984 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3985 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3986 # ======================================================================
3987 AIDE=PROC(nom="AIDE",op=42,
3988        UIinfo={"groupes":("Modélisation",)},
3989        fr="Interrogation sur le catalogue des commandes et les concepts produits",
3990        regles=(AU_MOINS_UN('CONCEPT','TYPE_ELEM', ),),
3991        UNITE       =SIMP(statut='f',typ='I',defaut=8),  
3992        TYPE_ELEM   =FACT(fr="couple type_elem option",statut='f',
3993          INITEL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
3994                         ),
3995        CONCEPT     =FACT(statut='f',max='**',
3996          NOM          =SIMP(fr="liste des noms de concept",statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="*"),
3997          OPTION       =SIMP(fr="option d'édition de concept",statut='f',typ='TXM',defaut="TOUT_TYPE",
3998                                  into=("TOUT_TYPE","CREER","A_CREER",) ),
3999          ),
4000 ) ;
4001 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4002 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4003 # ======================================================================
4004 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4005 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4006 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4007 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4008 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4009 #
4010 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4011 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4012 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4013 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4014 #
4015 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4016 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4017 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4018 # ======================================================================
4019 # RESPONSABLE VABHHTS J.PELLET
4020 ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster,
4021                    fr="Assembler deux maillages sous un seul nom",
4022                    reentrant='n',
4023                    UIinfo={"groupes":("Maillage",)},
4024          MAILLAGE_1 =  SIMP(statut='o',typ=maillage_sdaster,),
4025          MAILLAGE_2 =  SIMP(statut='o',typ=maillage_sdaster,),
4026          OPERATION  =  SIMP(statut='o',typ='TXM',into=("SOUS_STR","SUPERPOSE","COLLAGE"),),
4027          b_collage  =  BLOC(condition = "OPERATION == 'COLLAGE'",
4028            COLLAGE  =  FACT(statut='o',
4029               GROUP_MA_1     =SIMP(statut='o',typ=grma),
4030               GROUP_MA_2     =SIMP(statut='o',typ=grma),
4031                              ),
4032                            ),
4033 )  ;
4034 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4035 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4036 # ======================================================================
4037 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4038 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4039 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4040 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4041 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4042 #
4043 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4044 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4045 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4046 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4047 #
4048 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4049 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4050 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4051 # ======================================================================
4052 ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=matr_asse_gene_r,
4053                     fr="Assemblage des matrices généralisées de macro éléments pour construction de la matrice globale généralisée",
4054                     reentrant='n',
4055             UIinfo={"groupes":("Matrices/vecteurs",)},
4056          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
4057          OPTION          =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","MASS_GENE","AMOR_GENE") ),
4058 )  ;
4059 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4060 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4061 # ======================================================================
4062 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4063 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4064 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4065 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4066 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4067 #
4068 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4069 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4070 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4071 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4072 #
4073 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4074 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4075 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4076 # ======================================================================
4077 # RESPONSABLE VABHHTS J.PELLET
4078 def asse_matrice_prod(MATR_ELEM,**args):
4079   if AsType(MATR_ELEM) == matr_elem_depl_r : return matr_asse_depl_r
4080   if AsType(MATR_ELEM) == matr_elem_depl_c : return matr_asse_depl_c
4081   if AsType(MATR_ELEM) == matr_elem_temp_r : return matr_asse_temp_r
4082   if AsType(MATR_ELEM) == matr_elem_pres_c : return matr_asse_pres_c
4083   raise AsException("type de concept resultat non prevu")
4084
4085 ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod,
4086                   fr="Construction d une matrice assemblée",reentrant='n',
4087             UIinfo={"groupes":("Matrices/vecteurs",)},
4088          MATR_ELEM       =SIMP(statut='o',
4089                                typ=(matr_elem_depl_r,matr_elem_depl_c,matr_elem_temp_r,matr_elem_pres_c) ),
4090          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster),
4091          CHAR_CINE       =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ),
4092          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
4093 )  ;
4094 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4095 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4096 # ======================================================================
4097 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4098 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4099 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4100 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4101 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4102 #
4103 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4104 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4105 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4106 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4107 #
4108 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4109 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4110 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4111 # ======================================================================
4112 ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene,
4113                     fr="Assemblage de vecteurs de chargement en coordonnées généralisées",
4114                     reentrant='n',
4115             UIinfo={"groupes":("Matrices/vecteurs",)},
4116          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
4117          CHAR_SOUS_STRUC =FACT(statut='o',max='**',
4118            SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
4119            VECT_ASSE       =SIMP(statut='o',typ=cham_no_depl_r ),
4120          ),
4121 )  ;
4122 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4123 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4124 # ======================================================================
4125 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4126 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4127 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4128 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4129 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4130 #
4131 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4132 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4133 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4134 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4135 #
4136 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4137 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4138 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4139 # ======================================================================
4140 # RESPONSABLE VABHHTS J.PELLET
4141 def asse_vecteur_prod(VECT_ELEM,**args):
4142   if AsType(VECT_ELEM) == vect_elem_depl_r : return cham_no_depl_r
4143   if AsType(VECT_ELEM) == vect_elem_temp_r : return cham_no_temp_r
4144   if AsType(VECT_ELEM) == vect_elem_pres_r : return cham_no_pres_r
4145   if AsType(VECT_ELEM) == vect_elem_pres_c : return cham_no_pres_c
4146   raise AsException("type de concept resultat non prevu ")
4147
4148 ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=asse_vecteur_prod,
4149                   fr="Assemblage d un second membre",reentrant='n',
4150             UIinfo={"groupes":("Matrices/vecteurs",)},
4151          VECT_ELEM       =SIMP(statut='o',typ=vect_elem,max='**'),
4152          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
4153          INFO            =SIMP(statut='f',typ='I',into=(1,2,) ),
4154 )  ;
4155 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
4156 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4157 # ======================================================================
4158 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4159 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4160 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4161 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4162 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4163 #
4164 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4165 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4166 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4167 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4168 #
4169 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4170 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4171 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4172 # ======================================================================
4173 CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster,
4174                      fr="Création d'une liste d'amortissements modaux calculés selon la règle du RCC-G",
4175                      reentrant='n',
4176             UIinfo={"groupes":("Résolution",)},
4177          ENER_SOL        =FACT(statut='o',
4178            regles=(UN_PARMI('GROUP_NO_RADIER','GROUP_MA_RADIER'),
4179                    PRESENT_ABSENT('COEF_GROUP','FONC_GROUP'),
4180 #  Peut-on remplacer les deux règles suivantes par un ENSEMBLE_('KRX','KRY','KRZ')
4181                    PRESENT_PRESENT('KRX','KRY'),
4182                    PRESENT_PRESENT('KRX','KRZ'),
4183                    PRESENT_ABSENT('COOR_CENTRE','NOEUD_CENTRE'),
4184                    PRESENT_ABSENT('GROUP_NO_CENTRE','NOEUD_CENTRE'),
4185                    PRESENT_ABSENT('GROUP_NO_CENTRE','COOR_CENTRE'),),
4186            METHODE         =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","RIGI_PARASOL") ),
4187            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
4188            GROUP_NO_RADIER =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4189            GROUP_MA_RADIER =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4190            FONC_GROUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4191            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
4192            KX              =SIMP(statut='o',typ='R' ),
4193            KY              =SIMP(statut='o',typ='R' ),
4194            KZ              =SIMP(statut='o',typ='R' ),
4195            KRX             =SIMP(statut='f',typ='R' ),
4196            KRY             =SIMP(statut='f',typ='R' ),
4197            KRZ             =SIMP(statut='f',typ='R' ),
4198            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
4199            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
4200            COOR_CENTRE     =SIMP(statut='f',typ='R',max=3),
4201          ),
4202          AMOR_INTERNE    =FACT(statut='o',
4203            ENER_POT        =SIMP(statut='o',typ=tabl_ener_pot ),
4204            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
4205            AMOR_REDUIT     =SIMP(statut='o',typ='R',max='**'),
4206          ),
4207          AMOR_SOL        =FACT(statut='o',
4208            AMOR_REDUIT     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4209            FONC_AMOR_GEO   =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
4210            HOMOGENE        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
4211            SEUIL           =SIMP(statut='f',typ='R',defaut= 0.3 ),
4212          ),
4213 )  ;
4214 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
4215 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4216 # ======================================================================
4217 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4218 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4219 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4220 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4221 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4222 #
4223 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4224 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4225 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4226 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4227 #
4228 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4229 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4230 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4231 # ======================================================================
4232 # RESPONSABLE JMBHH01 J.M.PROIX
4233 def calc_cham_elem_prod(OPTION,**args):
4234
4235
4236 # options thermiques
4237
4238   if OPTION == "FLUX_ELGA_TEMP" : return cham_elem_flux_r
4239   if OPTION == "FLUX_ELNO_TEMP" : return cham_elem_flux_r
4240   if OPTION == "SOUR_ELGA_ELEC" : return cham_elem_sour_r
4241
4242 # options acoustiques
4243
4244   if OPTION == "PRES_ELNO_DBEL" : return cham_elem_dbel_r
4245   if OPTION == "PRES_ELNO_REEL" : return cham_elem_pres_r
4246   if OPTION == "PRES_ELNO_IMAG" : return cham_elem_pres_r
4247
4248 # autres options
4249
4250   if OPTION == "COOR_ELGA" :      return cham_elem_geom_r
4251
4252   raise AsException("type de concept resultat non prevu")
4253
4254 CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=calc_cham_elem_prod,
4255                     fr="Calcul de champs par éléments à partir de champs solution ou de champs par éléments",
4256                     reentrant='n',
4257             UIinfo={"groupes":("Post traitements",)},
4258          MODELE          =SIMP(statut='o',typ=modele_sdaster),
4259          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
4260          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
4261
4262          regles=(EXCLUS('TOUT','GROUP_MA',),EXCLUS('TOUT','MAILLE',),),
4263          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4264          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4265          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4266
4267 #
4268 #
4269 #  introduire un mot cle de type modelisation : mécanique,thermique,...
4270 #
4271
4272          OPTION          =SIMP(statut='o',typ='TXM',
4273                                into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC",
4274                                      "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG",
4275                                      "COOR_ELGA"), ),
4276
4277          b_thermique  =BLOC(condition="OPTION in ('FLUX_ELNO_TEMP','FLUX_ELGA_TEMP','SOUR_ELGA_ELEC',)",
4278            TEMP            =SIMP(statut='o',typ=(cham_no_temp_r,)),
4279          ),
4280
4281          b_acoustique  =BLOC(condition="OPTION in ('PRES_ELNO_DBEL','PRES_ELNO_REEL','PRES_ELNO_IMAG',)",
4282            PRES            =SIMP(statut='o',typ=(cham_no_pres_c,)),
4283          ),
4284
4285
4286
4287          EXCIT           =FACT(statut='f',max='**',
4288                regles=(EXCLUS('FONC_MULT','COEF_MULT', ),),
4289                CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou)),
4290                FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4291                COEF_MULT       =SIMP(statut='f',typ='R'), ),
4292
4293          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0),
4294          ACCE            =SIMP(statut='f',typ=cham_no_depl_r),
4295          NUME_COUCHE     =SIMP(statut='f',typ='I',defaut= 1),
4296          NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY") ),
4297          MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
4298          ANGLE           =SIMP(statut='f',typ='I',defaut= 0),
4299 )  ;
4300 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4301 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4302 # ======================================================================
4303 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4304 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4305 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4306 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4307 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4308 #
4309 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4310 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4311 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4312 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4313 #
4314 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4315 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4316 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4317 # ======================================================================
4318 # RESPONSABLE VABHHTS J.PELLET
4319 def calc_char_cine_prod(CHAR_CINE,**args):
4320   if AsType(CHAR_CINE) == char_cine_meca : return cham_no_depl_r
4321   if AsType(CHAR_CINE) == char_cine_ther : return cham_no_temp_r
4322   if AsType(CHAR_CINE) == char_cine_acou : return cham_no_pres_c
4323   raise AsException("type de concept resultat non prevu")
4324
4325 CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=calc_char_cine_prod,
4326                     fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)",
4327                     reentrant='n',
4328             UIinfo={"groupes":("Matrices/vecteurs",)},
4329          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
4330          CHAR_CINE       =SIMP(statut='o',typ=(char_cine_meca,char_cine_ther,char_cine_acou ) ),
4331          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4332          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
4333 )  ;
4334 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4335 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4336 # ======================================================================
4337 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4338 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4339 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4340 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4341 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4342 #
4343 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4344 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4345 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4346 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4347 #
4348 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4349 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4350 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4351 # ======================================================================
4352 def calc_char_seisme_prod(MATR_MASS,**args ):
4353   if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_depl_r
4354   raise AsException("type de concept resultat non prevu")
4355
4356 CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op=  92,sd_prod=calc_char_seisme_prod,
4357                       reentrant='n',
4358             UIinfo={"groupes":("Matrices/vecteurs",)},
4359          regles=(UN_PARMI('MONO_APPUI','MODE_STAT' ),),
4360          MATR_MASS       =SIMP(statut='o',typ=matr_asse_depl_r,fr="Matrice de masse" ),
4361          DIRECTION       =SIMP(statut='o',typ='R',max=6,fr="Directions du séisme imposé"),
4362          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),         
4363          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
4364          b_mode_stat     =BLOC ( condition = "MODE_STAT != None",
4365            regles=(UN_PARMI('NOEUD','GROUP_NO' ),),
4366            NOEUD           =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),
4367            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4368          ),
4369          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4370 )  ;
4371 #& MODIF COMMANDE  DATE 23/11/2004   AUTEUR ASSIRE A.ASSIRE 
4372 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4373 # ======================================================================
4374 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4375 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4376 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4377 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4378 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4379 #
4380 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4381 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4382 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4383 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4384 #
4385 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4386 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4387 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4388 # ======================================================================
4389 # RESPONSABLE JMBHH01 J.M.PROIX
4390 def calc_elem_prod(RESULTAT,**args):
4391    if AsType(RESULTAT) != None : return AsType(RESULTAT)
4392    raise AsException("type de concept resultat non prevu")
4393
4394 CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
4395             UIinfo={"groupes":("Post traitements",)},
4396             fr="Compléter ou créer un résultat en calculant des champs par éléments (contraintes, déformations,... )",
4397      MODELE          =SIMP(statut='f',typ=modele_sdaster),
4398      CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
4399      CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
4400
4401      RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca,
4402                                 mode_stat,mode_stat_depl,mode_stat_acce,mode_stat_forc,
4403                                 evol_noli,mult_elas,fourier_elas,
4404                                 evol_ther,base_modale,
4405                                 acou_harmo,mode_acou,mode_flamb) ,
4406                 fr="Résultat d'une commande globale"),
4407                                            
4408      regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
4409                     'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),),
4410      TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4411      NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
4412      NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
4413      NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
4414      NOM_CAS         =SIMP(statut='f',typ='TXM' ),
4415
4416      INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
4417      FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
4418      LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
4419      LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
4420      PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
4421      CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
4422      LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
4423      
4424      TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4425      GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
4426                            fr="le calcul ne sera effectué que sur ces mailles là"),
4427      MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**',
4428                            fr="le calcul ne sera effectué que sur ces mailles là"),
4429
4430 #    options pour des resultats lineaire 
4431
4432      b_lineaire =BLOC( condition = "AsType(RESULTAT) in (evol_elas,dyna_trans,dyna_harmo,mode_meca,\
4433                                                                mode_stat,mode_stat_depl,mode_stat_acce,mode_stat_forc,\
4434                                                                mult_elas,fourier_elas,base_modale,mode_flamb)",
4435                                                                fr="options mecaniques lineaires",
4436           TYPE_OPTION =SIMP(statut='f',typ='TXM',defaut='TOUTES',fr="type d'options mecaniques lineaires",
4437                            into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT","DERIVEES",
4438                                  "INDI_ERRE","AUTRES","TOUTES"),
4439                            ),
4440           b_toutes=BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol elas",
4441                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="SIEF_ELNO_ELGA",
4442                               #  contraintes
4443                            into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
4444                                   "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART",
4445                                   "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","SIGM_ELNO_TUYO",
4446                               # déformations
4447                                  "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELGA_DEPL","EPSG_ELNO_DEPL",
4448                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",
4449                               #  ENER    
4450                                  "EPOT_ELEM_DEPL","ECIN_ELEM_DEPL","ENEL_ELGA","ENEL_ELNO_ELGA",
4451                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM",
4452                               #  estimateurs erreur 
4453                                  "SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2",
4454                                  "SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA",
4455                               #  CRIT    
4456                                  "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","CRIT_ELNO_RUPT",
4457                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4458                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
4459                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4460                               #  derivees    
4461                                  "DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI",
4462                               #  autres      
4463                                  "VNOR_ELEM_DEPL","VALE_NCOU_MAXI","PRES_DBEL_DEPL"),),
4464
4465                NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4466                                 fr="numero de couche dans l'épaisseur de la coque ou du tuyau" ),
4467                NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4468                                 fr="position dans l'épaisseur de la coque, ou de la couche" ),
4469                ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice"),
4470                NOM_CHAM  =SIMP(statut='f',typ='TXM',fr="nom du champ pour VALE_NCOU_MAXI", ),
4471                NOM_CMP   =SIMP(statut='f',typ='TXM',fr="nom de la composante pour VALE_NCOU_MAXI",  ),
4472                PLAN =     SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL"),
4473                                fr="Plan de calcul pour les plaques excentrées" ),
4474               
4475               
4476                EXCIT           =FACT(statut='f',max='**',
4477                                      fr="Charges contenant les températures, les efforts répartis pour les poutres...",
4478                                      regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4479                     CHARGE          =SIMP(statut='o',typ=char_meca ),
4480                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4481                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4482                     COEF_MULT       =SIMP(statut='f',typ='R'),
4483                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
4484                     PHAS_DEG        =SIMP(statut='f',typ='R'),
4485                     PUIS_PULS       =SIMP(statut='f',typ='I'),
4486                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4487                 
4488                                 
4489                             ),
4490 #             fin bloc b_toutes
4491
4492           b_sigm_massif =BLOC( condition = "TYPE_OPTION == 'SIGM_MASSIF'",
4493                                      fr="options de contraintes elasticite 2D et 3D",
4494               OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut='SIEF_ELNO_ELGA',
4495                             fr="option de calcul des contraintes",
4496                            into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",),),
4497                            
4498                     b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',) or \
4499                                       (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION ) or \
4500                                       (type(OPTION)==type(()) and  'SIEF_ELGA_DEPL' in OPTION ) ",
4501                                       fr="charge contenant les temperatures ou autre charge",
4502                          EXCIT           =FACT(statut='f',max='**',
4503                          CHARGE          =SIMP(statut='o',typ=char_meca ),),
4504                                     ),
4505                                   ),
4506                                   
4507           b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'",
4508                                       fr="options de contraintes elasticite poutres, coques, tuyaux",
4509                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut='SIEF_ELNO_ELGA',
4510                             fr="option de calcul des contraintes ou efforts generalises",
4511                             into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL","SIGM_ELNO_TUYO",
4512                                    "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART",
4513                                    "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF"),),
4514                            
4515                b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',\
4516                                                        'SIPO_ELNO_DEPL','EFGE_ELNO_DEPL',) or \
4517                                             (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION ) or \
4518                                             (type(OPTION)==type(()) and  'SIEF_ELGA_DEPL' in OPTION ) or \
4519                                             (type(OPTION)==type(()) and  'SIPO_ELNO_DEPL' in OPTION ) or \
4520                                             (type(OPTION)==type(()) and  'EFGE_ELNO_DEPL' in OPTION ) ",
4521                                             fr="charge contenant les temperatures ou les efforts répartis (poutres) ou autre",
4522                     EXCIT           =FACT(statut='f',max='**',
4523                                           regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4524                          CHARGE          =SIMP(statut='f',typ=char_meca ),
4525                          FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4526                          FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4527                          COEF_MULT       =SIMP(statut='f',typ='R'),
4528                          COEF_MULT_C     =SIMP(statut='f',typ='C'),
4529                          PHAS_DEG        =SIMP(statut='f',typ='R'),
4530                          PUIS_PULS       =SIMP(statut='f',typ='I'),
4531                          TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4532                              ),
4533                           
4534                b_niv_couche = BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL',) or \
4535                                                  (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION) ",
4536                                                  
4537                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4538                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4539                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4540                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4541                               ),     
4542                                  
4543                b_sigtuyo = BLOC( condition = "OPTION == 'SIGM_ELNO_TUYO' or \
4544                                   (type(OPTION)==type(()) and  'SIGM_ELNO_TUYO' in OPTION) ",
4545                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1 ,
4546                                            fr="numero de couche dans l'épaisseur du tuyau" ),
4547                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice" ),
4548                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4549                                            fr="position dans l'épaisseur de la couche" ),
4550                                ),
4551                b_plan_excentrement    =BLOC( condition = "OPTION=='EFGE_ELNO_DEPL' or \
4552                                             (type(OPTION)==type(()) and 'EFGE_ELNO_DEPL' in OPTION)",
4553                                              fr="Plan de calcul des efforts pour les plaques avec excentrement",
4554                          PLAN =     SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL"),
4555                                          fr="Plan de calcul des efforts pour les plaques avec excentrement",),
4556                          
4557                             ),
4558                             ),
4559 #          fin bloc contraintes struct
4560
4561           b_epsi         =BLOC( condition = "TYPE_OPTION=='EPSI'",
4562                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4563                            into=("EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPME_ELNO_DEPL","EPME_ELGA_DEPL",
4564                                  "DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",),
4565                                  ),
4566                b_niv_couche = BLOC( condition = "OPTION =='EPSI_ELNO_DEPL' or \
4567                                   (type(OPTION)==type(()) and  'EPSI_ELNO_DEPL' in OPTION) ",
4568                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4569                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4570                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4571                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4572                                  ) ,
4573                b_epstuyo = BLOC( condition = "OPTION == 'EPSI_ELNO_TUYO' or \
4574                                   (type(OPTION)==type(()) and  'EPSI_ELNO_TUYO' in OPTION) ",
4575                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1 ,
4576                                            fr="numero de couche dans l'épaisseur du tuyau" ),
4577                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice" ),
4578                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4579                                            fr="position dans l'épaisseur de la couche" ),
4580                                ),
4581 b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ELGA_DEPL','EPSI_ELNO_DEPL','EPSI_ELNO_TUYO' ) or \
4582                                       (type(OPTION)==type(()) and  'EPSI_ELNO_DEPL' in OPTION ) or \
4583                                       (type(OPTION)==type(()) and  'EPSI_ELNO_TUYO' in OPTION ) or \
4584                                       (type(OPTION)==type(()) and  'EPSI_ELGA_DEPL' in OPTION ) or \
4585                                       (type(OPTION)==type(()) and  'EPME_ELNO_DEPL' in OPTION ) or \
4586                                       (type(OPTION)==type(()) and  'EPME_ELGA_DEPL' in OPTION ) ",
4587                                       fr="charge contenant les temperatures",
4588                     EXCIT           =FACT(statut='f',max='**',
4589                          CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4590                                  ),
4591                                        ),
4592           b_ener         =BLOC( condition = "TYPE_OPTION=='ENER'",
4593                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4594                            into=("EPOT_ELEM_DEPL","ECIN_ELEM_DEPL","ENEL_ELGA","ENEL_ELNO_ELGA",
4595                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM",),
4596                                  ),
4597                b_charge =BLOC( condition = "OPTION in ('EPOT_ELEM_DEPL','ECIN_ELEM_DEPL','ENEL_ELGA','ENEL_ELNO_ELGA',) or \
4598                                       (type(OPTION)==type(()) and  'EPOT_ELEM_DEPL' in OPTION ) or \
4599                                       (type(OPTION)==type(()) and  'ENEL_ELGA' in OPTION ) or \
4600                                       (type(OPTION)==type(()) and  'ENEL_ELNO_ELGA' in OPTION ) or \
4601                                       (type(OPTION)==type(()) and  'ECIN_ELEM_DEPL' in OPTION ) ",
4602                                       fr="charge contenant les temperatures",
4603                     EXCIT           =FACT(statut='f',max='**',
4604                          CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),),
4605                               ),
4606                                  ),
4607                                  
4608           b_crit         =BLOC( condition = "TYPE_OPTION=='CRIT'",
4609                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4610                            into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
4611                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4612                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
4613                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","CRIT_ELNO_RUPT","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4614                                  ) ),
4615                b_niv_couche = BLOC( condition = "OPTION in ('CRIT_ELNO_RUPT','EQUI_ELNO_SIGM') or \
4616                                   (type(OPTION)==type(()) and  'EQUI_ELNO_SIGM' in OPTION) or \
4617                                   (type(OPTION)==type(()) and  'SIEQ_ELNO_TUYO' in OPTION) or \
4618                                   (type(OPTION)==type(()) and  'CRIT_ELNO_RUPT' in OPTION) ",
4619                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4620                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4621                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4622                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4623                                   ),        
4624                 EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4625                      CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4626                                  ),
4627                                  
4628           b_derivees         =BLOC( condition = "TYPE_OPTION=='DERIVEES'",
4629                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4630                            into=("DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI",
4631                                  ) ),),
4632
4633           b_autres         =BLOC( condition = "TYPE_OPTION=='AUTRES'",
4634                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4635                            into=("VALE_NCOU_MAXI","PRES_DBEL_DEPL","VNOR_ELEM_DEPL",
4636                                  ) ),
4637                b_maxi    =BLOC( condition = "OPTION=='VALE_NCOU_MAXI' or \
4638                                 (type(OPTION)==type(()) and 'VALE_NCOU_MAXI' in OPTION)",
4639                     NOM_CHAM  =SIMP(statut='o',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI" ),
4640                     NOM_CMP   =SIMP(statut='o',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),),
4641                                  ),
4642
4643           b_indi_erre         =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'",
4644                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELGA_NORE",
4645                            into=("SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2",
4646                                  "SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA",
4647                                  ) ),
4648                 EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4649                      CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4650                                  ),
4651                                  ),
4652 #    fin bloc lineaire                                
4653                             
4654                                  
4655 #    statique ou dynamique non lineaire : evol_noli                                
4656      b_noli          =BLOC( condition = "AsType(RESULTAT) == evol_noli",fr="options evol noli",
4657           TYPE_OPTION =SIMP(statut='f',typ='TXM',defaut='TOUTES',
4658                            into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT",
4659                                  "VARI","INDI_ERRE","TOUTES","AUTRES"),
4660                           ),
4661           b_toutes =BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol elas",
4662                OPTION      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4663                            into=( "SIEF_ELNO_ELGA",
4664                                   "SIGM_ELNO_TUYO","SIGM_ELNO_COQU",
4665                                   "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","EFGE_ELNO_CART",
4666                                   # EPSI
4667                                   "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL",
4668                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL",
4669                                  "DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",
4670                                  "EPSP_ELNO","EPSP_ELGA",
4671                                  "EPGR_ELNO","EPGR_ELGA",
4672                                  "VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU","CRIT_ELNO_RUPT",
4673                                  # CRIT
4674                                  "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4675                                  "ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2",
4676                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4677                                  "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM",
4678                                  "ENDO_ELGA","ENDO_ELNO_ELGA","INDI_LOCA_ELGA",
4679                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO",
4680                                  "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF","ENEL_ELGA","ENEL_ELNO_ELGA",
4681                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","VALE_NCOU_MAXI"),
4682                                ),
4683                NORME =SIMP(statut='f',typ='TXM',defaut="VMIS",
4684                                  into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE"),
4685                                  fr="Type de norme pour les options RADI_ et DCHA_"),
4686                                  
4687                NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,fr="numéro de couche pour coques et tuyaux" ),
4688                NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4689                                  fr="choix du point d'intégration dans la couche" ),
4690                ANGLE       =SIMP(statut='f',typ='I',defaut= 0 ,fr="angle de dépouillement pour les tuyaux"),
4691                NOM_CHAM  =SIMP(statut='f',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI"),
4692                NOM_CMP   =SIMP(statut='f',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),
4693                PLAN =     SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL") ),
4694               
4695                EXCIT           =FACT(statut='f',max='**',
4696                                       regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4697                     CHARGE          =SIMP(statut='o',typ=char_meca ),
4698                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4699                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4700                     COEF_MULT       =SIMP(statut='f',typ='R'),
4701                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
4702                     PHAS_DEG        =SIMP(statut='f',typ='R'),
4703                     PUIS_PULS       =SIMP(statut='f',typ='I'),
4704                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4705                          ),
4706                          
4707           b_sigm_massif =BLOC( condition = "TYPE_OPTION == 'SIGM_MASSIF'",
4708                                       fr="options de contraintes non lin 2D et 3D",
4709                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4710                               #  contraintes
4711                            into=( "SIEF_ELNO_ELGA",),),
4712                             ),
4713                             
4714           b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'",
4715                                        fr="options de contraintes non lin poutres, coques",
4716                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4717                               #  contraintes
4718                            into=( "SIEF_ELNO_ELGA","EFGE_ELNO_CART","SIGM_ELNO_TUYO","SIGM_ELNO_COQU",
4719                            "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF",),),
4720                b_sigcoqu = BLOC( condition = "OPTION in ('SIGM_ELNO_COQU',) or \
4721                                   (type(OPTION)==type(()) and  'SIGM_ELNO_COQU' in OPTION) ",
4722                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4723                          fr="numéro de couche dans l'épaisseur de la coque"  ),
4724                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4725                          fr="choix du point d'intégration dans la couche"  ),
4726                               ),        
4727                b_sigtuyo = BLOC( condition = "OPTION in ('SIGM_ELNO_TUYO',) or \
4728                                   (type(OPTION)==type(()) and  'SIGM_ELNO_TUYO' in OPTION)",
4729                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4730                          fr="numéro de couche dans l'épaisseur du tuyau" ),
4731                     ANGLE       =SIMP(statut='f',typ='I',defaut= 0,
4732                          fr="angle de dépouillement pour les tuyaux, en degres" ),
4733                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4734                          fr="choix du point d'intégration dans la couche"),
4735                                ),
4736                              ),
4737                              
4738           b_epsi         =BLOC( condition = "TYPE_OPTION=='EPSI'",
4739                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4740                            into=( "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL",
4741                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL",
4742                                  "EPSP_ELNO","EPSP_ELGA","EPGR_ELNO","EPGR_ELGA",
4743                                  "DEGE_ELNO_DEPL",),
4744                                  ),
4745                b_niv_couche = BLOC( condition = "OPTION =='EPSI_ELNO_DEPL' or \
4746                                   (type(OPTION)==type(()) and  'EPSI_ELNO_DEPL' in OPTION) ",
4747                     NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4748                                            fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ),
4749                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4750                                            fr="position dans l'épaisseur de la coque, ou de la couche" ),
4751                                  ) ,
4752                EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4753                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4754                                  ),
4755                b_epstuyo = BLOC( condition = "OPTION == 'EPSI_ELNO_TUYO' or \
4756                                   (type(OPTION)==type(()) and  'EPSI_ELNO_TUYO' in OPTION) ",
4757                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1 ,
4758                                            fr="numero de couche dans l'épaisseur du tuyau" ),
4759                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice" ),
4760                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4761                                            fr="position dans l'épaisseur de la couche" ),
4762               EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4763                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4764                                ),
4765                                  
4766           b_vari         =BLOC( condition = "TYPE_OPTION=='VARI'",
4767                                        fr="Calcul et extraction des variables internes",
4768                    OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4769                                    into=("VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU",),
4770                                  ),
4771                b_varcoqu = BLOC( condition = "OPTION in ('VARI_ELNO_COQU',) or \
4772                                   (type(OPTION)==type(()) and  'VARI_ELNO_COQU' in OPTION) ",
4773                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4774                          fr="numéro de couche dans l'épaisseur de la coque"),
4775                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4776                          fr="choix du point d'intégration dans la couche" ),
4777                               ),        
4778                b_vartuyo = BLOC( condition = "OPTION in ('VARI_ELNO_TUYO',) or \
4779                                   (type(OPTION)==type(()) and  'VARI_ELNO_TUYO' in OPTION) ",
4780                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,
4781                          fr="numéro de couche dans l'épaisseur de tuyau" ),
4782                          ANGLE       =SIMP(statut='f',typ='I',defaut= 0,
4783                          fr="angle de dépouillement pour les tuyaux, en degres"),
4784                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4785                          fr="choix du point d'intégration dans la couche" ),
4786                                ),
4787                                  ),
4788                                  
4789           b_ener         =BLOC( condition = "TYPE_OPTION=='ENER'",
4790                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4791                            into=("ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","ENEL_ELGA","ENEL_ELNO_ELGA",),
4792                                  ),
4793                EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
4794                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
4795                                  ),
4796                                  
4797           b_crit         =BLOC( condition = "TYPE_OPTION=='CRIT'",
4798                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4799                            into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
4800                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4801                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","CRIT_ELNO_RUPT",
4802                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
4803                                  "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4804                                  ) ),
4805                          NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,fr="numéro de couche dans l'épaisseur de la coque"),
4806                          NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4807                          fr="choix du point d'intégration dans la couche" ),
4808                                  ),
4809                                  
4810           b_autres         =BLOC( condition = "TYPE_OPTION=='AUTRES'",
4811                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4812                            into=("VALE_NCOU_MAXI",) ),
4813                b_maxi    =BLOC( condition = "OPTION=='VALE_NCOU_MAXI' or \
4814                                 (type(OPTION)==type(()) and 'VALE_NCOU_MAXI' in OPTION)",
4815                     NOM_CHAM  =SIMP(statut='o',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI" ),
4816                     NOM_CMP   =SIMP(statut='o',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),),
4817                                  ),
4818
4819
4820           b_indi_erre         =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'",
4821                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELGA_NORE",
4822                            into=("ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2",
4823                                  "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM",
4824                                  ) ),
4825                b_indic = BLOC( condition ="OPTION in ('DCHA_ELNO_SIGM','DCHA_ELGA_SIGM','RADI_ELNO_SIGM','RADI_ELGA_SIGM') or\
4826                                             (type(OPTION)==type(()) and 'DCHA_ELNO_SIGM' in OPTION) or\
4827                                             (type(OPTION)==type(()) and 'DCHA_ELGA_SIGM' in OPTION) or\
4828                                             (type(OPTION)==type(()) and 'RADI_ELNO_SIGM' in OPTION) or\
4829                                             (type(OPTION)==type(()) and 'RADI_ELGA_SIGM' in OPTION) ",
4830                     NORME =SIMP(statut='f',typ='TXM',defaut="VMIS",
4831                                  into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE") ),
4832                                  ),
4833                                  ),
4834                                  ),
4835 #          fin bloc evol_noli
4836
4837 #           thermique : evol_ther                                
4838      b_ther          =BLOC( condition = "AsType(RESULTAT) == evol_ther",fr="options thermiques",
4839           OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4840                            into=("DEUL_ELGA_TEMP","DETE_ELNO_DLTE","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP",
4841                                   "HYDR_ELNO_ELGA","DURT_ELGA_META","DURT_ELNO_META",
4842                                  "SOUR_ELGA_ELEC","ERTH_ELEM_TEMP","ERTH_ELNO_ELEM",),),
4843                EXCIT           =FACT(statut='f',max='**',
4844                     regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4845                     CHARGE          =SIMP(statut='o',typ=char_ther ),
4846                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4847                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4848                     COEF_MULT       =SIMP(statut='f',typ='R'),
4849                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
4850                     PHAS_DEG        =SIMP(statut='f',typ='R'),
4851                     PUIS_PULS       =SIMP(statut='f',typ='I'),
4852                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),
4853                                      ),
4854                     NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4855                                       fr="choix du point de calcul dans l'épaisseur des coques"  ),
4856                                  
4857                                  ),
4858                                  
4859 #    acoustique                                
4860      b_acou          =BLOC( condition = "AsType(RESULTAT) in (acou_harmo,mode_acou,)",fr="options acoustiques",
4861           OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
4862                            into=("PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG",
4863                                  "INTE_ELNO_ACTI","INTE_ELNO_REAC",
4864                                  ),),
4865           EXCIT           =FACT(statut='f',max='**',
4866                 regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
4867                 CHARGE          =SIMP(statut='o',typ=char_acou ),
4868                 FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4869                 FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
4870                 COEF_MULT       =SIMP(statut='f',typ='R'),
4871                 COEF_MULT_C     =SIMP(statut='f',typ='C'),
4872                 PHAS_DEG        =SIMP(statut='f',typ='R'),
4873                 PUIS_PULS       =SIMP(statut='f',typ='I'),
4874                 TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
4875                                  ),
4876                                  
4877      SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
4878                            fr="Liste des paramètres de sensibilité.",
4879                            ang="List of sensitivity parameters"),
4880      INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
4881      TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4882 ) ;
4883 #& MODIF COMMANDE  DATE 10/01/2005   AUTEUR F1BHHAJ J.ANGLES 
4884 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4885 # ======================================================================
4886 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4887 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4888 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4889 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4890 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4891 #
4892 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4893 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4894 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4895 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4896 #
4897 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4898 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4899 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4900 # ======================================================================
4901 def calc_fatigue_prod(TYPE_CALCUL,OPTION,**args):
4902   if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem_dommag
4903   if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem_facy_r
4904   if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_NOEUD": return cham_no_facy_r
4905   raise AsException("type de calcul non prevu")
4906
4907 CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant='n',
4908                   fr="Calcul d un cham de dommage ou d un cisaillement maximal dans le plan critique.",
4909             UIinfo={"groupes":("Post traitements",)},
4910
4911          TYPE_CALCUL = SIMP(statut='o',typ='TXM',
4912                                into=("CUMUL_DOMMAGE","FATIGUE_MULTI",) ),
4913
4914          b_cumul_domma   =BLOC(condition = "TYPE_CALCUL == 'CUMUL_DOMMAGE'",
4915                                fr="Calcul d un champ de dommage subi par une structure.",
4916            regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),),
4917            OPTION          =SIMP(statut='o',typ='TXM',
4918                                  into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM",
4919                                        "DOMA_ELNO_EPSI","DOMA_ELGA_EPSI",
4920                                        "DOMA_ELNO_EPME","DOMA_ELGA_EPME") ),
4921            HISTOIRE        =FACT(statut='o',
4922              RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,
4923                                                    evol_noli) ),
4924              EQUI_GD         =SIMP(statut='f',typ='TXM',defaut="VMIS_SG",
4925                                  into=("VMIS_SG","INVA_2_SG") ),
4926            ),
4927            DOMMAGE         =SIMP(statut='o',typ='TXM',
4928                                into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON",
4929                                      "TAHERI_MIXTE",) ),
4930            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
4931            TAHERI_NAPPE    =SIMP(statut='f',typ=(nappe_sdaster,formule) ),
4932            TAHERI_FONC     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4933          ),
4934
4935          b_fatigue_multi   =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_MULTI'",
4936                                  fr="Plan critique dans le cas de la fatigue multiaxiale à grand nombre de cycles.",
4937            TYPE_CHARGE   =SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE") ),
4938            OPTION        =SIMP(statut='o',typ='TXM',into=("DOMA_ELGA","DOMA_NOEUD") ),
4939            RESULTAT      =SIMP(statut='o',typ=(evol_elas, evol_noli) ),
4940            CHAM_MATER    =SIMP(statut='o',typ=(cham_mater) ),
4941            GROUP_MA      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ),
4942            MAILLE        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**' ),
4943            GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**' ),
4944            NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**' ),
4945            COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0),
4946            b_period       =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'",
4947                CRITERE       =SIMP(statut='o',typ='TXM',into=("MATAKE","DANG_VAN_MODI_AC") ),
4948                METHODE       =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ),
4949            ),
4950            b_non_period   =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'",
4951                CRITERE       =SIMP(statut='o',typ='TXM',into=("DOMM_MAXI","DANG_VAN_MODI_AV") ),
4952                PROJECTION    =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ),
4953                DELTA_OSCI    = SIMP(statut='f',typ='R',defaut= 0.0E+0),  
4954            ),
4955            b_fati_grmano  =BLOC(condition = "(GROUP_MA != None or MAILLE != None or GROUP_NO != None or NOEUD != None)",
4956                MAILLAGE      =SIMP(statut='o',typ=maillage_sdaster ),
4957            ),
4958          ),
4959
4960          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
4961 )  ;
4962 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
4963 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4964 # ======================================================================
4965 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4966 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4967 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4968 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4969 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4970 #
4971 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4972 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4973 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4974 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4975 #
4976 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4977 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4978 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4979 # ======================================================================
4980 CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster,
4981                     reentrant='n',
4982             UIinfo={"groupes":("Matrices/vecteurs",)},
4983          VITE_FLUI       =FACT(statut='o',
4984                                fr="Définir la plage de vitesse fluide étudiée",
4985            VITE_MIN        =SIMP(statut='o',typ='R' ),
4986            VITE_MAX        =SIMP(statut='o',typ='R' ),
4987            NB_POIN         =SIMP(statut='o',typ='I' ),
4988          ),
4989          BASE_MODALE     =FACT(statut='o',
4990                                
4991            regles=(UN_PARMI('AMOR_REDUIT','AMOR_UNIF'),),
4992            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
4993            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
4994            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
4995            AMOR_UNIF       =SIMP(statut='f',typ='R' ),
4996          ),
4997          TYPE_FLUI_STRU  =SIMP(statut='o',typ=type_flui_stru ),
4998          IMPRESSION      =FACT(statut='f',
4999                                fr="Choix des informations à imprimer dans le fichier RESULTAT",
5000            PARA_COUPLAGE   =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5001            DEFORMEE        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5002          ),
5003 )  ;
5004 #& MODIF COMMANDE  DATE 23/05/2006   AUTEUR CIBHHPD L.SALMONA 
5005 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5006 # ======================================================================
5007 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5008 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5009 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5010 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5011 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5012 #
5013 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5014 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5015 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5016 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5017 #
5018 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5019 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5020 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5021 # ======================================================================
5022 def calc_fonc_interp_prod(FONCTION, NOM_PARA_FONC, **args):
5023   if   AsType(FONCTION)  ==nappe_sdaster  : return nappe_sdaster
5024   elif AsType(FONCTION)==fonction_sdaster : return fonction_sdaster
5025   elif AsType(FONCTION)==fonction_c       : return fonction_c
5026   elif AsType(FONCTION)==formule          : 
5027       if NOM_PARA_FONC != None:
5028          return nappe_sdaster
5029       return fonction_sdaster
5030   elif AsType(FONCTION)==para_sensi       : return para_sensi
5031   raise AsException("type de concept resultat non prevu")
5032
5033 CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod,
5034                       docu="U4.32.01-e",reentrant='n',
5035            UIinfo={"groupes":("Fonction",)},
5036          regles=(UN_PARMI('VALE_PARA','LIST_PARA'),),
5037          FONCTION        =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ),
5038          VALE_PARA       =SIMP(statut='f',typ='R',max='**'),
5039          LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
5040          NOM_RESU        =SIMP(statut='f',typ='TXM'),
5041          NOM_PARA        =SIMP(statut='f',typ='TXM'),
5042          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
5043          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5044          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5045          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM'),
5046          b_eval_nappe    =BLOC(condition = "NOM_PARA_FONC != None",             
5047             regles=(UN_PARMI('VALE_PARA_FONC','LIST_PARA_FONC'),),
5048             VALE_PARA_FONC  =SIMP(statut='f',typ='R',max='**'),
5049             LIST_PARA_FONC  =SIMP(statut='f',typ=listr8_sdaster ),
5050             INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG")),
5051             PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5052             PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5053          ),
5054          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5055          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5056 )  ;
5057 #& MODIF COMMANDE  DATE 10/10/2005   AUTEUR MCOURTOI M.COURTOIS 
5058 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5059 # ======================================================================
5060 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5061 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5062 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5063 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5064 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5065 #
5066 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5067 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5068 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5069 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5070 #
5071 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5072 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5073 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5074 # ======================================================================
5075 # RESPONSABLE MCOURTOI M.COURTOIS
5076 def calc_fonction_prod(DERIVE,EXTRACTION,INTEGRE,ECART_TYPE,INVERSE,RMS,NOCI_SEISME,MAX,COMB,COMB_C,ENVELOPPE,
5077                        SPEC_OSCI,ASSE,FFT,COMPOSE,CORR_ACCE,PUISSANCE,LISS_ENVELOP,NORME,ABS, **args):
5078    if (RMS         != None): return table_sdaster
5079    if (MAX         != None): return table_sdaster
5080    if (NOCI_SEISME != None): return table_sdaster
5081    if (ECART_TYPE  != None): return table_sdaster
5082    if (INTEGRE     != None): return fonction_sdaster
5083    if (DERIVE      != None): return fonction_sdaster
5084    if (INVERSE     != None): return fonction_sdaster
5085    if (COMB        != None): return AsType(COMB[0]['FONCTION'])
5086    if (COMB_C      != None):
5087       vale=COMB_C[0]['FONCTION']
5088       if(AsType(vale) == nappe_sdaster):
5089          return nappe_sdaster
5090       else:
5091          return fonction_c
5092    if (ENVELOPPE   != None): return AsType(ENVELOPPE[0]['FONCTION'])
5093    if (EXTRACTION  != None): return fonction_sdaster
5094    if (SPEC_OSCI   != None): return nappe_sdaster
5095    if (COMPOSE     != None): return fonction_sdaster
5096    if (ASSE        != None): return fonction_sdaster
5097    if (FFT         != None):
5098       vale=FFT[0]['FONCTION']
5099       if (AsType(vale) == fonction_sdaster )  : return fonction_c
5100       if (AsType(vale) == fonction_c) : return fonction_sdaster
5101    if (CORR_ACCE   != None): return fonction_sdaster
5102    if (LISS_ENVELOP!= None): return AsType(LISS_ENVELOP[0]['FONCTION'])
5103    if (PUISSANCE   != None): return AsType(PUISSANCE[0]['FONCTION'])
5104    if (ABS         != None): return fonction_sdaster
5105    if (NORME       != None): return table_sdaster
5106    raise AsException("type de concept resultat non prevu")
5107
5108 CALC_FONCTION=OPER(nom="CALC_FONCTION",op=  91,sd_prod=calc_fonction_prod
5109                     ,fr="Opérations mathématiques sur des concepts de type fonction, fonction_c ou nappe",
5110                      reentrant='n',
5111             UIinfo={"groupes":("Fonction",)},
5112          regles=(UN_PARMI('DERIVE','INTEGRE','SPEC_OSCI','MAX','COMB','COMB_C','ENVELOPPE','RMS',
5113                           'NOCI_SEISME','COMPOSE','EXTRACTION','ASSE','FFT','CORR_ACCE', 'PUISSANCE',
5114                           'NORME','LISS_ENVELOP','ECART_TYPE','INVERSE','ABS'),),
5115          FFT             =FACT(statut='f',fr="Calcul de la transformee de Fourier ou de son inverse",
5116            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c) ),
5117            METHODE         =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE") ),
5118          ),
5119          DERIVE          =FACT(statut='f',fr="Calcul de la dérivée d une fonction",
5120            METHODE         =SIMP(statut='f',typ='TXM',defaut="DIFF_CENTREE",into=("DIFF_CENTREE",) ),
5121            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5122          ),
5123          INTEGRE         =FACT(statut='f',fr="Calcul de l intégrale d une fonction",
5124            METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
5125            FONCTION        =SIMP(statut='o',typ=fonction_sdaster),
5126            COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ),
5127          ),
5128          RMS             =FACT(statut='f',fr="Calcul de la valeur RMS d une fonction",max='**',
5129            METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
5130            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5131            INST_INIT       =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
5132            INST_FIN        =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
5133            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5134            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
5135          ),
5136          NOCI_SEISME     =FACT(statut='f',
5137            FONCTION        =SIMP(statut='f',typ=fonction_sdaster ),
5138            SPEC_OSCI       =SIMP(statut='f',typ=nappe_sdaster ),
5139            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(),max='**',
5140                                  into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU",
5141                                        "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",) ),
5142            INST_INIT       =SIMP(statut='f',typ='R'),
5143            INST_FIN        =SIMP(statut='f',typ='R'),
5144            NATURE          =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE") ),
5145            COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5146            PESANTEUR       =SIMP(statut='f',typ='R',defaut= 9.81E+0 ),
5147            FREQ_INIT       =SIMP(statut='f',typ='R',defaut= 4.E-1 ),
5148            FREQ_FIN        =SIMP(statut='f',typ='R',defaut= 10.E+0 ),
5149            AMOR_REDUIT     =SIMP(statut='f',typ='R'),
5150            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
5151            FREQ            =SIMP(statut='f',typ='R',max='**'),
5152            NORME           =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
5153            BORNE_INF       =SIMP(statut='f',typ='R',defaut= 0.05E+0 ),
5154            BORNE_SUP       =SIMP(statut='f',typ='R',defaut= 0.95E+0 ),
5155            b_acce_reel     =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)",
5156              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
5157              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5158            ),
5159          ),
5160          LISS_ENVELOP    = FACT(statut='f',fr="Lissage d une enveloppe",
5161            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ),
5162            AMOR            =SIMP(statut='f',typ='R',max='**'),
5163            FREQ_MIN        =SIMP(statut='f',typ='R'),
5164            FREQ_MAX        =SIMP(statut='f',typ='R'),
5165            FREQ_CREUX      =SIMP(statut='f',typ='R',max='**'),
5166            ELARG           =SIMP(statut='f',typ='TXM',defaut="GLOBAL",into=("GLOBAL","LOCAL") ),
5167               b_elarg_glob = BLOC ( condition = " (ELARG=='GLOBAL') ",
5168                    GAUCHE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5169                    DROITE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5170                 ),
5171               b_elarg_loc = BLOC ( condition = " (ELARG=='LOCAL') ",
5172                    FREQ_1       =SIMP(statut='o',typ='R'),  
5173                    FREQ_2       =SIMP(statut='o',typ='R' ),  
5174                    GAUCHE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5175                    DROITE       =SIMP(statut='f',typ='R',defaut =10.0E0 ),  
5176                 ),
5177            TOLE_LISS      =SIMP(statut='f',typ='R',defaut=25.0E0),
5178            ECH_FREQ_REF = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5179                b_oui    =BLOC ( condition = "(ECH_FREQ_REF=='OUI') ",
5180                     regles=(UN_PARMI("LIST_FREQ", "AMOR_ECH"),),
5181                        LIST_FREQ   =SIMP(statut='f',typ=listr8_sdaster ),
5182                        AMOR_ECH    =SIMP(statut='f',typ='R',max='**'),
5183                               ),
5184          ),
5185          SPEC_OSCI       =FACT(statut='f',fr="Calcul du spectre d oscillateur",
5186            METHODE         =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM",) ),
5187            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5188            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
5189            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
5190            FREQ            =SIMP(statut='f',typ='R',max='**'),
5191            NORME           =SIMP(statut='o',typ='R',defaut= 9.81E+0,fr="Valeur de la norme du spectre d oscillateur" ),
5192            NATURE          =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
5193            NATURE_FONC     =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
5194          ),
5195          MAX             =FACT(statut='f',fr="Calcul des extrémas locaux d une fonction",
5196            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ),
5197          ),
5198          ABS             =FACT(statut='f',fr="Calcul de la valeur absolue d une fonction",
5199            FONCTION        =SIMP(statut='o',typ=fonction_sdaster,),
5200          ),
5201          COMB            =FACT(statut='f',max='**',fr="Calcul d une combinaison linéaire réelle de fonctions",
5202            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ),
5203            COEF            =SIMP(statut='o',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
5204          ),
5205          COMB_C          =FACT(statut='f',max='**',fr="Calcul d une combinaison linéaire complexe de fonctions",
5206            regles=(UN_PARMI('COEF_R','COEF_C'),),
5207            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ),
5208            COEF_R          =SIMP(statut='f',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
5209            COEF_C          =SIMP(statut='f',typ='C',fr="Coefficient complexe de la combinaison linéaire associée à la fonction" ),
5210          ),
5211          b_comb          =BLOC ( condition = " (COMB != None) or (COMB_C != None)",
5212              LIST_PARA      =SIMP(statut='f',typ=listr8_sdaster ),  
5213          ),
5214          COMPOSE         =FACT(statut='f',fr="Calcul de la composition de deux fonctions FONC_RESU(FONC_PARA)",
5215            FONC_RESU       =SIMP(statut='o',typ=fonction_sdaster),
5216            FONC_PARA       =SIMP(statut='o',typ=fonction_sdaster),
5217          ),
5218          EXTRACTION      =FACT(statut='f',fr="Opération d extraction sur une fonction complexe",
5219            FONCTION        =SIMP(statut='o',typ=fonction_c),
5220            PARTIE          =SIMP(statut='o',typ='TXM',into=("REEL","IMAG","MODULE","PHASE"),fr="Partie à extraire"),
5221          ),
5222          ENVELOPPE       =FACT(statut='f',fr="Calcul de l enveloppe d une famille de fonctions",
5223            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
5224            CRITERE         =SIMP(statut='f',typ='TXM',defaut="SUP",into=("SUP","INF"),fr="Type de l enveloppe" ),
5225          ),
5226          ASSE            =FACT(statut='f',fr="Création à partir de la concatenation de fonctions",
5227            FONCTION        =SIMP(statut='o',typ=fonction_sdaster,max='**' ),
5228            SURCHARGE       =SIMP(statut='f',typ='TXM',defaut="DROITE",into=("DROITE","GAUCHE")),
5229          ),
5230          CORR_ACCE     =FACT(statut='f',fr="Correction d un accelerogramme reel",
5231             CORR_DEPL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
5232             FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5233          ),
5234          PUISSANCE       =FACT(statut='f',fr="Cacul du carré d'une fonction",
5235             FONCTION      =SIMP(statut='o', typ=(fonction_sdaster,nappe_sdaster) ),
5236             EXPOSANT      =SIMP(statut='f', typ='I', defaut=1 ),
5237          ),
5238          NORME           =FACT(statut='f',fr="Cacul de la norme L2 d'une fonction",
5239             FONCTION      =SIMP(statut='o', typ=nappe_sdaster),
5240          ),     
5241          INVERSE         =FACT(statut='f',fr="Cacul de l inverse d une fonction",
5242             FONCTION      =SIMP(statut='o', typ=fonction_sdaster),
5243          ),     
5244          ECART_TYPE      =FACT(statut='f',fr="Cacul de l ecart-type d une fonction",
5245             METHODE       =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
5246             FONCTION      =SIMP(statut='o',typ=fonction_sdaster),
5247             INST_INIT     =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
5248             INST_FIN      =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
5249             CRITERE       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5250             PRECISION     =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
5251          ),     
5252          NOM_PARA        =SIMP(statut='f',typ='TXM',),
5253          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
5254          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
5255          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5256          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5257          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',),
5258          INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
5259          PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5260          PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5261          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5262          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5263 )  ;
5264 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
5265 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5266 # ======================================================================
5267 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5268 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5269 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5270 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5271 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5272 #
5273 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5274 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5275 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5276 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5277 #
5278 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5279 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5280 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5281 # ======================================================================
5282 CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
5283                    fr="calcul de la force ajoutee ",
5284                    reentrant ='n',
5285             UIinfo={"groupes":("Matrices/vecteurs",)},
5286
5287         regles=(EXCLUS('MODE_MECA','MODELE_GENE'),
5288                 PRESENT_PRESENT( 'MODELE_GENE','NUME_DDL_GENE'),
5289                 UN_PARMI('MONO_APPUI', 'NOEUD','GROUP_NO'),
5290                 UN_PARMI('MONO_APPUI','MODE_STAT')),
5291
5292          MODELE_FLUIDE   =SIMP(statut='o',typ=modele_sdaster ),
5293          MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ),
5294          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
5295          CHARGE          =SIMP(statut='o',typ=char_ther ),
5296          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
5297          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
5298          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene ),
5299          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
5300          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5301          NUME_MODE_MECA  =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5302          POTENTIEL       =SIMP(statut='f',typ=evol_ther ),
5303          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5304
5305          DIRECTION       =SIMP(statut='o',typ='R',max=3),
5306          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",),),
5307          NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
5308          GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5309          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),),
5310
5311          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5312
5313          SOLVEUR         =FACT(statut='d',
5314            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
5315            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
5316              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
5317            ),
5318            b_ldlt          =BLOC( condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
5319              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
5320            ),
5321            b_ldlt_mult     =BLOC( condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
5322                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
5323              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
5324              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5325            ),
5326            b_gcpc          =BLOC (condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
5327              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
5328              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
5329              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
5330              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
5331              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
5332            ),
5333                            ),
5334
5335            ) ;
5336 #& MODIF COMMANDE  DATE 11/10/2004   AUTEUR LEBOUVIE F.LEBOUVIER 
5337 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5338 # ======================================================================
5339 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5340 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5341 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5342 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5343 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5344 #
5345 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5346 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5347 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5348 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5349 #
5350 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5351 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5352 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5353 # ======================================================================
5354 CALC_G_LOCAL_T=OPER(nom="CALC_G_LOCAL_T",op=77,sd_prod=tabl_calc_g_loca,
5355                     fr="Calcul du taux de restitution local d énergie",reentrant='n',
5356             UIinfo={"groupes":("Post traitements",)},
5357          MODELE          =SIMP(statut='f',typ=modele_sdaster),
5358          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
5359          regles=(UN_PARMI('RESULTAT','DEPL'),
5360                  PRESENT_PRESENT('VITE','ACCE'),
5361                  UN_PARMI('R_INF','R_INF_FO'),
5362                  PRESENT_PRESENT('R_INF','R_SUP'),
5363                  PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ),
5364          FOND_FISS       =SIMP(statut='f',typ=fond_fiss),               
5365          DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5366          VITE            =SIMP(statut='f',typ=cham_no_depl_r),
5367          ACCE            =SIMP(statut='f',typ=cham_no_depl_r),
5368          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans),),
5369          b_extrac        =BLOC(condition="RESULTAT != None",fr="extraction d un champ",
5370              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
5371              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5372              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5373              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
5374              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5375              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
5376              
5377              b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
5378                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
5379                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5380              ),
5381          ),
5382          EXCIT           =FACT(statut='f',max='**',
5383                CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
5384                FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5385                TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
5386          ),
5387          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ),
5388  
5389          COMP_ELAS       =FACT(statut='f',
5390                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5391                                      into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ),
5392                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5393                ELAS_VMIS_LINE  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5394                ELAS_VMIS_TRAC  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5395                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
5396       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5397                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5398                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5399                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5400          ),
5401  
5402          COMP_INCR       =FACT(statut='f',
5403                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5404                                      into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ),
5405                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5406                VMIS_ISOT_TRAC  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5407                VMIS_ISOT_LINE  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5408                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
5409       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5410                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5411                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5412                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5413          ),
5414          
5415          ETAT_INIT       =FACT(statut='f',
5416            SIGM            =SIMP(statut='f',typ=cham_elem_sief_r),
5417            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5418          ),
5419
5420          OPTION          =SIMP(statut='f',typ='TXM',defaut="CALC_G",
5421                                into=("CALC_G","CALC_K_G","CALC_G_LGLO","G_BILINEAIRE","CALC_G_MAX") ),
5422          b_g             =BLOC(condition="OPTION=='CALC_G'",
5423            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5424            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO",) ),
5425          ), 
5426          b_g_lglo        =BLOC(condition="OPTION=='CALC_G_LGLO'",
5427            PROPAGATION     =SIMP(statut='o',typ='R'),
5428            THETA           =SIMP(statut='o',typ=theta_geom),
5429            DIRE_THETA      =SIMP(statut='f',typ=cham_no_depl_r),
5430            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5431            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO",) ),
5432          ), 
5433          b_g_bilin       =BLOC(condition="OPTION=='G_BILINEAIRE'",
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") ),
5436          ), 
5437          b_k_g           =BLOC(condition="OPTION=='CALC_K_G'",
5438            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5439            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5440            FISSURE         =SIMP(statut='o',typ=fiss_xfem,max=1),
5441          ),
5442          b_calc_g_max    =BLOC(condition="OPTION=='CALC_G_MAX'",
5443            BORNES          =FACT(statut='o',max='**',
5444               NUME_ORDRE     =SIMP(statut='o',typ='I'),
5445               VALE_MIN       =SIMP(statut='o',typ='R'),
5446               VALE_MAX       =SIMP(statut='o',typ='R'),
5447                                 ),
5448            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5449            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
5450          ),
5451            
5452          DEGRE           =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ),
5453
5454          R_INF           =SIMP(statut='f',typ='R'),
5455          R_SUP           =SIMP(statut='f',typ='R'),
5456          R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5457          R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5458  
5459          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5460          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
5461 )  ;
5462 #& MODIF COMMANDE  DATE 11/10/2004   AUTEUR LEBOUVIE F.LEBOUVIER 
5463 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5464 # ======================================================================
5465 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5466 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5467 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5468 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5469 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5470 #
5471 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5472 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5473 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5474 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5475 #
5476 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5477 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5478 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5479 # ======================================================================
5480 CALC_G_THETA_T=OPER(nom="CALC_G_THETA_T",op=53,sd_prod=tabl_calc_g_th,
5481                     fr="Calcul du taux de restitution d énergie par la méthode theta en thermo-élasticité en 2D ou en 3D",
5482                     reentrant='f',
5483             UIinfo={"groupes":("Post traitements",)},
5484          regles=(UN_PARMI('RESULTAT','DEPL'),
5485                  PRESENT_PRESENT('VITE','ACCE'),
5486                  EXCLUS('COMP_ELAS','COMP_INCR'),),
5487          MODELE          =SIMP(statut='f',typ=modele_sdaster),
5488          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
5489          THETA           =SIMP(statut='o',typ=(theta_geom,cham_no_depl_r),),
5490          DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5491          VITE            =SIMP(statut='f',typ=cham_no_depl_r),
5492          ACCE            =SIMP(statut='f',typ=cham_no_depl_r),
5493          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans),),
5494
5495          b_extrac        =BLOC(condition="RESULTAT != None",fr="extraction d un champ",
5496            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
5497            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5498            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5499            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
5500            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5501            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
5502             
5503            b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
5504              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
5505              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5506            ),
5507          ),
5508          EXCIT           =FACT(statut='f',max='**',
5509                CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
5510                FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5511                TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
5512          ),
5513          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ),
5514  
5515          COMP_ELAS       =FACT(statut='f',
5516                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5517                                      into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ),
5518                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5519                ELAS_VMIS_LINE  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5520                ELAS_VMIS_TRAC  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5521                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
5522       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5523                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5524                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5525                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5526          ),  
5527          COMP_INCR       =FACT(statut='f',
5528                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5529                                      into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ),
5530                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5531                VMIS_ISOT_TRAC  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5532                VMIS_ISOT_LINE  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5533                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
5534       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5535                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5536                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5537                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5538          ),
5539          ETAT_INIT       =FACT(statut='f',
5540            SIGM            =SIMP(statut='f',typ=cham_elem_sief_r),
5541            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
5542          ),
5543          OPTION          =SIMP(statut='f',typ='TXM',defaut="CALC_G",
5544                                into=("CALC_G","CALC_G_LAGR","CALC_K_G","G_BILINEAIRE","CALC_G_MAX",) ),
5545          b_calc_g_max    =BLOC(condition="OPTION=='CALC_G_MAX'",
5546            BORNES          =FACT(statut='o',max='**',
5547                 NUME_ORDRE     =SIMP(statut='o',typ='I'),
5548                 VALE_MIN       =SIMP(statut='o',typ='R'),
5549                 VALE_MAX       =SIMP(statut='o',typ='R'),
5550                                 ),
5551          ),
5552          b_calc_k_g      =BLOC(condition="OPTION=='CALC_K_G'",
5553            FOND_FISS       =SIMP(statut='o',typ=fond_fiss),
5554          ),
5555          b_calc_g_lagr   =BLOC(condition="OPTION=='CALC_G_LAGR'",
5556            PROPAGATION     =SIMP(statut='o',typ='R'),
5557          ),
5558
5559          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
5560                            fr="Liste des paramètres de sensibilité.",
5561                            ang="List of sensitivity parameters"),
5562
5563          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5564          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
5565 )  ;
5566 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
5567 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5568 # ======================================================================
5569 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5570 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5571 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5572 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5573 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5574 #
5575 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5576 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5577 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5578 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5579 #
5580 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5581 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5582 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5583 # ======================================================================
5584 CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=tabl_intsp,
5585                     fr="Calcul d une matrice interspectrale d une fonction du temps",
5586                     reentrant='n',
5587             UIinfo={"groupes":("Fonction",)},
5588          INST_INIT       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5589          INST_FIN        =SIMP(statut='o',typ='R' ),
5590          DUREE_ANALYSE   =SIMP(statut='f',typ='R' ),
5591          DUREE_DECALAGE  =SIMP(statut='f',typ='R' ),
5592          NB_POIN         =SIMP(statut='o',typ='I' ),
5593          FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
5594          TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
5595          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
5596 )  ;
5597 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
5598 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5599 # ======================================================================
5600 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5601 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5602 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5603 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5604 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5605 #
5606 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5607 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5608 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5609 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5610 #
5611 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5612 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5613 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5614 # ======================================================================
5615 CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
5616                     fr="Calcul des matrices de masse, d amortissement ou de raideur ajoutées",
5617                     reentrant='n',
5618             UIinfo={"groupes":("Matrices/vecteurs",)},
5619          regles=(EXCLUS('MODE_MECA','CHAM_NO','MODELE_GENE'),
5620                  PRESENT_ABSENT('NUME_DDL_GENE','CHAM_NO'),
5621                  PRESENT_PRESENT('MODELE_GENE','NUME_DDL_GENE'),),
5622          MODELE_FLUIDE   =SIMP(statut='o',typ=modele_sdaster ),
5623          MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ),
5624          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
5625          CHARGE          =SIMP(statut='o',typ=char_ther ),
5626          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
5627          CHAM_NO         =SIMP(statut='f',typ=cham_no_depl_r ),
5628          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
5629          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene ),
5630          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
5631          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5632          NUME_MODE_MECA  =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5633          OPTION          =SIMP(statut='o',typ='TXM',into=("MASS_AJOU","AMOR_AJOU","RIGI_AJOU") ),
5634          POTENTIEL       =SIMP(statut='f',typ=evol_ther ),
5635          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5636          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5637
5638          SOLVEUR         =FACT(statut='d',
5639            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
5640            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
5641              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
5642            ),
5643            b_ldlt          =BLOC( condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
5644              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
5645            ),
5646            b_ldlt_mult     =BLOC( condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
5647                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
5648              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
5649              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5650            ),
5651            b_gcpc          =BLOC (condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
5652              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
5653              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
5654              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
5655              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
5656              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
5657            ),
5658          ),
5659 )  ;
5660 #& MODIF COMMANDE  DATE 31/01/2006   AUTEUR ACBHHCD G.DEVESA 
5661 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5662 # ======================================================================
5663 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5664 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5665 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5666 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
5667 # (AT YOUR OPTION) ANY LATER VERSION.
5668 #
5669 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
5670 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
5671 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
5672 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
5673 #
5674 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
5675 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
5676 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
5677 # ======================================================================
5678 # RESPONSABLE VABHHTS J.PELLET
5679 def calc_matr_elem_prod(OPTION,**args):
5680   if OPTION == "RIGI_MECA"        : return matr_elem_depl_r
5681   if OPTION == "RIGI_FLUI_STRU"   : return matr_elem_depl_r
5682   if OPTION == "RIGI_MECA_LAGR"   : return matr_elem_depl_r
5683   if OPTION == "MASS_ID_MDEP_R"   : return matr_elem_depl_r
5684   if OPTION == "MASS_ID_MDNS_R"   : return matr_elem_depl_r
5685   if OPTION == "MASS_ID_MTEM_R"   : return matr_elem_temp_r
5686   if OPTION == "MASS_ID_MTNS_R"   : return matr_elem_temp_r
5687   if OPTION == "MASS_MECA"        : return matr_elem_depl_r
5688   if OPTION == "MASS_FLUI_STRU"   : return matr_elem_depl_r
5689   if OPTION == "RIGI_GEOM"        : return matr_elem_depl_r
5690   if OPTION == "RIGI_ROTA"        : return matr_elem_depl_r
5691   if OPTION == "AMOR_MECA"        : return matr_elem_depl_r
5692   if OPTION == "IMPE_MECA"        : return matr_elem_depl_r
5693   if OPTION == "ONDE_FLUI"        : return matr_elem_depl_r
5694   if OPTION == "AMOR_MECA_ABSO"   : return matr_elem_depl_r
5695   if OPTION == "RIGI_MECA_HYST"   : return matr_elem_depl_c
5696   if OPTION == "RIGI_THER"        : return matr_elem_temp_r
5697   if OPTION == "MASS_THER"        : return matr_elem_temp_r
5698   if OPTION == "MASS_MECA_DIAG"   : return matr_elem_depl_r
5699   if OPTION == "RIGI_ACOU"        : return matr_elem_pres_c
5700   if OPTION == "MASS_ACOU"        : return matr_elem_pres_c
5701   if OPTION == "AMOR_ACOU"        : return matr_elem_pres_c
5702   raise AsException("type de concept resultat non prevu")
5703
5704 CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op=   9,sd_prod=calc_matr_elem_prod
5705                     ,fr="Calcul des matrices élémentaires",reentrant='n',
5706             UIinfo={"groupes":("Matrices/vecteurs",)},
5707
5708          OPTION          =SIMP(statut='o',typ='TXM',
5709                                into=("RIGI_MECA","MASS_MECA","RIGI_GEOM",
5710                                      "AMOR_MECA","RIGI_THER","MASS_THER","IMPE_MECA",
5711                                      "ONDE_FLUI","AMOR_MECA_ABSO","MASS_FLUI_STRU","RIGI_FLUI_STRU",
5712                                      "RIGI_ROTA","MASS_MECA_DIAG","RIGI_ACOU",
5713                                      "MASS_ID_MDEP_R","MASS_ID_MDNS_R","MASS_ID_MTEM_R","MASS_ID_MTNS_R",
5714                                      "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST",
5715                                      "RIGI_MECA_LAGR") ),
5716
5717          # mots clés facultatifs que l'on a du mal à mettre dans les blocs
5718          # sans gener MACRO_MATR_ASSE :
5719          #------------------------------------------------------------------
5720          INST=SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5721
5722
5723          b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
5724            regles=(AU_MOINS_UN('MODELE','CHARGE' ),),
5725            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
5726            b_modele        =BLOC(condition = "MODELE != None",
5727              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
5728              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
5729              MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
5730            ),
5731            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
5732          ),
5733
5734          b_rigi_meca_lagr  =BLOC(condition = "OPTION=='RIGI_MECA_LAGR'",
5735            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5736            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5737            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'  ),
5738            THETA           =SIMP(statut='o',typ=theta_geom ),
5739            PROPAGATION     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5740          ),
5741
5742          b_mass_meca       =BLOC(condition = "(OPTION=='MASS_MECA') or (OPTION=='MASS_MECA_DIAG')",
5743            regles=(AU_MOINS_UN('MODELE','CHARGE'),),
5744            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
5745            b_modele          =BLOC(condition = "MODELE != None",
5746              CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5747              CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5748            ),
5749            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
5750          ),
5751
5752          b_mass_identite   =BLOC(condition = "(OPTION in ('MASS_ID_MDEP_R','MASS_ID_MTEM_R','MASS_ID_MDNS_R','MASS_ID_MTNS_R')) ",
5753            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5754            # j'ajoute ces 2 mot clés inutiles à cause de l'alarme pas assez subtile de MEDOME
5755            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5756            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5757          ),
5758
5759          b_rigi_geom       =BLOC(condition = "OPTION=='RIGI_GEOM'",
5760            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5761            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5762            SIEF_ELGA         =SIMP(statut='o',typ=cham_elem_sief_r ),
5763            MODE_FOURIER      =SIMP(statut='f',typ='I',defaut= 0 ),
5764          ),
5765
5766          b_rigi_rota       =BLOC(condition = "OPTION=='RIGI_ROTA'",
5767            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5768            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5769            CHARGE            =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ),
5770          ),
5771
5772          b_amor_meca       =BLOC(condition = "OPTION=='AMOR_MECA'",
5773            regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'),
5774                    ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ),
5775            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5776            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5777            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5778            RIGI_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
5779            MASS_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
5780            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
5781          ),
5782          
5783          b_amor_meca_abso  =BLOC(condition = "OPTION=='AMOR_MECA_ABSO'",
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='o',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_rigi_meca_hyst  =BLOC( condition = "OPTION=='RIGI_MECA_HYST'",
5795            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5796            CHARGE            =SIMP(statut='f',typ=char_meca ,validators=NoRepeat(),max='**' ),
5797            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
5798            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5799            RIGI_MECA         =SIMP(statut='o',typ=matr_elem_depl_r ),
5800          ),
5801
5802          b_rigi_ther       =BLOC(condition = "OPTION=='RIGI_THER'",
5803            regles=(AU_MOINS_UN('MODELE','CHARGE' ),),
5804            MODELE            =SIMP(statut='f',typ=modele_sdaster ),
5805            b_modele          =BLOC(condition = "MODELE != None",
5806              CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5807              CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5808              MODE_FOURIER      =SIMP(statut='f',typ='I',defaut= 0 ),
5809            ),
5810            CHARGE            =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**' ),
5811          ),
5812
5813          b_mass_ther       =BLOC(condition = "OPTION=='MASS_THER'",
5814            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5815            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5816            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
5817            CHARGE            =SIMP(statut='f',typ=char_ther ,validators=NoRepeat(),max='**' ),
5818          ),
5819
5820          b_rigi_acou       =BLOC(condition = "OPTION=='RIGI_ACOU'",
5821            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5822            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5823            CHARGE            =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ),
5824          ),
5825
5826          b_mass_acou       =BLOC(condition = "(OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')",
5827            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5828            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5829            CHARGE            =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ),
5830          ),
5831
5832          b_rigi_flui       =BLOC(condition = "OPTION=='RIGI_FLUI_STRU'",
5833            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5834            CARA_ELEM         =SIMP(statut='o',typ=cara_elem ),
5835            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5836            CHARGE            =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**' ),
5837          ),
5838
5839          b_mass_flui       =BLOC(condition = "OPTION=='MASS_FLUI_STRU'",
5840            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5841            CARA_ELEM         =SIMP(statut='o',typ=cara_elem ),
5842            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5843            CHARGE            =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**'),
5844          ),
5845
5846          b_impe_meca       =BLOC(condition = "(OPTION=='IMPE_MECA') or (OPTION=='ONDE_FLUI')",
5847            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
5848            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
5849            CHARGE            =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ),
5850          ),
5851 )  ;
5852 #& MODIF COMMANDE  DATE 24/10/2005   AUTEUR ADBHHVV V.CANO 
5853 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5854 # ======================================================================
5855 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5856 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5857 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5858 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5859 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5860 #
5861 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5862 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5863 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5864 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5865 #
5866 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5867 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5868 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5869 # ======================================================================
5870 CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o',
5871             UIinfo={"groupes":("Post traitements",)},
5872                fr="Calcule la métallurgie a partir du résultat du calcul thermique",
5873          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
5874          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
5875          RESULTAT        =SIMP(statut='o',typ=evol_ther ),
5876          ETAT_INIT       =FACT(statut='o',
5877             regles=(UN_PARMI('EVOL_THER', 'META_INIT'),),
5878             EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
5879             META_INIT       =SIMP(statut='f',typ=carte_var2_r ),
5880             b_etat     =BLOC(condition="EVOL_THER != None",
5881                regles=(UN_PARMI('NUME_INIT', 'INST_INIT',),),
5882                NUME_INIT       =SIMP(statut='f',typ='I'),
5883                INST_INIT       =SIMP(statut='f',typ='R'),
5884                b_inst     =BLOC(condition="INST_INIT != None",
5885                   PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
5886                   CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") )
5887                ),
5888             ),
5889          ),
5890          COMP_INCR       =FACT(statut='o',max='**',
5891            RELATION        =SIMP(statut='o',typ='TXM',into=("ACIER","ZIRC",) ),
5892            ACIER           =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
5893            ZIRC            =SIMP(statut='c',typ='I',defaut=3,into=(3,) ),
5894       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5895            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5896            GROUP_MA        =SIMP(statut='f',typ=grma),
5897            MAILLE          =SIMP(statut='f',typ=ma),
5898          ),
5899          OPTION          =SIMP(statut='f',typ='TXM'     
5900                              ,into=("META_ELNO_TEMP",) ),
5901 )  ;
5902 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
5903 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5904 # ======================================================================
5905 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5906 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5907 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5908 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5909 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5910 #
5911 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5912 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5913 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5914 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5915 #
5916 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5917 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5918 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5919 # ======================================================================
5920 # RESPONSABLE G8BHHXD X.DESROCHES
5921 def calc_no_prod(RESULTAT,**args):
5922    if AsType(RESULTAT) != None : return AsType(RESULTAT)
5923    raise AsException("type de concept resultat non prevu")
5924
5925 CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='o',
5926             UIinfo={"groupes":("Post traitements",)},
5927          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,
5928                                                mode_acou,mode_stat,mode_stat_depl,mode_stat_acce,
5929                                               mode_stat_forc,evol_ther,evol_noli,base_modale,
5930                                                mult_elas,fourier_elas,mode_flamb ) ),
5931          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
5932                                fr="Liste des paramètres de sensibilité.",
5933                                ang="List of sensitivity parameters"),
5934
5935          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
5936                         'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),),
5937          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5938          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5939          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5940          NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
5941          NOM_CAS         =SIMP(statut='f',typ='TXM' ),
5942          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5943          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5944          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
5945          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
5946          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
5947          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5948          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
5949
5950          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5951                                into=("FORC_NODA","REAC_NODA",
5952                                      "DCHA_NOEU_SIGM",
5953                                      "DEGE_NOEU_DEPL",
5954                                      "DETE_NOEU_DLTE",
5955                                      "DEDE_NOEU_DLDE",
5956                                      "DESI_NOEU_DLSI",
5957                                      "DURT_NOEU_META",
5958                                      "EFGE_NOEU_CART","EFGE_NOEU_DEPL",
5959                                      "ENDO_NOEU_SINO",
5960                                      "ENEL_NOEU_ELGA",
5961                                      "EPMG_NOEU_DEPL",
5962                                      "EPSA_NOEU",
5963                                      "EPSG_NOEU_DEPL",
5964                                      "EPSI_NOEU_DEPL",
5965                                      "EPSP_NOEU"     ,"EPSP_NOEU_ZAC",
5966                                      "EQUI_NOEU_EPME","EQUI_NOEU_EPSI","EQUI_NOEU_SIGM",
5967                                      "ERRE_NOEU_ELGA",
5968                                      "FLUX_NOEU_TEMP",
5969                                      "HYDR_NOEU_ELGA",
5970                                      "INTE_NOEU_ACTI","INTE_NOEU_REAC",
5971                                      "META_NOEU_TEMP",
5972                                      "PMPB_NOEU_SIEF",
5973                                      "PRES_NOEU_DBEL","PRES_NOEU_IMAG","PRES_NOEU_REEL",
5974                                      "RADI_NOEU_SIGM",
5975                                      "SIEF_NOEU"     ,"SIEF_NOEU_ELGA",
5976                                      "SIGM_NOEU_CART","SIGM_NOEU_COQU","SIGM_NOEU_DEPL",
5977                                      "SIGM_NOEU_SIEF","SIGM_NOEU_ZAC",
5978                                      "SIPO_NOEU_DEPL","SIPO_NOEU_SIEF",
5979                                      "SIRE_NOEU_DEPL",
5980                                      "VARI_NOEU"     ,"VARI_NOEU_ELGA",) ),
5981
5982          b_forc_reac     =BLOC(condition = """(OPTION == 'FORC_NODA') or (type(OPTION) == type(()) and 'FORC_NODA' in OPTION) or\
5983  (OPTION == 'REAC_NODA') or (type(OPTION) == type(()) and 'REAC_NODA' in OPTION)""",
5984              MODELE          =SIMP(statut='f',typ=modele_sdaster),
5985          ),
5986
5987          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
5988          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
5989          EXCIT           =FACT(statut='f',max='**',
5990            CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),
5991            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5992            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
5993                                  into=("FIXE_CSTE","FIXE_PILO","SUIV") ),
5994          ),
5995          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5996          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5997          MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5998          GROUP_MA_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5999          MAILLE_RESU     =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
6000          GROUP_NO_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6001          NOEUD_RESU      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
6002 )  ;
6003 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6004 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6005 # ======================================================================
6006 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
6007 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
6008 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
6009 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
6010 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
6011 #                                                                       
6012 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
6013 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
6014 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
6015 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
6016 #                                                                       
6017 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
6018 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
6019 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
6020 # ======================================================================
6021 # RESPONSABLE ASSIRE A.ASSIRE
6022
6023 from Macro.calc_precont_ops import calc_precont_ops
6024
6025
6026 # ===========================================================================
6027 #           CATALOGUE DE LA MACRO "CALC_PRECONT"
6028 #           -----------------------------------------
6029 # USAGE :
6030
6031 #  
6032 # ===========================================================================
6033
6034 CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
6035                    fr="imposer la tension definie par le BPEL dans les cables",
6036                    reentrant='f',
6037          reuse =SIMP(statut='f',typ='evol_noli'),
6038          MODELE           =SIMP(statut='o',typ=modele_sdaster),
6039          CHAM_MATER       =SIMP(statut='o',typ=cham_mater),
6040          CARA_ELEM        =SIMP(statut='o',typ=cara_elem),
6041          CABLE_BP         =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'),
6042          CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'),
6043          INCREMENT        =FACT(statut='o',
6044            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
6045            INST_INIT       =SIMP(statut='f',typ='R'),
6046            INST_FIN        =SIMP(statut='f',typ='R'),
6047            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
6048            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
6049            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
6050            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
6051          ),
6052
6053          NEWTON          =FACT(statut='d',
6054             REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
6055             PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
6056             MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
6057             PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
6058             REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
6059             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
6060           ),
6061          RECH_LINEAIRE   =FACT(statut='f',
6062            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
6063            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
6064          ),
6065           CONVERGENCE     =FACT(statut='d',
6066             RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
6067             RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
6068             ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
6069             ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
6070             ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
6071             RESI_INTE_RELA  =SIMP(statut='f',typ='R'
6072                                  ,defaut= 1.0E-6),
6073             ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
6074             ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
6075             RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
6076                                   into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
6077           ),
6078           ETAT_INIT       =FACT(statut='f',
6079             regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
6080                     EXCLUS('EVOL_NOLI','DEPL',),
6081                     EXCLUS('EVOL_NOLI','SIGM',),
6082                     EXCLUS('EVOL_NOLI','VARI',),
6083                     EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
6084                     EXCLUS('NUME_ORDRE','INST'), ),
6085             DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
6086             SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
6087             VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
6088             VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
6089             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
6090             NUME_ORDRE      =SIMP(statut='f',typ='I'),
6091             INST            =SIMP(statut='f',typ='R'),
6092             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
6093             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6094             NUME_DIDI       =SIMP(statut='f',typ='I'),
6095             INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
6096           ),
6097           SOLVEUR         =FACT(statut='d',
6098             METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
6099             b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
6100               RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
6101             ),
6102             b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
6103               RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
6104             ),
6105             b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
6106                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
6107               NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
6108               STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
6109             ),
6110             b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
6111               PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
6112               NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
6113               RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
6114               RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
6115               NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
6116             ),
6117             SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6118           ),
6119             SOLV_NON_LOCAL  =FACT(statut='f',
6120               METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
6121               b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
6122                 RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
6123               ),
6124               b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
6125                 RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
6126               ),
6127               b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
6128                                      fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
6129                 NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
6130                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6131               ),
6132               b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
6133                 PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
6134                 NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
6135                 RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
6136                 NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
6137               ),
6138               EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6139             ),
6140             LAGR_NON_LOCAL  =FACT(statut='f',
6141               ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
6142               RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
6143               RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
6144               R               =SIMP(statut='f',typ='R',defaut= 1000.),
6145               ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
6146             ),
6147           PARM_THETA      =SIMP(statut='f',typ='R'
6148                                ,defaut= 1. ),
6149           INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
6150           TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
6151
6152           EXCIT           =FACT(statut='o',max='**',
6153             CHARGE          =SIMP(statut='o',typ=char_meca),
6154           ),
6155
6156          COMP_INCR       =C_COMP_INCR(),
6157   )  ;
6158 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
6159 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6160 # ======================================================================
6161 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6162 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6163 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6164 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6165 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6166 #
6167 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6168 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6169 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6170 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6171 #
6172 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6173 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6174 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6175 # ======================================================================
6176 CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n',
6177             UIinfo={"groupes":("Post traitements",)},
6178                 fr="Affectation d un champ sur le maillage (mécanique de la rupture)",
6179          regles=(UN_PARMI('THETA_2D','THETA_3D','THETA_BANDE'),
6180                  PRESENT_ABSENT('THETA_2D','DIRE_THETA'),
6181                  EXCLUS('DIRECTION','DIRE_THETA'),),
6182          OPTION          =SIMP(statut='f',typ='TXM',defaut="COURONNE",into=("COURONNE","BANDE") ),
6183          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
6184          THETA_3D        =FACT(statut='f',max='**',
6185            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
6186                    UN_PARMI('MODULE','MODULE_FO'),
6187                    ENSEMBLE('MODULE','R_INF','R_SUP'),
6188                    ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),),
6189            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6190            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6191            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6192            MODULE          =SIMP(statut='f',typ='R'),
6193            R_INF           =SIMP(statut='f',typ='R'),
6194            R_SUP           =SIMP(statut='f',typ='R'),
6195            MODULE_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6196            R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6197            R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6198                          ),
6199          b_theta_3d     =BLOC(condition="THETA_3D != None",
6200            FOND_FISS       =SIMP(statut='f',typ=fond_fiss),),
6201          DIRE_THETA      =SIMP(statut='f',typ=(cham_no_depl_r) ),
6202          DIRECTION       =SIMP(statut='f',typ='R',max='**'),
6203          THETA_2D        =FACT(statut='f',max='**',
6204            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
6205            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6206            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6207            MODULE          =SIMP(statut='o',typ='R'),
6208            R_INF           =SIMP(statut='o',typ='R'),
6209            R_SUP           =SIMP(statut='o',typ='R'),
6210          ),
6211          THETA_BANDE     =FACT(statut='f',max='**',
6212            MODULE          =SIMP(statut='o',typ='R'),
6213            R_INF           =SIMP(statut='o',typ='R'),
6214            R_SUP           =SIMP(statut='o',typ='R'),
6215          ),
6216          GRAD_NOEU_THETA =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6217          IMPRESSION      =FACT(statut='f',
6218            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
6219            FORMAT          =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ),
6220          ),
6221 )  ;
6222 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6223 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6224 # ======================================================================
6225 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6226 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6227 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6228 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6229 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6230 #
6231 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6232 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6233 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6234 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6235 #
6236 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6237 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6238 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6239 # ======================================================================
6240 # RESPONSABLE VABHHTS J.PELLET
6241 def calc_vect_elem_prod(OPTION,**args):
6242   if OPTION == "CHAR_MECA" :      return vect_elem_depl_r
6243   if OPTION == "CHAR_MECA_LAGR" : return vect_elem_depl_r
6244   if OPTION == "CHAR_THER" :      return vect_elem_temp_r
6245   if OPTION == "CHAR_ACOU" :      return vect_elem_pres_c
6246   if OPTION == "FORC_NODA" :      return vect_elem_depl_r
6247   raise AsException("type de concept resultat non prevu")
6248
6249 CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentrant='n',
6250             UIinfo={"groupes":("Matrices/vecteurs",)},
6251                     fr="Calcul des seconds membres élémentaires",
6252          OPTION          =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_THER","CHAR_ACOU",
6253                                                            "FORC_NODA","CHAR_MECA_LAGR") ),
6254          b_char_meca     =BLOC(condition = "OPTION=='CHAR_MECA'",
6255            regles=(AU_MOINS_UN('CHARGE','MODELE'),),
6256            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
6257            MODELE          =SIMP(statut='f',typ=modele_sdaster),
6258            b_charge     =BLOC(condition = "CHARGE != None", fr="modèle ne contenant pas de sous-structure",
6259               CHAM_MATER   =SIMP(statut='f',typ=cham_mater),
6260               CARA_ELEM    =SIMP(statut='f',typ=cara_elem),
6261               INST         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6262               MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ),
6263            ),  
6264            b_modele     =BLOC(condition = "(MODELE != None)",fr="modèle contenant une sous-structure",
6265               SOUS_STRUC      =FACT(statut='o',min=01,
6266                 regles=(UN_PARMI('TOUT','MAILLE'),),
6267                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
6268                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6269                 MAILLE      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
6270               ),
6271            ),
6272          ),
6273          b_char_ther     =BLOC(condition = "OPTION=='CHAR_THER'",
6274            CARA_ELEM        =SIMP(statut='f',typ=cara_elem),
6275            CHARGE           =SIMP(statut='o',typ=char_ther,validators=NoRepeat(),max='**'),
6276            INST             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6277          ),
6278               
6279          b_char_acou     =BLOC(condition = "OPTION=='CHAR_ACOU'",
6280            CHAM_MATER        =SIMP(statut='o',typ=cham_mater),
6281            CHARGE            =SIMP(statut='o',typ=char_acou,validators=NoRepeat(),max='**'),
6282          ),
6283          
6284          b_forc_noda     =BLOC(condition = "OPTION=='FORC_NODA'",
6285            SIEF_ELGA         =SIMP(statut='o',typ=cham_elem_sief_r),
6286            CARA_ELEM         =SIMP(statut='f',typ=cara_elem),
6287            MODELE            =SIMP(statut='f',typ=modele_sdaster),
6288          ),
6289          
6290          b_meca_lagr     =BLOC(condition = "OPTION=='CHAR_MECA_LAGR'",
6291            CHAM_MATER        =SIMP(statut='o',typ=cham_mater),
6292            THETA             =SIMP(statut='o',typ=theta_geom),
6293            PROPAGATION       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6294            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
6295            INST              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6296          ),
6297 ) ;
6298 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6299 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6300 # ======================================================================
6301 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6302 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6303 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6304 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6305 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6306 #
6307 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6308 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6309 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6310 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6311 #
6312 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6313 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6314 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6315 # ======================================================================
6316 # RESPONSABLE G8BHHXD X.DESROCHES
6317 def comb_cham_elem_prod(COMB_R=None,COMB_C=None,COMB_FOURIER=None,**args):
6318
6319   if COMB_R != None:
6320     vale=COMB_R[0]['CHAM_ELEM']
6321   elif COMB_C != None:
6322     vale=COMB_C[0]['CHAM_ELEM']
6323   elif COMB_FOURIER != None:
6324     vale=COMB_FOURIER[0]['CHAM_ELEM']
6325   else :
6326     raise AsException("type de concept resultat non prevu")
6327
6328   if AsType(vale) == cham_elem_sief_r : return cham_elem_sief_r
6329   if AsType(vale) == cham_elem_flux_r : return cham_elem_flux_r
6330   if AsType(vale) == cham_elem_epsi_r : return cham_elem_epsi_r
6331   if AsType(vale) == cham_elem_ener_r : return cham_elem_ener_r
6332   if AsType(vale) == cham_elem_crit_r : return cham_elem_crit_r
6333   if AsType(vale) == cham_elem_dbel_r : return cham_elem_dbel_r
6334   if AsType(vale) == cham_elem_pres_r : return cham_elem_pres_r
6335   if AsType(vale) == cham_elem_sief_c : return cham_elem_sief_c
6336   raise AsException("type de concept resultat non prevu")
6337
6338 COMB_CHAM_ELEM=OPER(nom="COMB_CHAM_ELEM",op= 139,sd_prod=comb_cham_elem_prod,reentrant='f',
6339                     fr="Combinaison linéaire de champs par éléments",
6340             UIinfo={"groupes":("Résultats et champs",)},
6341       regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'),
6342               PRESENT_PRESENT('COMB_FOURIER','ANGL'),),
6343       COMB_R          =FACT(statut='f',max='**',
6344         PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
6345         COEF_R          =SIMP(statut='o',typ='R'),
6346         CHAM_ELEM       =SIMP(statut='o',
6347                               typ=(cham_elem_sief_r,cham_elem_flux_r,cham_elem_epsi_r,
6348                                    cham_elem_ener_r,cham_elem_crit_r,cham_elem_dbel_r,
6349                                    cham_elem_pres_r,cham_elem_sief_c ) ),
6350       ),
6351       COMB_C          =FACT(statut='f',max='**',
6352         regles=(UN_PARMI('COEF_R','COEF_C', ),),
6353         COEF_R          =SIMP(statut='f',typ='R'),
6354         COEF_C          =SIMP(statut='f',typ='C'),
6355         CHAM_ELEM       =SIMP(statut='o',typ=(cham_elem_sief_r) ),
6356       ),
6357       COMB_FOURIER    =FACT(statut='f',max='**',
6358         COEF_R          =SIMP(statut='f',typ='R',defaut= 1.),
6359         NUME_MODE       =SIMP(statut='o',typ='I'),
6360         TYPE_MODE       =SIMP(statut='o',typ='TXM',into=("SYME","ANTI") ),
6361         CHAM_ELEM       =SIMP(statut='o',typ=(cham_elem_sief_r,cham_elem_flux_r,cham_elem_epsi_r ) ),
6362       ),
6363       ANGL            =SIMP(statut='f',typ='R' ),
6364 )  ;
6365
6366 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6367 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6368 # ======================================================================
6369 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6370 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6371 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6372 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6373 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6374 #
6375 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6376 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6377 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6378 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6379 #
6380 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6381 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6382 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6383 # ======================================================================
6384 # RESPONSABLE G8BHHXD X.DESROCHES
6385 def comb_cham_no_prod(COMB_R,COMB_C,COMB_FOURIER,**args):
6386   if COMB_C != None:
6387     type_mat = AsType(COMB_C[0]['CHAM_NO'])
6388     if type_mat in  (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_c
6389     if type_mat in  (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_c
6390     if type_mat in  (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_c
6391   elif COMB_R != None:
6392     type_mat = AsType(COMB_R[0]['CHAM_NO'])
6393     if type_mat in  (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_r
6394     if type_mat in  (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_r
6395     if type_mat in  (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_r
6396     if type_mat ==  matr_asse_gene_r : return matr_asse_gene_r
6397   elif COMB_FOURIER != None:
6398     type_mat = AsType(COMB_FOURIER[0]['CHAM_NO'])
6399     if type_mat == cham_no_temp_r : return cham_no_temp_r
6400     if type_mat == cham_no_depl_r : return cham_no_depl_r
6401   raise AsException("type de concept resultat non prevu")
6402
6403
6404 COMB_CHAM_NO=OPER(nom="COMB_CHAM_NO",op=  30,sd_prod=comb_cham_no_prod
6405                     ,fr="Combinaison linéaire de champs aux noeuds",
6406                      reentrant='f',
6407             UIinfo={"groupes":("Résultats et champs",)},
6408          regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'),),
6409          COMB_R          =FACT(statut='f',max='**',
6410            PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG",) ),
6411            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_temp_c,cham_no_depl_r,cham_no_depl_c
6412                                                 ,cham_no_pres_r,cham_no_pres_c ) ),
6413            COEF_R          =SIMP(statut='o',typ='R' ),
6414          ),
6415          COMB_C          =FACT(statut='f',max='**',
6416            regles=(UN_PARMI('COEF_R','COEF_C' ),),
6417            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r,cham_no_temp_c
6418                                                 ,cham_no_depl_c,cham_no_pres_c ) ),
6419            COEF_R          =SIMP(statut='f',typ='R' ),
6420            COEF_C          =SIMP(statut='f',typ='C' ),
6421          ),
6422          COMB_FOURIER    =FACT(statut='f',max='**',
6423            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r) ),
6424            COEF_R          =SIMP(statut='f',typ='R',defaut= 1. ),
6425            NUME_MODE       =SIMP(statut='o',typ='I' ),
6426            TYPE_MODE       =SIMP(statut='o',typ='TXM',into=("SYME","ANTI") ),
6427          ),
6428          b_angl = BLOC ( condition = "COMB_FOURIER != None",
6429            ANGL            =SIMP(statut='o',typ='R' ),
6430          ),
6431 )  ;
6432 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6433 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6434 # ======================================================================
6435 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6436 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6437 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6438 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6439 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6440 #
6441 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6442 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6443 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6444 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6445 #
6446 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6447 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6448 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6449 # ======================================================================
6450 # RESPONSABLE G8BHHXD X.DESROCHES
6451 COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier,
6452                   reentrant='n',
6453             UIinfo={"groupes":("Post traitements",)},
6454          RESULTAT        =SIMP(statut='o',typ=fourier_elas ),
6455          ANGL            =SIMP(statut='o',typ='R',max='**'),
6456          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=5,
6457                                into=("DEPL","REAC_NODA","SIEF_ELGA_DEPL","EPSI_ELNO_DEPL","SIGM_ELNO_DEPL") ),
6458 )  ;
6459 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
6460 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6461 # ======================================================================
6462 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6463 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6464 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6465 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6466 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6467 #
6468 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6469 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6470 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6471 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6472 #
6473 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6474 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6475 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6476 # ======================================================================
6477 # RESPONSABLE VABHHTS J.PELLET
6478 def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args):
6479   if COMB_C != None:
6480     type_mat = AsType(COMB_C[0]['MATR_ASSE'])
6481     if type_mat in  (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_c
6482     if type_mat in  (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_c    
6483     if type_mat in  (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_c
6484     if type_mat in  (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_c
6485   elif COMB_R != None:
6486     type_mat = AsType(COMB_R[0]['MATR_ASSE'])
6487     if type_mat in  (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_r
6488     if type_mat in  (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_r
6489     if type_mat in  (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_r
6490     if type_mat in  (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_r
6491   elif CALC_AMOR_GENE != None: return matr_asse_gene_r
6492   raise AsException("type de concept resultat non prevu")
6493
6494 COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op=  31,sd_prod=comb_matr_asse_prod,
6495                     fr="Combinaison linéaire de matrices assemblées",
6496                     reentrant='f',
6497             UIinfo={"groupes":("Résultats et champs",)},
6498          regles=(UN_PARMI('COMB_R','COMB_C','CALC_AMOR_GENE' ),),
6499          COMB_R          =FACT(statut='f',max='**',
6500            PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
6501            MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c
6502                                                 ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ),
6503            COEF_R          =SIMP(statut='o',typ='R' ),
6504          ),
6505          COMB_C          =FACT(statut='f',max='**',
6506            regles=(UN_PARMI('COEF_R','COEF_C' ),),
6507            MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c
6508                                                 ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ),
6509            COEF_R          =SIMP(statut='f',typ='R' ),
6510            COEF_C          =SIMP(statut='f',typ='C' ),
6511          ),
6512          CALC_AMOR_GENE   =FACT(statut='f',
6513            regles=(UN_PARMI('AMOR_REDUIT','LIST_AMOR' ),),
6514            MASS_GENE    = SIMP(statut='f', typ=matr_asse_gene_r),
6515            RIGI_GENE    = SIMP(statut='f', typ=matr_asse_gene_r),
6516            AMOR_REDUIT  = SIMP(statut='f',typ='R',max='**'),
6517            LIST_AMOR    = SIMP(statut='f',typ=listr8_sdaster ),
6518          ),         
6519          SANS_CMP        =SIMP(statut='f',typ='TXM',into=("LAGR",) ),
6520 )  ;
6521 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
6522 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6523 # ======================================================================
6524 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6525 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6526 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6527 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6528 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6529 #
6530 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6531 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6532 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6533 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6534 #
6535 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6536 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6537 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6538 # ======================================================================
6539 COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat,
6540                      fr="Réponse sismique par recombinaison modale par une méthode spectrale",
6541                      reentrant='n',
6542             UIinfo={"groupes":("Post traitements",)},
6543          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ','LIST_ORDRE'),
6544                  UN_PARMI('AMOR_REDUIT','LIST_AMOR','AMOR_GENE' ),),
6545          MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
6546          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6547          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6548          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
6549          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6550          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6551          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
6552          b_freq          =BLOC(condition = "FREQ != None or LIST_FREQ != None",
6553            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
6554            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6555          ),
6556          MODE_CORR       =SIMP(statut='f',typ=mode_stat_acce ),
6557          
6558          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
6559          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
6560          AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r ),
6561          
6562          MASS_INER       =SIMP(statut='f',typ=tabl_mass_iner ),
6563          CORR_FREQ       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6564          
6565          EXCIT           =FACT(statut='o',max='**',
6566            regles=(UN_PARMI('MONO_APPUI','NOEUD','GROUP_NO'),
6567                    UN_PARMI('AXE','TRI_AXE','TRI_SPEC' ),),
6568            
6569            MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6570            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6571            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6572            AXE             =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant un seul axe",),
6573            TRI_AXE         =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant les trois axes mais avec le meme spectre",),
6574            TRI_SPEC        =SIMP(statut='f',typ='TXM',into=("OUI",),
6575                                  fr="Excitation suivant les trois axes  avec trois spectres"),
6576            b_axe           =BLOC(condition = "AXE != None",fr="Excitation suivant un seul axe",
6577              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),),
6578              ECHELLE         =SIMP(statut='f',typ='R',),
6579            ),
6580            b_tri_axe       =BLOC(condition = "TRI_AXE != None",fr="Excitation suivant les trois axes mais avec le meme spectre",
6581              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),),
6582              ECHELLE         =SIMP(statut='f',typ='R',),
6583            ),
6584            b_tri_spec      =BLOC(condition = "TRI_SPEC != None",fr="Excitation suivant les trois axes  avec trois spectres",
6585              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),min=3,max=3 ),
6586              ECHELLE         =SIMP(statut='f',typ='R',min=3,max=3),
6587            ),       
6588            NATURE          =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("ACCE","VITE","DEPL") ),
6589          ),
6590          COMB_MODE       =FACT(statut='o',
6591            TYPE            =SIMP(statut='o',typ='TXM',into=("SRSS","CQC","DSC","ABS","DPC") ),
6592            DUREE           =SIMP(statut='f',typ='R' ),
6593          ),
6594          COMB_DIRECTION  =FACT(statut='f',
6595            TYPE            =SIMP(statut='f',typ='TXM',into=("QUAD","NEWMARK") ),
6596          ),
6597          COMB_MULT_APPUI =FACT(statut='f',max='**',
6598            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ),),
6599            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6600            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6601            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6602            TYPE_COMBI      =SIMP(statut='f',typ='TXM',into=("QUAD","LINE",) ),
6603          ),
6604          COMB_DEPL_APPUI=FACT(statut='f',max='**',
6605            regles=(UN_PARMI('TOUT','LIST_CAS'),),
6606            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
6607            LIST_CAS       =SIMP(statut='f',typ='I',max='**'),
6608            TYPE_COMBI      =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ),
6609          ),
6610          DEPL_MULT_APPUI =FACT(statut='f',max='**',
6611            regles=(UN_PARMI('NOEUD','GROUP_NO'),
6612                    AU_MOINS_UN('DX','DY','DZ' ),),
6613            NOM_CAS         =SIMP(statut='o',typ='TXM',max='**'),
6614            NUME_CAS        =SIMP(statut='o',typ='I',max='**'),
6615            MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,), ),
6616            NOEUD_REFE      =SIMP(statut='f',typ=no),
6617            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6618            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6619            DX              =SIMP(statut='f',typ='R' ),
6620            DY              =SIMP(statut='f',typ='R' ),
6621            DZ              =SIMP(statut='f',typ='R' ),
6622          ),
6623          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=9,
6624                                into=("DEPL","VITE","ACCE_ABSOLU","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
6625                                      "EFGE_ELNO_DEPL","REAC_NODA","FORC_NODA","EFGE_ELNO_CART",
6626                                      "SIPO_ELNO_DEPL") ),
6627          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
6628          IMPRESSION      =FACT(statut='f',max='**',
6629            regles=(EXCLUS('TOUT','NIVEAU'),),
6630            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6631            NIVEAU          =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),validators=NoRepeat(),max=3 ),
6632          ),
6633          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6634 )  ;
6635 #& MODIF COMMANDE  DATE 22/11/2005   AUTEUR DURAND C.DURAND 
6636 # RESPONSABLE VABHHTS J.PELLET
6637 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6638 # ======================================================================
6639 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6640 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6641 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6642 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6643 # (AT YOUR OPTION) ANY LATER VERSION.
6644 #
6645 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6646 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6647 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6648 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6649 #
6650 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6651 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6652 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6653 # ======================================================================
6654 def crea_champ_prod(TYPE_CHAM,**args):
6655   import string
6656   grandeur=string.lower(TYPE_CHAM[5:])
6657
6658   if TYPE_CHAM[0:5] == "CART_" :
6659      uu="carte_"+grandeur
6660   elif TYPE_CHAM[0:5] == "NOEU_" :
6661      uu="cham_no_"+grandeur
6662   elif TYPE_CHAM[0:2] == "EL"    :
6663      uu="cham_elem_"+grandeur
6664   else :
6665      raise AsException("type de concept resultat_sdaster non prevu")
6666
6667   try :
6668      vv=eval(uu)
6669   except :
6670      raise AsException("type de concept champ non prevu : %s" % uu)
6671   return vv
6672
6673
6674 CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod,
6675                 fr="  ",reentrant='n',
6676             UIinfo={"groupes":("Résultats et champs",)},
6677          TYPE_CHAM       =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()),
6678       # TYPE_CHAM doit etre de la forme : CART_xx, NOEU_xx, ELEM_xx, ELGA_xx ou ELNO_xx
6679       # ou xx est le nom d'une grandeur définie dans le catalogue des grandeurs
6680
6681 #        SI CREATION D'UN CHAM_NO, POUR IMPOSER LA NUMEROTATION DES DDLS :
6682 #        ------------------------------------------------------------------
6683          regles=(EXCLUS('NUME_DDL','CHAM_NO',)),
6684          NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster) ),
6685          CHAM_NO         =SIMP(statut='f',typ=(cham_no_sdaster) ),
6686
6687 #        SI CREATION D'UN CHAM_ELEM, POUR aider a l'allocation du champ :
6688 #        (PAR DEFAUT : TOU_INI_ELNO/_ELGA/_ELEM)
6689 #        ------------------------------------------------------------------
6690          OPTION         =SIMP(statut='f',typ='TXM'),
6691
6692          OPERATION       =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC",) ),
6693
6694          b_affe          =BLOC(condition = "OPERATION == 'AFFE'",
6695              regles=(UN_PARMI('MAILLAGE','MODELE'),),
6696              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
6697              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
6698              b_affe_modele   =BLOC(condition = "MODELE != None",
6699                  PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), ),
6700              AFFE            =FACT(statut='o',max='**',
6701                 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),
6702                         UN_PARMI('VALE','VALE_I','VALE_C','VALE_F', ),),
6703                 TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6704                 GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
6705                 MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
6706                 GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
6707                 NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
6708                 NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
6709                 VALE            =SIMP(statut='f',typ='R',max='**' ),
6710                 VALE_I          =SIMP(statut='f',typ='I',max='**' ),
6711                 VALE_C          =SIMP(statut='f',typ='C',max='**' ),
6712                 VALE_F          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
6713                                    ),
6714                              ),
6715          b_asse          =BLOC(condition = "OPERATION == 'ASSE'",
6716              regles=(UN_PARMI('MAILLAGE','MODELE'),),
6717              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
6718              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
6719              b_asse_modele   =BLOC(condition = "MODELE != None",
6720                  PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), ),
6721              ASSE            =FACT(statut='o',max='**',
6722                 regles=(AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',),
6723                 PRESENT_PRESENT('NOM_CMP_RESU','NOM_CMP', ),),
6724                 TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6725                 GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6726                 GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6727                 MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6728                 NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6729                 CHAM_GD         =SIMP(statut='o',typ=(cham_gd_sdaster)),
6730                 NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),
6731                 NOM_CMP_RESU    =SIMP(statut='f',typ='TXM',max='**' ),
6732                 CUMUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
6733                 COEF_R          =SIMP(statut='f',typ='R',defaut= 1. ),
6734                                     ),
6735                              ),
6736          b_eval          =BLOC(condition = "OPERATION == 'EVAL'",
6737              CHAM_F          =SIMP(statut='o',typ=(cham_gd_sdaster)),
6738              CHAM_PARA       =SIMP(statut='o',typ=(cham_gd_sdaster),max='**'),
6739                              ),
6740          b_disc          =BLOC(condition = "OPERATION == 'DISC'",
6741              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
6742              PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
6743              CHAM_GD         =SIMP(statut='o',typ=(cham_gd_sdaster)),
6744                              ),
6745          b_extr          =BLOC(condition = "OPERATION == 'EXTR'",
6746              regles=(UN_PARMI('MAILLAGE','FISSURE','RESULTAT'),),
6747              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
6748              FISSURE         =SIMP(statut='f',typ=(fiss_xfem) ),
6749              RESULTAT        =SIMP(statut='f',typ=(resultat_sdaster) ),
6750              b_extr_maillage =BLOC(condition = "MAILLAGE != None",
6751                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("GEOMETRIE",)),
6752                                   ),
6753              b_extr_fissure  =BLOC(condition = "FISSURE != None",
6754                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("LTNO","LNNO","GRLTNO","GRLNNO",)),
6755                                   ),
6756              b_extr_resultat =BLOC(condition = "RESULTAT != None",
6757                  regles=(EXCLUS('TYPE_MAXI','NUME_ORDRE','INST','FREQ','NUME_MODE',
6758                                 'NOEUD_CMP','NOM_CAS','ANGL', ),),
6759                  SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
6760                                    fr="Paramètre de sensibilité.",
6761                                    ang="Sensitivity parameter"),
6762                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
6763                  TYPE_MAXI       =SIMP(statut='f',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN",) ),
6764                  TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE",into=("VALE","INST",) ),
6765                  TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6766                  LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
6767                  NUME_ORDRE      =SIMP(statut='f',typ='I'),
6768                  INST            =SIMP(statut='f',typ='R'),
6769                  FREQ            =SIMP(statut='f',typ='R'),
6770                  NUME_MODE       =SIMP(statut='f',typ='I'),
6771                  NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),
6772                  NOM_CAS         =SIMP(statut='f',typ='TXM'),
6773                  ANGL            =SIMP(statut='f',typ='R'),
6774                  PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
6775                  CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
6776                  INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ),
6777                               ),
6778
6779                 ),
6780 # FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULAT :
6781 #-----------------------------------------------------
6782          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
6783          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
6784 )  ;
6785 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR VABHHTS J.PELLET 
6786 # RESPONSABLE MCOURTOI M.COURTOIS
6787 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6788 # ======================================================================
6789 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6790 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6791 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6792 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6793 # (AT YOUR OPTION) ANY LATER VERSION.
6794 #
6795 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6796 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6797 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6798 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6799 #
6800 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6801 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6802 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6803 # ======================================================================
6804 CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster,
6805                      reentrant='n',
6806             UIinfo={"groupes":("Maillage",)},
6807          regles=(EXCLUS('ECLA_PG','CREA_MAILLE'),
6808                  EXCLUS('ECLA_PG','CREA_GROUP_MA'),
6809                  EXCLUS('ECLA_PG','DETR_GROUP_MA'),
6810                  EXCLUS('ECLA_PG','MODI_MAILLE'),
6811                  EXCLUS('ECLA_PG','LINE_QUAD'),
6812                  EXCLUS('ECLA_PG','COQU_VOLU'),
6813                  EXCLUS('LINE_QUAD','MODI_MAILLE'),
6814                  EXCLUS('LINE_QUAD','CREA_MAILLE'),
6815                  EXCLUS('LINE_QUAD','CREA_GROUP_MA'),
6816                  EXCLUS('LINE_QUAD','DETR_GROUP_MA'),
6817                  EXCLUS('LINE_QUAD','COQU_VOLU'),
6818                  EXCLUS('COQU_VOLU','MODI_MAILLE'),
6819                  EXCLUS('COQU_VOLU','CREA_MAILLE'),
6820                  EXCLUS('COQU_VOLU','CREA_GROUP_MA'),
6821                  EXCLUS('COQU_VOLU','DETR_GROUP_MA'),
6822                  ),
6823                  
6824          # le MAILLAGE est inutile si ECLA_PG
6825          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
6826          
6827          CREA_POI1       =FACT(statut='f',max='**',fr="Création de mailles de type POI1 à partir de noeuds",
6828            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD' ),),
6829            NOM_GROUP_MA    =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6830            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6831            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6832            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6833            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6834            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6835          ),
6836          CREA_MAILLE     =FACT(statut='f',max='**',fr="Duplication de mailles",
6837            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA'),),
6838            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6839            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6840            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6841            PREF_MAILLE     =SIMP(statut='o',typ='TXM' ),
6842            PREF_NUME       =SIMP(statut='f',typ='I' ),
6843          ),
6844          CREA_GROUP_MA   =FACT(statut='f',max='**',fr="Duplication de mailles et création de groupes de mailles",
6845            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
6846            NOM             =SIMP(statut='o',typ='TXM'),
6847            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6848            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6849            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6850            PREF_MAILLE     =SIMP(statut='o',typ='TXM' ),
6851            PREF_NUME       =SIMP(statut='f',typ='I' ),
6852          ),
6853          DETR_GROUP_MA   =FACT(statut='f',fr="Destruction de groupes de mailles",
6854            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6855            NB_MAILLE       =SIMP(statut='f',typ='I',defaut= 0,
6856                                  fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit",  ),
6857          ),
6858          COQU_VOLU   =FACT(statut='f',
6859                            fr="Creation de mailles volumiques à partir de mailles surfaciques",
6860            NOM             =SIMP(statut='o',typ='TXM'),
6861            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max ='**'),
6862            EPAIS           =SIMP(statut='o',typ='R' ),
6863            PREF_MAILLE     =SIMP(statut='f',typ='TXM',defaut="MS" ),
6864            PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS" ),
6865            PREF_NUME       =SIMP(statut='f',typ='I'  ,defaut=1 ),
6866            PLAN            =SIMP(statut='o',typ='TXM',into=("SUP","MOY","INF")),
6867            b_MOY =BLOC(condition = "PLAN == 'MOY'",
6868              TRANSLATION   =SIMP(statut='o',typ='TXM',into=("SUP","INF") ),
6869            ),
6870          ),
6871          MODI_MAILLE     =FACT(statut='f',max='**',fr="Modification du type de mailles",
6872            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
6873            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6874            MAILLE          =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6875            GROUP_MA        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6876            OPTION          =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4","QUAD_TRIA3"),
6877                                  fr="Choix de la transformation" ),
6878            b_NOS =BLOC(condition = "OPTION == 'TRIA6_7'  or  OPTION == 'QUAD8_9'  or  OPTION == 'SEG3_4'",
6879              PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS"),
6880              PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
6881            ),
6882            b_QTR =BLOC(condition = "OPTION == 'QUAD_TRIA3'",
6883              PREF_MAILLE     =SIMP(statut='f',typ='TXM',defaut="MS" ),
6884              PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
6885            ),
6886          ),
6887          LINE_QUAD     =FACT(statut='f',fr="Passage linéaire -> quadratique",
6888            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
6889            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6890            MAILLE          =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6891            GROUP_MA        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6892            PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS"),
6893            PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
6894          ),
6895          REPERE          =FACT(statut='f',max='**',
6896                                fr="changement de repère servant à déterminer les caractéristiques d une section de poutre",
6897            TABLE           =SIMP(statut='o',typ=tabl_cara_geom,
6898                                  fr="Nom de la table contenant les caractéristiques de la section de poutre" ),
6899            NOM_ORIG        =SIMP(statut='f',typ='TXM',into=("CDG","TORSION"),fr="Origine du nouveau repère" ),
6900            NOM_ROTA        =SIMP(statut='f',typ='TXM',into=("INERTIE",),fr="Direction du repére"  ),
6901            b_cdg =BLOC(condition = "NOM_ORIG == 'CDG'",
6902              GROUP_MA        =SIMP(statut='f',typ=grma,
6903                                    fr="Nom du groupe de mailles dont le centre de gravité sera l origine du nouveau repère"),
6904            ),
6905          ),
6906          ECLA_PG         =FACT(statut='f',
6907                                fr="Eclatement des mailles en petites mailles contenant chacune un seul point de gauss",
6908            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
6909            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6910            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6911            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6912            SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
6913            TAILLE_MIN      =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
6914            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
6915                                  into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ),
6916          ),
6917          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6918 #
6919          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
6920 )  ;
6921 #& MODIF COMMANDE  DATE 30/01/2006   AUTEUR D6BHHJP J.P.LEFEBVRE 
6922 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6923 # ======================================================================
6924 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6925 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6926 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6927 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6928 # (AT YOUR OPTION) ANY LATER VERSION.
6929 #
6930 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6931 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6932 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6933 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6934 #
6935 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6936 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6937 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6938 # ======================================================================
6939 def crea_resu_prod(TYPE_RESU,**args):
6940   if TYPE_RESU == "EVOL_ELAS"    : return evol_elas
6941   if TYPE_RESU == "EVOL_NOLI"    : return evol_noli
6942   if TYPE_RESU == "EVOL_THER"    : return evol_ther
6943   if TYPE_RESU == "MULT_ELAS"    : return mult_elas
6944   if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas
6945   if TYPE_RESU == "EVOL_VARC"    : return evol_varc
6946   raise AsException("type de concept resultat non prevu")
6947
6948 CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
6949             UIinfo={"groupes":("Modélisation",)},
6950                fr="Créer ou enrichir une structure de donnees resultat à partir de champs aux noeuds",
6951
6952          OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ECLA_PG","PERM_CHAM","PROL_RTZ",),
6953                          fr="choix de la fonction a activer",),
6954
6955          b_affe       =BLOC(condition = "OPERATION == 'AFFE'",
6956
6957            TYPE_RESU    =SIMP(statut='o',position='global',typ='TXM',into=("MULT_ELAS","EVOL_ELAS","EVOL_NOLI","FOURIER_ELAS",
6958                                                                            "EVOL_THER","EVOL_VARC",) ),
6959            NOM_CHAM     =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
6960
6961            AFFE         =FACT(statut='o',max='**',
6962              CHAM_GD       =SIMP(statut='o',typ=(cham_gd_sdaster)),
6963              MODELE        =SIMP(statut='f',typ=modele_sdaster),
6964              CHAM_MATER    =SIMP(statut='f',typ=cham_mater),
6965              CARA_ELEM     =SIMP(statut='f',typ=cara_elem),
6966
6967              b_mult_elas     =BLOC(condition = "TYPE_RESU == 'MULT_ELAS' ",
6968                 NOM_CAS         =SIMP(statut='f',typ='TXM' ),
6969              ),
6970              b_evol          =BLOC(condition = "((TYPE_RESU=='EVOL_ELAS') or (TYPE_RESU=='EVOL_NOLI') or (TYPE_RESU=='EVOL_THER')\
6971                                                                           or (TYPE_RESU=='EVOL_VARC') )",
6972                 regles=(UN_PARMI('INST','LIST_INST'),),
6973                 INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6974                 LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
6975                 NUME_INIT       =SIMP(statut='f',typ='I', val_min=1),
6976                 NUME_FIN        =SIMP(statut='f',typ='I', val_min=1),
6977                 PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
6978                 CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6979              ),
6980              b_fourier       =BLOC(condition = "TYPE_RESU == 'FOURIER_ELAS' ",
6981                 NUME_MODE       =SIMP(statut='f',typ='I'),
6982                 TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
6983              ),
6984            ),
6985          ),
6986
6987          b_ecla_pg    =BLOC(condition = "OPERATION == 'ECLA_PG'",
6988
6989            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_ELAS","EVOL_NOLI","EVOL_THER"), ),
6990
6991            ECLA_PG         =FACT(statut='o',
6992              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
6993              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
6994                                    into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ),
6995              MODELE_INIT     =SIMP(statut='o',typ=modele_sdaster),
6996              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6997              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
6998              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6999              RESU_INIT       =SIMP(statut='o',typ=resultat_sdaster),
7000              MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
7001              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7002              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
7003              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
7004              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
7005              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
7006              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
7007              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
7008            ),
7009          ),
7010
7011          b_perm_cham =BLOC(condition = "OPERATION == 'PERM_CHAM'",
7012
7013            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_NOLI",) ),
7014            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","SIEF_ELGA","VARI_ELGA",),validators=NoRepeat(),max='**' ),
7015            RESU_INIT       =SIMP(statut='o',typ=evol_noli),
7016            INST_INIT       =SIMP(statut='f',typ='R'),
7017            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
7018            CRITERE         =SIMP(statut='f',typ='TXM',into=('RELATIF','ABSOLU'),defaut='RELATIF'),
7019            MAILLAGE_INIT   =SIMP(statut='o',typ=maillage_sdaster,),
7020            RESU_FINAL      =SIMP(statut='o',typ=evol_noli,),
7021            MAILLAGE_FINAL  =SIMP(statut='o',typ=maillage_sdaster,),
7022            PERM_CHAM       =FACT(statut='o',max='**',
7023               GROUP_MA_FINAL =SIMP(statut='o',typ=grma),
7024               GROUP_MA_INIT  =SIMP(statut='o',typ=grma),
7025               TRAN           =SIMP(statut='o',typ='R',max='**'),
7026               PRECISION      =SIMP(statut='f',typ='R',defaut=1.0E-3),
7027            ),
7028          ),
7029
7030          b_prol_rtz   =BLOC(condition = "OPERATION == 'PROL_RTZ'",
7031
7032            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_THER",) ),
7033
7034            PROL_RTZ        =FACT(statut='o',
7035               regles=(EXCLUS('INST','LIST_INST'),),
7036               MAILLAGE_FINAL  =SIMP(statut='o',typ=maillage_sdaster,),
7037               TABLE           =SIMP(statut='o',typ=table_sdaster,fr="Table issue de post_releve_t"),
7038               INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
7039               LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
7040               b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
7041                  PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
7042                  CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
7043               ),
7044               PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),),
7045               PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),),
7046               REPERE          =SIMP(statut='o',typ='TXM',into=("CYLINDRIQUE",),),
7047               ORIGINE         =SIMP(statut='o',typ='R',min=3,max=3),
7048               AXE_Z           =SIMP(statut='o',typ='R',min=3,max=3),
7049            ),
7050          ),
7051
7052 )  ;
7053 #& MODIF COMMANDE  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
7054 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7055 # ======================================================================
7056 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7057 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7058 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7059 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7060 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7061 #                                                                       
7062 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7063 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7064 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7065 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7066 #                                                                       
7067 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7068 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7069 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7070 # ======================================================================
7071 def crea_table_prod(TYPE_TABLE,**args):
7072   if TYPE_TABLE == "TABLE"          : return table_sdaster
7073   if TYPE_TABLE == "TABL_CARA_GEOM" : return tabl_cara_geom
7074   if TYPE_TABLE == "TABL_POST_RELE" : return tabl_post_rele
7075   if TYPE_TABLE == "TABL_POST_USUR" : return tabl_post_usur
7076   if TYPE_TABLE == "TABL_POST_ALEA" : return tabl_post_alea
7077   if TYPE_TABLE == "TABL_INTE_SPEC" : return tabl_intsp
7078   raise AsException("type de concept resultat non prevu")
7079
7080 CREA_TABLE=OPER(nom="CREA_TABLE",op=  36,sd_prod=crea_table_prod,
7081                 fr="Creation d'une table a partir d'une fonction ou de deux listes",
7082                 reentrant='n',UIinfo={"groupes":("Table",)},
7083
7084            regles=(EXCLUS('FONCTION','LISTE')),
7085
7086            TYPE_TABLE=SIMP(statut='f',typ='TXM',defaut="TABLE",
7087                            into=("TABLE",
7088                                  "TABL_CARA_GEOM",
7089                                  "TABL_POST_RELE",
7090                                  "TABL_POST_USUR",
7091                                  "TABL_POST_ALEA",
7092                                  "TABL_INTE_SPEC" ) ),
7093            LISTE=FACT(statut='f',min=2,max='**',
7094                  fr="Creation d'une table a partir de listes",
7095                  regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), 
7096                         PARA=SIMP(statut='o',typ='TXM'),
7097                         TYPE_K=SIMP(statut='f',typ='TXM',defaut='K8',
7098                                     into=('K8','K16','K24')),
7099                         NUME_LIGN=SIMP(statut='f',typ='I',max='**'),
7100                         LISTE_I=SIMP(statut='f',typ='I',max='**'),
7101                         LISTE_R=SIMP(statut='f',typ='R',max='**'),
7102                         LISTE_K=SIMP(statut='f',typ='TXM', max='**')),
7103            FONCTION=FACT(statut='f',min=1,max=1,
7104                     fr="Creation d'une table a partir d'une fonction",
7105                         FONCTION=SIMP(statut='o',typ=fonction_sdaster),
7106                         PARA=SIMP(statut='f',typ='TXM',min=2,max=2)),  
7107            TITRE=SIMP(statut='f',typ='TXM',max='**'),
7108 )  ;
7109
7110
7111
7112 #& MODIF COMMANDE  DATE 30/01/2006   AUTEUR D6BHHJP J.P.LEFEBVRE 
7113 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7114 # ======================================================================
7115 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7116 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7117 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7118 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7119 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7120 #
7121 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7122 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7123 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7124 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7125 #
7126 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7127 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7128 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7129 # ======================================================================
7130 DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,repetable='n',
7131             UIinfo={"groupes":("Gestion du travail",)},
7132            fr="Ouverture d une étude. Allocation des ressources mémoire et disque",
7133           sd_prod=ops.DEBUT,
7134
7135          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
7136                            into=("OUI","NON"),defaut="OUI"),
7137          BASE            =FACT(fr="définition des paramètres associés aux bases JEVEUX",
7138                                statut='f',min=1,max=3,
7139            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM',
7140                                  into=('GLOBALE','VOLATILE','LOCALE'),),
7141            TITRE           =SIMP(statut='f',typ='TXM'),
7142            CAS             =SIMP(statut='f',typ='TXM'),
7143            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
7144            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
7145            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
7146          ),
7147          IMPRESSION      =FACT(statut='f',min=1,max=3,
7148            FICHIER         =SIMP(statut='o',typ='TXM'),
7149            UNITE           =SIMP(statut='o',typ='I'),
7150          ),
7151          CATALOGUE       =FACT(statut='f',min=1,max=10,
7152            FICHIER         =SIMP(statut='o',typ='TXM'),
7153            TITRE           =SIMP(statut='f',typ='TXM'),
7154            UNITE           =SIMP(statut='f',typ='I'),
7155          ),
7156          CODE            =FACT(fr="définition d un nom pour l'ensemble d'une étude",
7157                                statut='f',min=1,max=1,
7158            NOM             =SIMP(statut='o',typ='TXM'),
7159            NIV_PUB_WEB     =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')),
7160            VISU_EFICAS     =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'),
7161            UNITE           =SIMP(statut='f',typ='I',defaut=15),
7162          ),
7163          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
7164                                statut='f',min=1,max=1,
7165            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
7166                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
7167            JEVEUX          =SIMP(fr="force les déchargement sur disque",
7168                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
7169            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
7170                                  statut='f',typ='TXM',into=('TEST',)),
7171          ),
7172          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
7173            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
7174            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
7175            TAILLE          =SIMP(statut='f',typ='I'),
7176            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
7177            PARTITION       =SIMP(statut='f',typ='R'),
7178          ),
7179  );
7180 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7181 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7182 # ======================================================================
7183 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7184 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7185 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7186 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7187 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7188 #
7189 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7190 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7191 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7192 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7193 #
7194 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7195 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7196 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7197 # ======================================================================
7198 DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op=  99,sd_prod=base_modale,
7199                      reentrant='f',
7200             UIinfo={"groupes":("Matrices/vecteurs",)},
7201          regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS'),),
7202          CLASSIQUE       =FACT(statut='f',
7203            INTERF_DYNA     =SIMP(statut='o',typ=interf_dyna_clas ),
7204            MODE_MECA       =SIMP(statut='o',typ=mode_meca,max='**' ),
7205            NMAX_MODE       =SIMP(statut='f',typ='I',defaut= 10 ),
7206          ),
7207          RITZ            =FACT(statut='f',max='**',
7208            regles=(UN_PARMI('MODE_STAT','MODE_MECA','MULT_ELAS','BASE_MODALE'),),
7209            MODE_MECA       =SIMP(statut='f',typ=mode_meca,max='**'  ),
7210            NMAX_MODE       =SIMP(statut='f',typ='I',defaut= 999 ),
7211            MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
7212            MULT_ELAS       =SIMP(statut='f',typ=mult_elas ),
7213            BASE_MODALE     =SIMP(statut='f',typ=base_modale ),
7214          ),
7215         DIAG_MASS        =FACT(statut='f',max='**',
7216            MODE_MECA       =SIMP(statut='o',typ=mode_meca,max='**'  ),
7217            MODE_STAT       =SIMP(statut='o',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
7218          ),
7219 #  le bloc conditionnel remplace-t-il PRESENT_PRESENT('RITZ','NUME_REF'),
7220 #                                     PRESENT_ABSENT('INTERF_DYNA','CLASSIQUE'),        
7221          b_ritz          =BLOC(condition = "RITZ != None",
7222            INTERF_DYNA     =SIMP(statut='f',typ=interf_dyna_clas ),
7223            NUME_REF        =SIMP(statut='o',typ=nume_ddl_sdaster ),
7224          ),
7225          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7226          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7227 )  ;
7228 #& MODIF COMMANDE  DATE 28/02/2005   AUTEUR DURAND C.DURAND 
7229 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7230 # ======================================================================
7231 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7232 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7233 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7234 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7235 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7236 #                                                                       
7237 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7238 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7239 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7240 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7241 #                                                                       
7242 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7243 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7244 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7245 # ======================================================================
7246
7247 from Macro.defi_cable_bp_ops import defi_cable_bp_ops
7248
7249 # ===========================================================================
7250 #           CATALOGUE DE LA MACRO "DEFI_CABLE_BP"
7251 #           -----------------------------------------
7252 #
7253 # USAGE :
7254 # Entrée :
7255 #  - MAILLAGE
7256 #  - MODELE
7257 #  - CABLE
7258 #  - CHAM_MATER
7259 #  - CARA_ELEM
7260 #  - GROUP_MA_BETON
7261 #  - DEFI_CABLE
7262 #  - TENSION_INIT
7263 #  - RECUL_ANCRAGE
7264 #  - RELAXATION
7265 #  - CONE
7266 #      RAYON
7267 #      LONGUEUR
7268 #      PRESENT          OUI ou NON deux fois
7269 #  - TITRE
7270 #  - INFO               1 / 2
7271 #
7272 # ===========================================================================
7273
7274
7275 def defi_cable_bp_prod(self,MAILLAGE,**args ):
7276   if MAILLAGE!= None : self.type_sdprod(MAILLAGE,maillage_sdaster)
7277   return cabl_precont
7278   raise AsException("type de concept resultat non prevu")
7279
7280 DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP",op=defi_cable_bp_ops,sd_prod=defi_cable_bp_prod,
7281                    fr=" ",
7282                    reentrant='n',
7283          regles=(ENSEMBLE('MAILLAGE','CONE'),),
7284          MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster,CO)),
7285          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
7286          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
7287          CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
7288          GROUP_MA_BETON  =SIMP(statut='o',typ=grma,max='**'),
7289          DEFI_CABLE      =FACT(statut='o',max='**',
7290            regles=(UN_PARMI('MAILLE','GROUP_MA'),
7291                    UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
7292            MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
7293            GROUP_MA        =SIMP(statut='f',typ=grma),
7294            NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
7295            GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7296          ),
7297          TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
7298          TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7299          RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7300          RELAXATION      =FACT(statut='f',min=0,
7301            R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7302          ),
7303          CONE            =FACT(statut='f',min=0,
7304            RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7305            LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7306            PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
7307          ),
7308          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
7309          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7310 )  ;
7311 #& MODIF COMMANDE  DATE 24/08/2004   AUTEUR CIBHHPD S.VANDENBERGHE 
7312 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7313 # ======================================================================
7314 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7315 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7316 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7317 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7318 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7319 #                                                                       
7320 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7321 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7322 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7323 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7324 #                                                                       
7325 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7326 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7327 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7328 # ======================================================================
7329
7330 DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,
7331                    fr=" ",
7332                    reentrant='n',
7333             UIinfo={"groupes":("Modélisation",)},
7334          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
7335          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
7336          CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
7337          GROUP_MA_BETON  =SIMP(statut='o',typ=grma,max='**'),
7338          DEFI_CABLE      =FACT(statut='o',max='**',
7339            regles=(UN_PARMI('MAILLE','GROUP_MA'),
7340                    UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
7341            MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
7342            GROUP_MA        =SIMP(statut='f',typ=grma),
7343            NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
7344            GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7345            GROUP_NO_FUT    =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7346          ),
7347          TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
7348          TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7349          RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7350          RELAXATION      =FACT(statut='f',min=0,
7351            R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7352          ),
7353          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
7354          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7355          CONE            =FACT(statut='f',min=0,
7356            RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7357            LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ),  
7358            PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
7359          ),
7360 )  ;
7361 #& MODIF COMMANDE  DATE 27/09/2004   AUTEUR JMBHH01 J.M.PROIX 
7362 # RESPONSABLE JMBHH01 J.M.PROIX
7363 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7364 # ======================================================================
7365 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
7366 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7367 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7368 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7369 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7370 #                                                                       
7371 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7372 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7373 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7374 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7375 #                                                                       
7376 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7377 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7378 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7379 # ======================================================================
7380 DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
7381                    fr="Définition du comportement monocristallin",
7382                    reentrant='n',
7383             UIinfo={"groupes":("Modélisation",)},
7384                   regles=(EXCLUS('MONOCRISTAL','POLYCRISTAL'),),
7385
7386           MONOCRISTAL    =FACT(statut='f', max='**',
7387              MATER           =SIMP(statut='o', typ=mater_sdaster, max=1),
7388              ECOULEMENT      =SIMP(statut='o', typ='TXM', max=1,
7389                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"),
7390              ECRO_ISOT       =SIMP(statut='o', typ='TXM', max=1,
7391                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"),
7392              ECRO_CINE       =SIMP(statut='o', typ='TXM', max=1,
7393                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"),
7394              ELAS            =SIMP(statut='f', typ='TXM', max=1,
7395                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"),
7396              FAMI_SYST_GLIS  =SIMP(statut='o',typ='TXM', max=1, 
7397                                 into=('BASAL', 'PRISMATIQUE', 'OCTAEDRIQUE', 'PYRAMIDAL1',
7398                                 'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL'),),
7399                                 ),
7400                                 
7401                                 
7402           POLYCRISTAL    =FACT(statut='f', max='**',
7403              MONOCRISTAL     =SIMP(statut='o', typ=compor_sdaster, max=1),
7404              FRAC_VOL  =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"),
7405              ANGL_REP  =SIMP(statut='o',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler en degrés"),
7406                                 ),
7407                                 
7408                                 
7409           b_poly      =BLOC( condition = "POLYCRISTAL!='None'",
7410           LOCALISATION     =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',),
7411                 fr="Donner le nom de la règle de localisation"),
7412           
7413            b_beta      =BLOC( condition = "LOCALISATION=='BETA'",
7414              DL            =SIMP(statut='o',typ='R',max=1),
7415              DA            =SIMP(statut='o',typ='R',max=1),
7416              ),
7417              ),
7418                                 
7419                                 );
7420                    
7421 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7422 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7423 # ======================================================================
7424 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7425 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7426 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7427 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7428 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7429 #
7430 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7431 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7432 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7433 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7434 #
7435 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7436 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7437 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7438 # ======================================================================
7439 DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op=   2,sd_prod=fonction_sdaster,
7440                     fr="Définition d une fonction constante",
7441                     reentrant='n',
7442             UIinfo={"groupes":("Fonction",)},
7443          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
7444          VALE            =SIMP(statut='o',typ='R',),
7445          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7446 )  ;
7447 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
7448 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7449 # ======================================================================
7450 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7451 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7452 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7453 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7454 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7455 #
7456 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7457 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7458 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7459 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7460 #
7461 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7462 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7463 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7464 # ======================================================================
7465 DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant='n',
7466             UIinfo={"groupes":("Modélisation",)},
7467                     fr="Définition d une coque composite couche par couche",
7468          COUCHE          =FACT(statut='o',max='**',
7469            EPAIS           =SIMP(statut='o',typ='R',val_min=0.E+0 ),
7470            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
7471            ORIENTATION     =SIMP(statut='f',typ='R',defaut= 0.E+0,
7472                                  val_min=-90.E+0,val_max=90.E+0   ),
7473          ),
7474          IMPRESSION      =FACT(statut='f',
7475            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
7476          ),
7477 )  ;
7478 #& MODIF COMMANDE  DATE 11/05/2005   AUTEUR MCOURTOI M.COURTOIS 
7479 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7480 # ======================================================================
7481 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7482 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7483 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7484 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7485 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7486 #                                                                       
7487 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7488 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7489 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7490 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7491 #                                                                       
7492 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7493 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7494 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7495 # ======================================================================
7496 # RESPONSABLE D6BHHJP J.P.LEFEBVRE
7497 def DEFIC_prod(self,ACTION,UNITE,**args):
7498   if ACTION == "ASSOCIER" or ACTION == "RESERVER":
7499     if UNITE != None :
7500       return
7501     else :
7502       return entier
7503   elif ACTION == "LIBERER"  :
7504     return
7505   else :
7506     raise AsException("ACTION non prevue : %s" % ACTION)
7507
7508 DEFI_FICHIER=MACRO(nom="DEFI_FICHIER",op=ops.build_DEFI_FICHIER,sd_prod=DEFIC_prod,reentrant='n',
7509                   UIinfo={"groupes":("Gestion du travail",)},
7510                   fr="Gestion d une unité logique : ajout, suppression",
7511
7512             ACTION        =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER","RESERVER"),defaut="ASSOCIER"),
7513
7514             b_associer    =BLOC(condition = "ACTION == 'ASSOCIER'",
7515                                 fr="Paramètres pour l'ouverture du fichier",
7516                                 regles=(AU_MOINS_UN('FICHIER','UNITE'),),
7517                UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
7518                FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
7519                TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"),
7520
7521                b_type_ascii  =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII",
7522                   ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"),
7523                ),
7524                b_type_autre  =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE",
7525                   ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"),
7526                ),
7527             ),
7528
7529             b_reserver    =BLOC(condition = "ACTION == 'RESERVER'",
7530                                 fr="Paramètres pour la réservation de l'unité du fichier",
7531                                 regles=(AU_MOINS_UN('FICHIER','UNITE'),),
7532                UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
7533                FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
7534                TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII",),defaut="ASCII"),
7535                ACCES      =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"),
7536             ),
7537
7538             b_liberer    =BLOC(condition = "ACTION == 'LIBERER'",
7539                                fr="Paramètres pour la fermeture du fichier",
7540                                regles=(UN_PARMI('FICHIER','UNITE'),),
7541                   UNITE         =SIMP(statut='f',typ='I' ,val_min=1),
7542                   FICHIER   =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
7543            ),
7544
7545            INFO          =SIMP(statut='f',typ='I',into=(1,2) ),           
7546            )
7547 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
7548 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7549 # ======================================================================
7550 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
7551 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7552 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7553 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7554 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7555 #                                                                       
7556 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7557 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7558 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7559 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7560 #                                                                       
7561 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7562 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7563 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7564 # ======================================================================
7565
7566 DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op=  41,sd_prod=fiss_xfem,reentrant='f',
7567             UIinfo={"groupes":("Modélisation",)},
7568                fr="Définition des caratéristiques d''une fissure avec XFEM",
7569
7570     MODELE                =SIMP(statut='o',typ=modele_sdaster),
7571     DEFI_FISS             =FACT(statut='o',max=01,
7572       regles              =(UN_PARMI('GROUP_MA_FISS','FONC_LT'),
7573                             ENSEMBLE('FONC_LT','FONC_LN'),
7574                             ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')),
7575       FONC_LT             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7576       FONC_LN             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7577       GROUP_MA_FISS       =SIMP(statut='f',typ=grma,max=01),
7578       GROUP_MA_FOND       =SIMP(statut='f',typ=grma),
7579     ),
7580     GROUP_MA_ENRI         =SIMP(statut='o',typ=grma,max=01),
7581     ORIE_FOND             =FACT(statut='o',max=01,
7582       PFON_INI            =SIMP(statut='o',typ='R',max=03),
7583       VECT_ORIE           =SIMP(statut='o',typ='R',max=03),
7584       PT_ORIGIN           =SIMP(statut='o',typ='R',max=03),
7585     ),
7586     INFO                  =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ),
7587
7588 )  ;
7589 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
7590 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7591 # ======================================================================
7592 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7593 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7594 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7595 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7596 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7597 #
7598 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7599 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7600 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7601 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7602 #
7603 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7604 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7605 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7606 # ======================================================================
7607 DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru,
7608                     reentrant='n',
7609             UIinfo={"groupes":("Maillage",)},
7610          regles=(  UN_PARMI('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),),
7611          FAISCEAU_TRANS  =FACT(statut='f',max='**',
7612            COUPLAGE        =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
7613            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
7614            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7615            PROF_RHO_F_INT  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7616            PROF_RHO_F_EXT  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7617            NOM_CMP         =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ),
7618            COEF_MASS_AJOU  =SIMP(statut='f',typ='R' ),
7619            TYPE_PAS        =SIMP(statut='f',typ='TXM',into=("CARRE_LIGN","TRIA_LIGN") ),
7620            TYPE_RESEAU     =SIMP(statut='f',typ='I' ),
7621            UNITE_CD        =SIMP(statut='f',typ='I',defaut=70),
7622            UNITE_CK        =SIMP(statut='f',typ='I',defaut=71),            
7623            PAS             =SIMP(statut='f',typ='R' ),
7624          ),
7625          GRAPPE          =FACT(statut='f',
7626            regles=(ENSEMBLE('GRAPPE_2','NOEUD','CARA_ELEM','MODELE','RHO_FLUI',),
7627                    PRESENT_PRESENT('COEF_MASS_AJOU','GRAPPE_2', ),),
7628 #  peut on créer un bloc a partir de la valeur de couplage  
7629            COUPLAGE        =SIMP(statut='o',typ='TXM',into=("OUI","NON") ),
7630            GRAPPE_2        =SIMP(statut='f',typ='TXM',
7631                                  into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC") ),
7632            NOEUD           =SIMP(statut='f',typ=no),
7633            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
7634            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
7635            COEF_MASS_AJOU  =SIMP(statut='f',typ='R' ),
7636            RHO_FLUI        =SIMP(statut='f',typ='R' ),
7637            UNITE_CA        =SIMP(statut='f',typ='I',defaut=70),
7638            UNITE_KA        =SIMP(statut='f',typ='I',defaut=71),            
7639          ),
7640          FAISCEAU_AXIAL  =FACT(statut='f',max='**',
7641            regles=(UN_PARMI('GROUP_MA','TRI_GROUP_MA'),
7642                    UN_PARMI('CARA_ELEM','RAYON_TUBE'),
7643                    ENSEMBLE('RAYON_TUBE','COOR_TUBE'),
7644                    PRESENT_ABSENT('RAYON_TUBE','TRI_GROUP_MA'),
7645                    ENSEMBLE('CARA_PAROI','VALE_PAROI'),
7646                    ENSEMBLE('LONG_TYPG','LARG_TYPG','EPAI_TYPG','RUGO_TYPG','COEF_TRAI_TYPG','COEF_DPOR_TYPG',
7647                             'COOR_GRILLE','TYPE_GRILLE', ),),
7648 #  on doit pouvoir mettre des blocs conditionnels mais pas assez d infos pour le faire                            
7649            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7650            TRI_GROUP_MA    =SIMP(statut='f',typ='TXM' ),
7651            VECT_X          =SIMP(statut='f',typ='R',max=3),
7652            PROF_RHO_FLUI   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7653            PROF_VISC_CINE  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7654            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
7655            RAYON_TUBE      =SIMP(statut='f',typ='R' ),
7656            COOR_TUBE       =SIMP(statut='f',typ='R',max='**'),
7657            PESANTEUR       =SIMP(statut='f',typ='R',min=4,max=4),
7658            RUGO_TUBE       =SIMP(statut='f',typ='R' ),
7659            CARA_PAROI      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=5,
7660                                  into=("YC","ZC","R","HY","HZ") ),
7661            VALE_PAROI      =SIMP(statut='f',typ='R',max=5),
7662            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
7663            LONG_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7664            LARG_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7665            EPAI_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7666            RUGO_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7667            COEF_TRAI_TYPG  =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
7668            COEF_DPOR_TYPG  =SIMP(statut='f',typ='R',max='**'),
7669            COOR_GRILLE     =SIMP(statut='f',typ='R',max='**'),
7670            TYPE_GRILLE     =SIMP(statut='f',typ='I',max='**'),
7671          ),
7672          COQUE_COAX      =FACT(statut='f',
7673            MASS_AJOU       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7674            GROUP_MA_INT    =SIMP(statut='o',typ=grma),
7675            GROUP_MA_EXT    =SIMP(statut='o',typ=grma),
7676            VECT_X          =SIMP(statut='o',typ='R',max='**'),
7677            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
7678            MATER_INT       =SIMP(statut='o',typ=mater_sdaster ),
7679            MATER_EXT       =SIMP(statut='o',typ=mater_sdaster ),
7680            RHO_FLUI        =SIMP(statut='o',typ='R' ),
7681            VISC_CINE       =SIMP(statut='o',typ='R' ),
7682            RUGOSITE        =SIMP(statut='o',typ='R' ),
7683            PDC_MOY_1       =SIMP(statut='o',typ='R' ),
7684            PDC_DYN_1       =SIMP(statut='o',typ='R' ),
7685            PDC_MOY_2       =SIMP(statut='o',typ='R' ),
7686            PDC_DYN_2       =SIMP(statut='o',typ='R' ),
7687          ),
7688          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7689 )  ;
7690 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7691 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7692 # ======================================================================
7693 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7694 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7695 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7696 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7697 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7698 #
7699 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7700 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7701 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7702 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7703 #
7704 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7705 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7706 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7707 # ======================================================================
7708 DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentrant='n',
7709             UIinfo={"groupes":("Outils métier",)},
7710                     fr="Définition d une fonction du temps pour calculer des forces de LAPLACE",
7711       regles=(UN_PARMI('COUR_PRIN','COUR'),
7712               EXCLUS('COUR','COUR_SECO'), ),
7713          FREQ            =SIMP(statut='f',typ='R',defaut= 50.),
7714          SIGNAL          =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("COMPLET","CONTINU") ),
7715          COUR            =FACT(statut='f',max='**',
7716          fr="Définition du courant de court-circuit",
7717            regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),
7718                    UN_PARMI('PHI_CC_2','INTC_CC_2'),),
7719            INTE_CC_1       =SIMP(statut='o',typ='R'),
7720            TAU_CC_1        =SIMP(statut='o',typ='R'),
7721            PHI_CC_1        =SIMP(statut='f',typ='R'),
7722            INTC_CC_1       =SIMP(statut='f',typ='R'),
7723            INTE_CC_2       =SIMP(statut='o',typ='R'),
7724            TAU_CC_2        =SIMP(statut='o',typ='R'),
7725            PHI_CC_2        =SIMP(statut='f',typ='R'),
7726            INTC_CC_2       =SIMP(statut='f',typ='R'),
7727            INST_CC_INIT    =SIMP(statut='o',typ='R'),
7728            INST_CC_FIN     =SIMP(statut='o',typ='R'),
7729          ),
7730          COUR_PRIN       =FACT(statut='f',
7731          fr="Définition du courant de court-circuit avec réenclenchement",
7732            regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),),
7733            INTE_CC_1       =SIMP(statut='o',typ='R'),
7734            TAU_CC_1        =SIMP(statut='o',typ='R'),
7735            PHI_CC_1        =SIMP(statut='f',typ='R'),
7736            INTC_CC_1       =SIMP(statut='f',typ='R'),
7737            INTE_RENC_1     =SIMP(statut='f',typ='R'),
7738            TAU_RENC_1      =SIMP(statut='f',typ='R'),
7739            PHI_RENC_1      =SIMP(statut='f',typ='R'),
7740            INST_CC_INIT    =SIMP(statut='o',typ='R'),
7741            INST_CC_FIN     =SIMP(statut='o',typ='R'),
7742            INST_RENC_INIT  =SIMP(statut='f',typ='R',defaut= 0.0E+0),
7743            INST_RENC_FIN   =SIMP(statut='f',typ='R',defaut= 0.0E+0),
7744          ),
7745          COUR_SECO       =FACT(statut='f',max='**',
7746          fr="Définition du courant de court-circuit avec un intervalle de temps différent de celui de COUR_PRIN",
7747            regles=(UN_PARMI('PHI_CC_2','INTC_CC_2'),),
7748            INTE_CC_2       =SIMP(statut='o',typ='R'),
7749            TAU_CC_2        =SIMP(statut='o',typ='R'),
7750            PHI_CC_2        =SIMP(statut='f',typ='R'),
7751            INTC_CC_2       =SIMP(statut='f',typ='R'),
7752            INTE_RENC_2     =SIMP(statut='f',typ='R'),
7753            TAU_RENC_2      =SIMP(statut='f',typ='R'),
7754            PHI_RENC_2      =SIMP(statut='f',typ='R'),
7755            DIST            =SIMP(statut='f',typ='R',defaut=1.0E+0),
7756          ),
7757          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
7758 )  ;
7759 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7760 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7761 # ======================================================================
7762 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7763 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7764 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7765 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7766 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7767 #
7768 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7769 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7770 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7771 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7772 #
7773 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7774 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7775 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7776 # ======================================================================
7777 DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster,
7778                     reentrant='n',
7779             UIinfo={"groupes":("Fonction",)},
7780          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
7781          NOEUD_INIT      =SIMP(statut='o',typ=no),
7782          NOEUD_FIN       =SIMP(statut='o',typ=no),
7783          VITE            =FACT(statut='o',
7784            VALE            =SIMP(statut='f',typ='R',defaut= 1. ),
7785            PROFIL          =SIMP(statut='o',typ='TXM',into=("UNIFORME","LEONARD") ),
7786            NB_BAV          =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 2 , 3 ) ),
7787          ),
7788          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",
7789                                into=("NON","LIN","LOG") ),
7790          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",
7791                                into=("CONSTANT","LINEAIRE","EXCLU") ),
7792          PROL_GAUCHE     =SIMP(statut='f',typ='TXM' ,defaut="EXCLU",
7793                                into=("CONSTANT","LINEAIRE","EXCLU") ),
7794          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
7795          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7796 )  ;
7797 #& MODIF COMMANDE  DATE 10/10/2005   AUTEUR MCOURTOI M.COURTOIS 
7798 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7799 # ======================================================================
7800 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7801 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7802 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7803 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7804 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7805 #
7806 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7807 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7808 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7809 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7810 #
7811 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7812 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7813 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7814 # ======================================================================
7815 # RESPONSABLE MCOURTOI M.COURTOIS
7816 def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,**args):
7817   if VALE       != None  : return fonction_sdaster
7818   if VALE_C     != None  : return fonction_c
7819   if VALE_PARA  != None  : return fonction_sdaster
7820   if NOEUD_PARA != None  : return fonction_sdaster
7821   raise AsException("type de concept resultat non prevu")
7822
7823 DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod
7824                     ,fr="Définition des valeurs réelles ou complexes d une fonction réelle",
7825                      reentrant='n',
7826             UIinfo={"groupes":("Fonction",)},
7827          regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA'),),
7828          NOM_PARA        =SIMP(statut='o',typ='TXM',),
7829          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
7830          VALE            =SIMP(statut='f',typ='R',min=2,max='**',
7831                                fr ="Fonction réelle définie par une liste de couples (abscisse,ordonnée)"),
7832          VALE_C          =SIMP(statut='f',typ='R',min=2,max='**',
7833                                fr ="Fonction complexe définie par une liste de couples"),
7834          VALE_PARA       =SIMP(statut='f',typ=listr8_sdaster,
7835                                fr ="Fonction réelle définie par deux concepts de type listr8" ),
7836          b_vale_para     =BLOC(condition = "VALE_PARA != None",
7837            VALE_FONC       =SIMP(statut='o',typ=listr8_sdaster ),
7838          ),
7839          NOEUD_PARA      =SIMP(statut='f',typ=no,max='**',
7840                                fr ="Fonction réelle définie par une liste de noeuds et un maillage"),
7841          b_noeud_para    =BLOC(condition = "NOEUD_PARA != None",
7842            MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
7843            VALE_Y          =SIMP(statut='o',typ='R',max='**'),
7844          ),
7845
7846          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
7847          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7848          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7849          VERIF           =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ),
7850          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7851          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7852 )  ;
7853 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
7854 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7855 # ======================================================================
7856 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7857 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7858 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7859 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7860 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7861 #
7862 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7863 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7864 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7865 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7866 #
7867 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7868 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7869 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7870 # ======================================================================
7871 DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,reentrant='n',
7872             UIinfo={"groupes":("Post traitements",)},
7873                     fr="Définition de lèvres et d un fond de fissure en 3D",
7874          regles=(UN_PARMI('FOND_FISS','FOND_FERME'),
7875                  EXCLUS('FOND_FERME','DTAN_ORIG'),
7876                  EXCLUS('FOND_FERME','DTAN_EXTR'),
7877                       EXCLUS('FOND_FERME','VECT_GRNO_ORIG'),
7878                       EXCLUS('FOND_FERME','VECT_GRNO_EXTR'),
7879                  UN_PARMI('LEVRE_SUP','NORMALE'),
7880                       EXCLUS('LEVRE_INF','NORMALE'),
7881                  ENSEMBLE('DTAN_ORIG','DTAN_EXTR'),
7882                       ENSEMBLE('VECT_GRNO_ORIG','VECT_GRNO_EXTR'),
7883                       EXCLUS('DTAN_ORIG','VECT_GRNO_ORIG'),
7884                       EXCLUS('DTAN_EXTR','VECT_GRNO_EXTR') ,),
7885            MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
7886            FOND_FISS       =FACT(statut='f',
7887              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
7888                      EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
7889                           EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
7890              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7891              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7892              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7893              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7894 #  à mettre à jour le max vaut-il 1  
7895              NOEUD_ORIG      =SIMP(statut='f',typ=no,),
7896              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
7897              NOEUD_EXTR      =SIMP(statut='f',typ=no,),
7898              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
7899            ),
7900            FOND_FERME      =FACT(statut='f',
7901              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
7902                           EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),),
7903              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7904              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7905              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7906              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7907              NOEUD_ORIG      =SIMP(statut='f',typ=no,),
7908              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
7909              MAILLE_ORIG     =SIMP(statut='f',typ=ma,),
7910              GROUP_MA_ORIG   =SIMP(statut='f',typ=ma,),
7911            ),
7912            LEVRE_SUP       =FACT(statut='f',
7913              regles=(UN_PARMI('GROUP_MA','MAILLE'),),
7914              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7915              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7916            ),
7917            LEVRE_INF       =FACT(statut='f',
7918              regles=(UN_PARMI('GROUP_MA','MAILLE', ),),
7919              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7920              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7921            ),
7922            NORMALE         =SIMP(statut='f',typ='R',max='**'),
7923            DTAN_ORIG       =SIMP(statut='f',typ='R',max='**'),
7924            DTAN_EXTR       =SIMP(statut='f',typ='R',max='**'),
7925            VECT_GRNO_ORIG  =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7926            VECT_GRNO_EXTR  =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7927            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
7928 )  ;
7929 #& MODIF COMMANDE  DATE 25/10/2004   AUTEUR CIBHHLV L.VIVAN 
7930 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7931 # ======================================================================
7932 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7933 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7934 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7935 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7936 # (AT YOUR OPTION) ANY LATER VERSION.
7937 #
7938 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7939 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7940 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7941 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7942 #
7943 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7944 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7945 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7946 # ======================================================================
7947 # RESPONSABLE VABHHTS J.PELLET
7948 def defi_group_prod(MAILLAGE,**args):
7949   if AsType(MAILLAGE) == maillage_sdaster : return maillage_sdaster
7950   if AsType(MAILLAGE) == squelette : return squelette
7951   raise AsException("type de concept resultat non prevu")
7952
7953 DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod,
7954                 fr="Définition de nouveaux groupes de noeuds et/ou de mailles dans un concept maillage",
7955                 reentrant='o',
7956             UIinfo={"groupes":("Maillage",)},
7957          regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO'),),
7958          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster,squelette) ),
7959
7960          CREA_GROUP_MA   =FACT(statut='f',max='**',
7961
7962 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),),
7963 #  quel est le concept attendu deriere NOM
7964            NOM             =SIMP(statut='o',typ=grma),
7965            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7966            GROUP_MA        =SIMP(statut='f',typ=grma),
7967            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7968            INTERSEC        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7969            UNION           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7970            DIFFE           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7971            OPTION          =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE","BANDE","APPUI_LACHE") ),
7972            b_group_ma      =BLOC(condition = "GROUP_MA != None",
7973              regles=(EXCLUS('POSITION','NUME_INIT'),),
7974              NUME_INIT       =SIMP(statut='f',typ='I'),
7975              POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
7976              b_nume_init   =BLOC(condition = "NUME_INIT != None",
7977                NUME_FIN        =SIMP(statut='f',typ='I' ),
7978              ),
7979            ),
7980            b_face_normale  =BLOC(condition = "OPTION == 'FACE_NORMALE'",
7981              regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
7982              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
7983              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
7984              ANGL_PREC       =SIMP(statut='f',typ='R',defaut= 0.5 ),
7985              VERI_SIGNE      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7986            ),
7987            b_sphere        =BLOC(condition = "OPTION == 'SPHERE'",
7988              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
7989              POINT           =SIMP(statut='f',typ='R',max=3),
7990              NOEUD_CENTRE    =SIMP(statut='f',typ=no),
7991              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
7992              RAYON           =SIMP(statut='o',typ='R' ),
7993            ),
7994            b_cylindre      =BLOC(condition = "OPTION == 'CYLINDRE'",
7995              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
7996                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
7997              POINT           =SIMP(statut='f',typ='R',max=3),
7998              NOEUD_CENTRE    =SIMP(statut='f',typ=no),
7999              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
8000              RAYON           =SIMP(statut='o',typ='R' ),
8001              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
8002              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
8003            ),
8004            b_bande         =BLOC(condition = "OPTION == 'BANDE'",
8005              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
8006                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8007              POINT           =SIMP(statut='f',typ='R' ,max=3),
8008              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8009              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
8010              DIST            =SIMP(statut='o',typ='R' ),
8011              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
8012              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
8013            ),
8014            b_app_lache         =BLOC(condition = "OPTION == 'APPUI_LACHE'",
8015              regles=(UN_PARMI('NOEUD','GROUP_NO'),),
8016              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8017              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8018            ),
8019          ),
8020          CREA_GROUP_NO   =FACT(statut='f',max='**',
8021            OPTION          =SIMP(statut='f',typ='TXM',into=("ENV_SPHERE","ENV_CYLINDRE","PLAN",
8022                                                "SEGM_DROI_ORDO","NOEUD_ORDO","TUNNEL") ),
8023
8024            b_option =BLOC(condition = "OPTION == None" ,
8025                           regles=(UN_PARMI('TOUT_GROUP_MA','GROUP_MA','GROUP_NO','NOEUD',
8026                                                            'INTERSEC','UNION','DIFFE'),),
8027               TOUT_GROUP_MA   =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8028               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8029               GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8030               NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8031               INTERSEC        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8032               UNION           =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8033               DIFFE           =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8034
8035               b_nom_group_ma  =BLOC(condition = "GROUP_MA != None",
8036                 NOM           = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8037                 CRIT_NOEUD    = SIMP(statut='f',typ='TXM',defaut="TOUS",
8038                                   into=("TOUS","SOMMET","MILIEU","CENTRE"),),
8039               ),
8040               b_group_no      =BLOC(condition = "GROUP_NO != None",
8041                                     regles=(EXCLUS('POSITION','NUME_INIT'),),
8042                 NUME_INIT       =SIMP(statut='f',typ='I'),
8043                 POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
8044                 b_nume_init     =BLOC(condition = "NUME_INIT != None",
8045                   NUME_FIN        =SIMP(statut='f',typ='I' ),
8046                 ),
8047               ),
8048               b_nom =BLOC(condition = "GROUP_MA == None and TOUT_GROUP_MA == None" ,
8049                 NOM             =SIMP(statut='o',typ=geom),
8050               ),
8051            ),
8052
8053            b_env_sphere    =BLOC(condition = "OPTION == 'ENV_SPHERE'",
8054              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
8055              NOM             =SIMP(statut='o',typ=geom),
8056              POINT           =SIMP(statut='f',typ='R' ,max=3),
8057              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8058              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
8059              RAYON           =SIMP(statut='o',typ='R' ),
8060              PRECISION       =SIMP(statut='o',typ='R' ),
8061            ),
8062            b_env_cylindre  =BLOC(condition = "OPTION == 'ENV_CYLINDRE'",
8063              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
8064                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8065              NOM             =SIMP(statut='o',typ=geom),
8066              POINT           =SIMP(statut='f',typ='R' ,max=3),
8067              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8068              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
8069              RAYON           =SIMP(statut='o',typ='R' ),
8070              ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
8071              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
8072              PRECISION       =SIMP(statut='o',typ='R' ),
8073            ),
8074            b_env_plan      =BLOC(condition = "OPTION == 'PLAN'",
8075              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
8076                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8077              NOM             =SIMP(statut='o',typ=geom),
8078              POINT           =SIMP(statut='f',typ='R' ,max=3),
8079              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8080              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
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_segm_droi_ordo=BLOC(condition = "OPTION == 'SEGM_DROI_ORDO'",
8086              regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),
8087                      UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'),
8088                      UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),),
8089              NOM             =SIMP(statut='o',typ=geom),
8090              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8091              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8092              NOEUD_ORIG      =SIMP(statut='f',typ=no),
8093              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
8094              NOEUD_EXTR      =SIMP(statut='f',typ=no),
8095              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
8096              PRECISION       =SIMP(statut='o',typ='R' ),
8097              CRITERE         =SIMP(statut='o',typ='TXM',into=("ABSOLU","RELATIF") ),
8098            ),
8099            b_noeud_ordo    =BLOC(condition = "OPTION == 'NOEUD_ORDO'",
8100              regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
8101                      EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
8102              NOM             =SIMP(statut='o',typ=geom),
8103              GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
8104              NOEUD_ORIG      =SIMP(statut='f',typ=no),
8105              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
8106              NOEUD_EXTR      =SIMP(statut='f',typ=no),
8107              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
8108            ),
8109            b_tunnel    =BLOC(condition = "OPTION == 'TUNNEL'",
8110              regles=(AU_MOINS_UN ('TOUT','GROUP_MA','MAILLE'),
8111                      EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
8112                      AU_MOINS_UN ('GROUP_MA_AXE','MAILLE_AXE'),),
8113              NOM             =SIMP(statut='o',typ=geom),
8114              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8115              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8116              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8117              GROUP_MA_AXE    =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8118              MAILLE_AXE      =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8119              NOEUD_ORIG      =SIMP(statut='f',typ=no),
8120              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
8121              RAYON           =SIMP(statut='o',typ='R'),
8122              LONGUEUR        =SIMP(statut='f',typ='R'),
8123            ),
8124          ),
8125          ALARME          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8126          INFO            =SIMP(statut='f',typ='I',into=( 1 , 2 ) ),
8127 )  ;
8128 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8129 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8130 # ======================================================================
8131 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8132 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8133 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8134 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8135 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8136 #
8137 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8138 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8139 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8140 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8141 #
8142 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8143 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8144 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8145 # ======================================================================
8146 DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp,
8147                     reentrant='n',
8148             UIinfo={"groupes":("Fonction",)},
8149
8150          DIMENSION       =SIMP(statut='f',typ='I',defaut= 1 ),
8151
8152          PAR_FONCTION    =FACT(statut='f',max='**',
8153            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
8154            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
8155            FONCTION        =SIMP(statut='o',typ=fonction_c ),
8156          ),
8157          KANAI_TAJIMI    =FACT(statut='f',max='**',
8158            regles=(EXCLUS('VALE_R','VALE_C'),),
8159            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
8160            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
8161            FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8162            FREQ_MAX        =SIMP(statut='f',typ='R',defaut= 100. ),
8163            PAS             =SIMP(statut='f',typ='R',defaut= 1. ),
8164            AMOR_REDUIT     =SIMP(statut='f',typ='R',defaut= 0.6 ),
8165            FREQ_MOY        =SIMP(statut='f',typ='R',defaut= 5. ),
8166            VALE_R          =SIMP(statut='f',typ='R' ),
8167            VALE_C          =SIMP(statut='f',typ='C' ),
8168            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
8169            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8170            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8171          ),
8172          CONSTANT        =FACT(statut='f',max='**',
8173            regles=(EXCLUS('VALE_R','VALE_C'),),
8174            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
8175            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
8176            FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8177            FREQ_MAX        =SIMP(statut='f',typ='R',defaut= 100. ),
8178            PAS             =SIMP(statut='f',typ='R',defaut= 1. ),
8179            VALE_R          =SIMP(statut='f',typ='R' ),
8180            VALE_C          =SIMP(statut='f',typ='C' ),
8181            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
8182            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8183            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8184          ),
8185          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8186          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),               
8187 )  ;
8188 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8189 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8190 # ======================================================================
8191 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8192 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8193 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8194 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8195 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8196 #
8197 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8198 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8199 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8200 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8201 #
8202 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8203 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8204 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8205 # ======================================================================
8206 DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op=  98,sd_prod=interf_dyna_clas,
8207                       reentrant='n',
8208             UIinfo={"groupes":("Matrices/vecteurs",)},
8209          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
8210          INTERFACE       =FACT(statut='o',max='**',
8211            regles=(ENSEMBLE('NOM','TYPE'),
8212 #  erreur doc U sur la condition qui suit
8213                    UN_PARMI('NOEUD','GROUP_NO'),),
8214            NOM             =SIMP(statut='f',typ='TXM' ),
8215            TYPE            =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ),
8216            NOEUD           =SIMP(statut='f',typ=no,max='**'),
8217            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
8218            DDL_ACTIF       =SIMP(statut='f',typ='TXM',max='**'),
8219            MASQUE          =SIMP(statut='f',typ='TXM',max='**'),
8220          ),
8221          FREQ            =SIMP(statut='f',typ='R',defaut= 1.),
8222          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
8223 )  ;
8224 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8225 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8226 # ======================================================================
8227 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8228 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8229 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8230 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8231 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8232 #
8233 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8234 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8235 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8236 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8237 #
8238 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8239 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8240 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8241 # ======================================================================
8242 # RESPONSABLE VABHHTS J.PELLET
8243 DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster,
8244                     fr="Définition d une suite croissante d entiers",
8245                     reentrant='n',
8246             UIinfo={"groupes":("Fonction",)},
8247          regles=(UN_PARMI('VALE','DEBUT'),
8248                  EXCLUS('VALE','INTERVALLE'),),
8249          VALE            =SIMP(statut='f',typ='I',max='**'),
8250          DEBUT           =SIMP(statut='f',typ='I'),
8251          INTERVALLE      =FACT(statut='f',max='**',
8252            regles=(UN_PARMI('NOMBRE','PAS'),),
8253            JUSQU_A         =SIMP(statut='o',typ='I'),
8254            NOMBRE          =SIMP(statut='f',typ='I',val_min=1,),
8255            PAS             =SIMP(statut='f',typ='I',val_min=1,),
8256          ),
8257          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8258          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8259 )  ;
8260 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8261 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8262 # ======================================================================
8263 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8264 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8265 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8266 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8267 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8268 #
8269 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8270 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8271 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8272 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8273 #
8274 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8275 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8276 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8277 # ======================================================================
8278 # RESPONSABLE VABHHTS J.PELLET
8279 DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster,
8280                     fr="Définition d une suite croissante de réels",
8281                     reentrant='n',
8282             UIinfo={"groupes":("Fonction",)},
8283          regles=(UN_PARMI('VALE','DEBUT',),
8284                  EXCLUS('VALE','INTERVALLE'),
8285                  ENSEMBLE('DEBUT','INTERVALLE')),
8286          VALE            =SIMP(statut='f',typ='R',max='**'),
8287          DEBUT           =SIMP(statut='f',typ='R'),
8288          INTERVALLE      =FACT(statut='f',max='**',
8289            regles=(UN_PARMI('NOMBRE','PAS'),),
8290            JUSQU_A         =SIMP(statut='o',typ='R'),
8291            NOMBRE          =SIMP(statut='f',typ='I'),
8292            PAS             =SIMP(statut='f',typ='R'),
8293          ),
8294          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8295          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8296 )  ;
8297 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
8298 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8299 # ======================================================================
8300 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8301 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8302 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8303 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8304 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8305 #
8306 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8307 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8308 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8309 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8310 #
8311 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8312 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8313 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8314 # ======================================================================
8315 # RESPONSABLE VABHHTS J.PELLET
8316 DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage_sdaster,
8317                    fr="Définition d un nouveau maillage à partir de macro éléments",
8318                    reentrant='n',
8319             UIinfo={"groupes":("Maillage",)},
8320          DEFI_MAILLE     =FACT(statut='o',max='**',
8321            MACR_ELEM_STAT  =SIMP(statut='o',typ=macr_elem_stat,max='**' ),
8322            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
8323            TRAN            =SIMP(statut='f',typ='R',max=3),
8324            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
8325            b_angl_naut     =BLOC(condition = "ANGL_NAUT != None",
8326              CENTRE          =SIMP(statut='f',typ='R',max=3),
8327            ),
8328          ),
8329          RECO_GLOBAL     =FACT(statut='f',max='**',
8330            regles=(UN_PARMI('TOUT','MAILLE'),),
8331            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8332            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
8333            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
8334            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
8335          ),
8336          RECO_MAILLE     =FACT(statut='f',max='**',
8337            MAILLE          =SIMP(statut='o',typ=ma,max='**'),
8338            GROUP_NO        =SIMP(statut='o',typ=grno,max='**'),
8339            OPTION          =SIMP(statut='f',typ='TXM',defaut="GEOMETRIQUE",into=("GEOMETRIQUE","NOEUD_A_NOEUD","INVERSE") ),
8340            geometrique     =BLOC(condition = "OPTION == 'GEOMETRIQUE'",
8341              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
8342              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
8343            ),
8344          ),
8345          DEFI_NOEUD      =FACT(statut='f',max='**',
8346            regles=(UN_PARMI('TOUT','NOEUD_INIT'),),
8347            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),
8348                                  fr="Renommage de tous les noeuds" ),
8349            NOEUD_INIT      =SIMP(statut='f',typ=no,
8350                                  fr="Renommage d un seul noeud"),                     
8351            b_tout          =BLOC(condition = "TOUT != None",
8352              PREFIXE         =SIMP(statut='f',typ='TXM' ),
8353              INDEX           =SIMP(statut='o',typ='I',max='**'),
8354            ),
8355            b_noeud_init    =BLOC(condition = "NOEUD_INIT != None",
8356              MAILLE          =SIMP(statut='o',typ=ma),
8357              NOEUD_FIN       =SIMP(statut='o',typ=no),
8358            ),        
8359          ),
8360          DEFI_GROUP_NO   =FACT(statut='f',max='**',
8361            regles=(UN_PARMI('TOUT','MAILLE'),
8362                 AU_MOINS_UN('INDEX','GROUP_NO_FIN'),
8363                    ENSEMBLE('GROUP_NO_INIT','GROUP_NO_FIN'),),
8364 #  la regle ancien catalogue AU_MOINS_UN__: ( INDEX , GROUP_NO_FIN ) incoherente avec doc U           
8365            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),
8366                                  fr="Création de plusieurs groupes de noeuds" ),
8367            MAILLE          =SIMP(statut='f',typ=ma,
8368                                  fr="Création de plusieurs groupes de noeuds"),
8369            GROUP_NO_INIT   =SIMP(statut='f',typ=grno,
8370                                  fr="Création d un seul groupe de noeuds"),
8371            PREFIXE         =SIMP(statut='f',typ='TXM' ),
8372            INDEX           =SIMP(statut='f',typ='I',max='**'),
8373            GROUP_NO_FIN    =SIMP(statut='f',typ=grno),
8374          ),
8375 )  ;
8376 #& MODIF COMMANDE  DATE 22/11/2004   AUTEUR NDOMING N.DOMINGUEZ 
8377 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8378 # ======================================================================
8379 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8380 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8381 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8382 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8383 # (AT YOUR OPTION) ANY LATER VERSION.
8384 #
8385 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8386 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8387 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8388 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8389 #
8390 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8391 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8392 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8393 # ======================================================================
8394 DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
8395                    fr="Définition des paramètres décrivant le comportement d un matériau",
8396                    reentrant='n',
8397             UIinfo={"groupes":("Modélisation",)},
8398        regles=(EXCLUS('ELAS','ELAS_FO','ELAS_FLUI','ELAS_ISTR','ELAS_ISTR_FO','ELAS_ORTH',
8399                       'ELAS_ORTH_FO','ELAS_COQUE','ELAS_COQUE_FO',
8400                       'SURF_ETAT_SATU','CAM_CLAY_THM','SURF_ETAT_NSAT'),
8401                EXCLUS('THER','THER_FO','THER_ORTH','THER_NL'),
8402                EXCLUS('ECRO_LINE','ECRO_LINE_FO'),
8403                EXCLUS('TAHERI','TAHERI_FO'),
8404                EXCLUS('ROUSSELIER','ROUSSELIER_FO'),
8405                PRESENT_PRESENT('ROUSSELIER','TRACTION'),
8406                PRESENT_PRESENT('ROUSSELIER_FO','TRACTION'),
8407                EXCLUS('CIN1_CHAB','CIN1_CHAB_FO'),
8408                EXCLUS('CIN2_CHAB','CIN2_CHAB_FO'),
8409                EXCLUS('VISCOCHAB','VISCOCHAB_FO'),
8410                EXCLUS('POLY_CFC','POLY_CFC_FO'),
8411                EXCLUS('LEMAITRE','LEMAITRE_FO','ZIRC_CYRA2','ZIRC_EPRI','VISC_IRRA_LOG',
8412                'LEMA_SEUIL','LEMA_SEUIL_FO'),
8413                EXCLUS('OHNO','OHNO_FO'),
8414                EXCLUS('LMARC','LMARC_FO'),
8415                EXCLUS('VMIS_POUTRE','VMIS_POUTRE_FO'),
8416                EXCLUS('VENDOCHAB','VENDOCHAB_FO'),
8417                PRESENT_PRESENT('BPEL_ACIER','ELAS'),
8418                EXCLUS('RCCM','RCCM_FO'),
8419                EXCLUS('WEIBULL','WEIBULL_FO'),
8420                PRESENT_PRESENT('BARCELONE','CAM_CLAY','ELAS'),
8421                PRESENT_PRESENT('CAM_CLAY','ELAS'),
8422                PRESENT_PRESENT('LAIGLE','ELAS'),
8423                PRESENT_PRESENT('DRUCK_PRAGER','ELAS'),
8424                EXCLUS('MAZARS','MAZARS_FO'),
8425                PRESENT_PRESENT('BAZANT_FD','ELAS_FO'),
8426                EXCLUS('GLRC','GLRC_FO'),
8427                PRESENT_PRESENT('JOINT_BA','ELAS'),
8428                ),
8429 #
8430 # comportement élastique
8431 #
8432            ELAS            =FACT(statut='f',
8433              E               =SIMP(statut='o',typ='R',val_min=0.E+0),
8434              NU              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=0.5E+0),
8435              RHO             =SIMP(statut='f',typ='R'),
8436              ALPHA           =SIMP(statut='f',typ='R'),
8437              AMOR_ALPHA      =SIMP(statut='f',typ='R'),
8438              AMOR_BETA       =SIMP(statut='f',typ='R'),
8439              AMOR_HYST       =SIMP(statut='f',typ='R'),
8440            ),
8441            ELAS_FO         =FACT(statut='f',
8442              regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'),),
8443              E               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8444              NU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8445              RHO             =SIMP(statut='f',typ='R'),
8446              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
8447              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.),
8448              ALPHA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8449              AMOR_ALPHA      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8450              AMOR_BETA       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8451              AMOR_HYST       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8452              K_DESSIC        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8453              B_ENDOGE        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8454              FONC_DESORP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8455              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH",) ),
8456            ),
8457            ELAS_FLUI       =FACT(statut='f',
8458              E               =SIMP(statut='o',typ='R'),
8459              NU              =SIMP(statut='o',typ='R'),
8460              RHO             =SIMP(statut='o',typ='R'),
8461              PROF_RHO_F_INT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8462              PROF_RHO_F_EXT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8463              COEF_MASS_AJOU  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8464              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("ABSC",) ),
8465            ),
8466            ELAS_ISTR       =FACT(statut='f',
8467              E_L             =SIMP(statut='o',typ='R'),
8468              E_N             =SIMP(statut='o',typ='R'),
8469              NU_LT           =SIMP(statut='o',typ='R'),
8470              NU_LN           =SIMP(statut='o',typ='R'),
8471              G_LN            =SIMP(statut='o',typ='R'),
8472              RHO             =SIMP(statut='f',typ='R'),
8473              ALPHA_L         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8474              ALPHA_N         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8475            ),
8476            ELAS_ISTR_FO    =FACT(statut='f',
8477              regles=(
8478                       PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'),
8479                       PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'),
8480                     ),
8481              E_L             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8482              E_N             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8483              NU_LT           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8484              NU_LN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8485              G_LN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8486              RHO             =SIMP(statut='f',typ='R'),
8487              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
8488              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.),
8489              ALPHA_L         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8490              ALPHA_N         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8491              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST")),
8492            ),
8493            ELAS_ORTH       =FACT(statut='f',
8494              E_L             =SIMP(statut='o',typ='R'),
8495              E_T             =SIMP(statut='o',typ='R'),
8496              E_N             =SIMP(statut='f',typ='R'),
8497              NU_LT           =SIMP(statut='o',typ='R'),
8498              NU_LN           =SIMP(statut='f',typ='R'),
8499              NU_TN           =SIMP(statut='f',typ='R'),
8500              G_LT            =SIMP(statut='o',typ='R'),
8501              G_LN            =SIMP(statut='f',typ='R'),
8502              G_TN            =SIMP(statut='f',typ='R'),
8503              RHO             =SIMP(statut='f',typ='R'),
8504              ALPHA_L         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8505              ALPHA_T         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8506              ALPHA_N         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8507              XT              =SIMP(statut='f',typ='R',defaut= 1. ),
8508              XC              =SIMP(statut='f',typ='R',defaut= 1. ),
8509              YT              =SIMP(statut='f',typ='R',defaut= 1. ),
8510              YC              =SIMP(statut='f',typ='R',defaut= 1. ),
8511              S_LT            =SIMP(statut='f',typ='R',defaut= 1. ),
8512            ),
8513            ELAS_ORTH_FO    =FACT(statut='f',
8514              regles=(
8515                       PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'),
8516                       PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'),
8517                       PRESENT_PRESENT('ALPHA_T','TEMP_DEF_ALPHA'),
8518                     ),
8519              E_L             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8520              E_T             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8521              E_N             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8522              NU_LT           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8523              NU_LN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8524              NU_TN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8525              G_LT            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8526              G_LN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8527              G_TN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8528              RHO             =SIMP(statut='f',typ='R'),
8529              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
8530              PRECISION       =SIMP(statut='f',typ='R',defaut= 1. ),
8531              ALPHA_L         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8532              ALPHA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8533              ALPHA_N         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8534              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST",) ),
8535            ),
8536            ELAS_THM        =FACT(statut='f',
8537              RHO_S           =SIMP(statut='o',typ='R'),
8538              UN_SUR_KS       =SIMP(statut='o',typ='R'),
8539              E               =SIMP(statut='f',typ='R'),
8540              KB              =SIMP(statut='f',typ='R'),
8541              D_KB_T          =SIMP(statut='f',typ='R'),
8542              ALPHA_S         =SIMP(statut='f',typ='R'),
8543              ALPHA_D         =SIMP(statut='f',typ='R'),
8544            ),
8545            SURF_ETAT_SATU  =FACT(statut='f',
8546              E_CHAR          =SIMP(statut='o',typ='R'),
8547              E_DECHAR        =SIMP(statut='o',typ='R'),
8548              XN              =SIMP(statut='f',typ='R'),
8549              RF              =SIMP(statut='f',typ='R'),
8550              EV_KB           =SIMP(statut='f',typ='R'),
8551              EV_XM           =SIMP(statut='f',typ='R'),
8552              D_E_T           =SIMP(statut='f',typ='R'),
8553              ALPHA0          =SIMP(statut='f',typ='R'),
8554              ALPHA1          =SIMP(statut='f',typ='R'),
8555              ALPHA2          =SIMP(statut='f',typ='R'),
8556              ALPHA3          =SIMP(statut='f',typ='R'),
8557              ALPHA_S         =SIMP(statut='f',typ='R'),
8558              ANG_FRT         =SIMP(statut='o',typ='R'),
8559              COHE            =SIMP(statut='o',typ='R'),
8560              RESI_TRAC       =SIMP(statut='o',typ='R'),
8561            ),
8562            CAM_CLAY_THM    =FACT(statut='f',
8563              NU              =SIMP(statut='f',typ='R'),
8564              LAMBDA          =SIMP(statut='o',typ='R'),
8565              KAPA            =SIMP(statut='o',typ='R'),
8566              M               =SIMP(statut='f',typ='R'),
8567              PRES_CRIT       =SIMP(statut='f',typ='R'),
8568              GAMA            =SIMP(statut='o',typ='R'),
8569              A0_PC           =SIMP(statut='o',typ='R'),
8570              A1_PC           =SIMP(statut='f',typ='R'),
8571              A2_PC           =SIMP(statut='f',typ='R'),
8572              ALPHA0_PC       =SIMP(statut='f',typ='R'),
8573              ALPHA1_PC       =SIMP(statut='f',typ='R'),
8574              ALPHA2_PC       =SIMP(statut='f',typ='R'),
8575              ALPHA3_PC       =SIMP(statut='f',typ='R'),
8576              ALPHA_S         =SIMP(statut='f',typ='R'),
8577                          ),
8578            SURF_ETAT_NSAT  =FACT(statut='f',
8579              E_CHAR          =SIMP(statut='o',typ='R'),
8580              E_DECHAR        =SIMP(statut='o',typ='R'),
8581              XN              =SIMP(statut='f',typ='R'),
8582              RF              =SIMP(statut='f',typ='R'),
8583              EV_KB           =SIMP(statut='f',typ='R'),
8584              EV_XM           =SIMP(statut='f',typ='R'),
8585              EV_A            =SIMP(statut='f',typ='R'),
8586              EV_B            =SIMP(statut='f',typ='R'),
8587              EV_CT           =SIMP(statut='f',typ='R'),
8588              EV_SIGB         =SIMP(statut='f',typ='R'),
8589              D_E_T           =SIMP(statut='f',typ='R'),
8590              D_E_SUCC        =SIMP(statut='f',typ='R'),
8591              ANG_FRT         =SIMP(statut='o',typ='R'),
8592              COHE            =SIMP(statut='o',typ='R'),
8593              D_COEH_SUCC     =SIMP(statut='f',typ='R'),
8594              ANG_FRT_ULT     =SIMP(statut='f',typ='R'),
8595              SUCC_ULTM       =SIMP(statut='f',typ='R'),
8596              RESI_TRAC       =SIMP(statut='f',typ='R'),
8597              A_SURF_SATU     =SIMP(statut='f',typ='R'),
8598              B_SURF_SATU     =SIMP(statut='f',typ='R'),
8599              C_SURF_SATU     =SIMP(statut='f',typ='R'),
8600              D_SURF_SATU     =SIMP(statut='f',typ='R'),
8601            ),
8602            ELAS_COQUE      =FACT(statut='f',
8603              regles=(EXCLUS('MEMB_L','M_LLLL',),
8604                      PRESENT_PRESENT('MEMB_L','MEMB_LT', 'MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
8605                                      'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
8606                      PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
8607                                      'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL',
8608                                      'MF_LLTT','MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ',
8609                                      'MC_LLTZ','MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ',
8610                                      'FC_LLTZ','FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ',
8611                                      'C_LZTZ','C_TZTZ'),),
8612              MEMB_L          =SIMP(statut='f',typ='R'),
8613              MEMB_LT         =SIMP(statut='f',typ='R'),
8614              MEMB_T          =SIMP(statut='f',typ='R'),
8615              MEMB_G_LT       =SIMP(statut='f',typ='R'),
8616              FLEX_L          =SIMP(statut='f',typ='R'),
8617              FLEX_LT         =SIMP(statut='f',typ='R'),
8618              FLEX_T          =SIMP(statut='f',typ='R'),
8619              FLEX_G_LT       =SIMP(statut='f',typ='R'),
8620              CISA_L          =SIMP(statut='f',typ='R'),
8621              CISA_T          =SIMP(statut='f',typ='R'),
8622              M_LLLL          =SIMP(statut='f',typ='R'),
8623              M_LLTT          =SIMP(statut='f',typ='R'),
8624              M_LLLT          =SIMP(statut='f',typ='R'),
8625              M_TTTT          =SIMP(statut='f',typ='R'),
8626              M_TTLT          =SIMP(statut='f',typ='R'),
8627              M_LTLT          =SIMP(statut='f',typ='R'),
8628              F_LLLL          =SIMP(statut='f',typ='R'),
8629              F_LLTT          =SIMP(statut='f',typ='R'),
8630              F_LLLT          =SIMP(statut='f',typ='R'),
8631              F_TTTT          =SIMP(statut='f',typ='R'),
8632              F_TTLT          =SIMP(statut='f',typ='R'),
8633              F_LTLT          =SIMP(statut='f',typ='R'),
8634              MF_LLLL         =SIMP(statut='f',typ='R'),
8635              MF_LLTT         =SIMP(statut='f',typ='R'),
8636              MF_LLLT         =SIMP(statut='f',typ='R'),
8637              MF_TTTT         =SIMP(statut='f',typ='R'),
8638              MF_TTLT         =SIMP(statut='f',typ='R'),
8639              MF_LTLT         =SIMP(statut='f',typ='R'),
8640              MC_LLLZ         =SIMP(statut='f',typ='R'),
8641              MC_LLTZ         =SIMP(statut='f',typ='R'),
8642              MC_TTLZ         =SIMP(statut='f',typ='R'),
8643              MC_TTTZ         =SIMP(statut='f',typ='R'),
8644              MC_LTLZ         =SIMP(statut='f',typ='R'),
8645              MC_LTTZ         =SIMP(statut='f',typ='R'),
8646              FC_LLLZ         =SIMP(statut='f',typ='R'),
8647              FC_LLTZ         =SIMP(statut='f',typ='R'),
8648              FC_TTLZ         =SIMP(statut='f',typ='R'),
8649              FC_TTTZ         =SIMP(statut='f',typ='R'),
8650              FC_LTLZ         =SIMP(statut='f',typ='R'),
8651              FC_LTTZ         =SIMP(statut='f',typ='R'),
8652              C_LZLZ          =SIMP(statut='f',typ='R'),
8653              C_LZTZ          =SIMP(statut='f',typ='R'),
8654              C_TZTZ          =SIMP(statut='f',typ='R'),
8655              RHO             =SIMP(statut='f',typ='R'),
8656              ALPHA           =SIMP(statut='f',typ='R'),
8657            ),
8658            ELAS_COQUE_FO   =FACT(statut='f',
8659              regles=(EXCLUS('MEMB_L','M_LLLL',),
8660                      PRESENT_PRESENT('MEMB_L','MEMB_LT','MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
8661                                      'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
8662                      PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
8663                                      'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL','MF_LLTT',
8664                                      'MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ','MC_LLTZ',
8665                                      'MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ','FC_LLTZ',
8666                                      'FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ','C_LZTZ','C_TZTZ'),),
8667              MEMB_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8668              MEMB_LT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8669              MEMB_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8670              MEMB_G_LT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8671              FLEX_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8672              FLEX_LT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8673              FLEX_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8674              FLEX_G_LT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8675              CISA_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8676              CISA_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8677              M_LLLL          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8678              M_LLTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8679              M_LLLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8680              M_TTTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8681              M_TTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8682              M_LTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8683              F_LLLL          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8684              F_LLTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8685              F_LLLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8686              F_TTTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8687              F_TTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8688              F_LTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8689              MF_LLLL         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8690              MF_LLTT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8691              MF_LLLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8692              MF_TTTT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8693              MF_TTLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8694              MF_LTLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8695              MC_LLLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8696              MC_LLTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8697              MC_TTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8698              MC_TTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8699              MC_LTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8700              MC_LTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8701              FC_LLLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8702              FC_LLTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8703              FC_TTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8704              FC_TTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8705              FC_LTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8706              FC_LTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8707              C_LZLZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8708              C_LZTZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8709              C_TZTZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8710              RHO             =SIMP(statut='f',typ='R'),
8711              ALPHA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
8712              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST") ),
8713            ),
8714            APPUI_ELAS      =FACT(statut='f',
8715              E_N             =SIMP(statut='o',typ='R'),
8716              E_TAN           =SIMP(statut='f',typ='R',defaut= 0.E+0),
8717            ),
8718            CABLE           =FACT(statut='f',
8719              E               =SIMP(statut='o',typ='R'),
8720              EC_SUR_E        =SIMP(statut='f',typ='R',defaut= 1.E-4 ),
8721              RHO             =SIMP(statut='f',typ='R'),
8722              ALPHA           =SIMP(statut='f',typ='R'),
8723              AMOR_ALPHA      =SIMP(statut='f',typ='R'),
8724              AMOR_BETA       =SIMP(statut='f',typ='R'),
8725            ),
8726 #
8727 # comportement mécanique non linéaire
8728 #
8729            TRACTION        =FACT(statut='f',
8730              SIGM            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8731              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("EPSI","TEMP","HYDR","SECH",) ),
8732            ),
8733            ECRO_LINE       =FACT(statut='f',
8734              D_SIGM_EPSI     =SIMP(statut='o',typ='R',),
8735              SY              =SIMP(statut='o',typ='R',),
8736            ),
8737            ECRO_LINE_FO    =FACT(statut='f',
8738              D_SIGM_EPSI     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8739              SY              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8740              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8741            ),
8742            BETON_ECRO_LINE =FACT(statut='f',
8743              D_SIGM_EPSI     =SIMP(statut='o',typ='R'),
8744              SYT             =SIMP(statut='o',typ='R'),
8745              SYC             =SIMP(statut='f',typ='R'),
8746            ),
8747            ENDO_ORTH_BETON  =FACT(statut='f',
8748              ALPHA            =SIMP(statut='f',typ='R',defaut=0.9),
8749              K0               =SIMP(statut='o',typ='R'),
8750              K1               =SIMP(statut='o',typ='R'),
8751              K2               =SIMP(statut='f',typ='R',defaut=7.E-4),
8752              ECROB            =SIMP(statut='o',typ='R'),
8753              ECROD            =SIMP(statut='o',typ='R'),
8754            ),
8755            PRAGER          =FACT(statut='f',
8756              C               =SIMP(statut='o',typ='R'),
8757            ),
8758            PRAGER_FO       =FACT(statut='f',
8759              C               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8760              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8761            ),
8762            ECRO_FLEJOU     =FACT(statut='f',
8763              EP              =SIMP(statut='o',typ='R'),
8764              SY              =SIMP(statut='o',typ='R'),
8765              SU              =SIMP(statut='o',typ='R'),
8766              PUISS           =SIMP(statut='o',typ='R'),
8767            ),
8768            TAHERI          =FACT(statut='f',
8769              R_0             =SIMP(statut='o',typ='R'),
8770              ALPHA           =SIMP(statut='o',typ='R'),
8771              M               =SIMP(statut='o',typ='R'),
8772              A               =SIMP(statut='o',typ='R'),
8773              B               =SIMP(statut='o',typ='R'),
8774              C1              =SIMP(statut='o',typ='R'),
8775              C_INF           =SIMP(statut='o',typ='R'),
8776              S               =SIMP(statut='o',typ='R'),
8777            ),
8778            TAHERI_FO       =FACT(statut='f',
8779              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8780              ALPHA           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8781              M               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8782              A               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8783              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8784              C1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8785              C_INF           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8786              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8787              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8788            ),
8789            ROUSSELIER      =FACT(statut='f',
8790              D               =SIMP(statut='o',typ='R'),
8791              SIGM_1          =SIMP(statut='o',typ='R'),
8792              PORO_INIT       =SIMP(statut='o',typ='R'),
8793              PORO_CRIT       =SIMP(statut='f',typ='R',defaut= 1. ),
8794              PORO_ACCE       =SIMP(statut='f',typ='R',defaut= 1. ),
8795              PORO_LIMI       =SIMP(statut='f',typ='R',defaut= 0.999 ),
8796              D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
8797              AN              =SIMP(statut='f',typ='R',defaut= 0. ),
8798            ),
8799            ROUSSELIER_FO   =FACT(statut='f',
8800              D               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8801              SIGM_1          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8802              PORO_INIT       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8803              PORO_CRIT       =SIMP(statut='f',typ='R',defaut= 1. ),
8804              PORO_ACCE       =SIMP(statut='f',typ='R',defaut= 1. ),
8805              PORO_LIMI       =SIMP(statut='f',typ='R',defaut= 0.999 ),
8806              D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
8807              AN              =SIMP(statut='f',typ='R',defaut= 0. ),
8808              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8809            ),
8810            VISC_SINH      =FACT(statut='f',
8811              SIGM_0          =SIMP(statut='o',typ='R'),
8812              EPSI_0          =SIMP(statut='o',typ='R'),
8813              M               =SIMP(statut='o',typ='R'),
8814            ),
8815            CHABOCHE        =FACT(statut='f',
8816              R_I             =SIMP(statut='o',typ='R'),
8817              R_0             =SIMP(statut='o',typ='R'),
8818              B               =SIMP(statut='o',typ='R'),
8819              K               =SIMP(statut='o',typ='R'),
8820              W               =SIMP(statut='o',typ='R'),
8821              A1              =SIMP(statut='o',typ='R'),
8822              A2              =SIMP(statut='o',typ='R'),
8823              C1              =SIMP(statut='o',typ='R'),
8824              C2              =SIMP(statut='o',typ='R'),
8825            ),
8826            CIN1_CHAB  =FACT(statut='f',
8827              R_0             =SIMP(statut='o',typ='R'),
8828              R_I             =SIMP(statut='f',typ='R'),
8829              B               =SIMP(statut='f',typ='R',defaut= 0.0E+0),
8830              C_I             =SIMP(statut='o',typ='R'),
8831              K               =SIMP(statut='f',typ='R',defaut= 1.0E+0),
8832              W               =SIMP(statut='f',typ='R',defaut= 0.0E+0),
8833              G_0             =SIMP(statut='o',typ='R'),
8834              A_I             =SIMP(statut='f',typ='R',defaut= 1.0E+0),
8835            ),
8836            CIN1_CHAB_FO  =FACT(statut='f',
8837              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8838              R_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8839              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8840              C_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8841              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8842              W               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8843              G_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8844              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8845              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",)),
8846            ),
8847            CIN2_CHAB  =FACT(statut='f',
8848              R_0             =SIMP(statut='o',typ='R'),
8849              R_I             =SIMP(statut='f',typ='R'),
8850              B               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8851              C1_I            =SIMP(statut='o',typ='R'),
8852              C2_I            =SIMP(statut='o',typ='R'),
8853              K               =SIMP(statut='f',typ='R',defaut= 1.),
8854              W               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8855              G1_0            =SIMP(statut='o',typ='R'),
8856              G2_0            =SIMP(statut='o',typ='R'),
8857              A_I             =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
8858            ),
8859            CIN2_CHAB_FO  =FACT(statut='f',
8860              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8861              R_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8862              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8863              C1_I            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8864              C2_I            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8865              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8866              W               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8867              G1_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8868              G2_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8869              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8870              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8871            ),
8872            VISCOCHAB       =FACT(statut='f',
8873              K_0             =SIMP(statut='o',typ='R'),
8874              A_K             =SIMP(statut='o',typ='R'),
8875              A_R             =SIMP(statut='o',typ='R'),
8876              K               =SIMP(statut='o',typ='R'),
8877              N               =SIMP(statut='o',typ='R'),
8878              ALP             =SIMP(statut='o',typ='R'),
8879              B               =SIMP(statut='o',typ='R'),
8880              M_R             =SIMP(statut='o',typ='R'),
8881              G_R             =SIMP(statut='o',typ='R'),
8882              MU              =SIMP(statut='o',typ='R'),
8883              Q_M             =SIMP(statut='o',typ='R'),
8884              Q_0             =SIMP(statut='o',typ='R'),
8885              QR_0            =SIMP(statut='o',typ='R'),
8886              ETA             =SIMP(statut='o',typ='R'),
8887              C1              =SIMP(statut='o',typ='R'),
8888              M_1             =SIMP(statut='o',typ='R'),
8889              D1              =SIMP(statut='o',typ='R'),
8890              G_X1            =SIMP(statut='o',typ='R'),
8891              G1_0            =SIMP(statut='o',typ='R'),
8892              C2              =SIMP(statut='o',typ='R'),
8893              M_2             =SIMP(statut='o',typ='R'),
8894              D2              =SIMP(statut='o',typ='R'),
8895              G_X2            =SIMP(statut='o',typ='R'),
8896              G2_0            =SIMP(statut='o',typ='R'),
8897              A_I             =SIMP(statut='o',typ='R'),
8898            ),
8899            VISCOCHAB_FO    =FACT(statut='f',
8900              K_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8901              A_K             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8902              A_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8903              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8904              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8905              ALP             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8906              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8907              M_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8908              G_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8909              MU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8910              Q_M             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8911              Q_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8912              QR_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8913              ETA             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8914              C1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8915              M_1             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8916              D1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8917              G_X1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8918              G1_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8919              C2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8920              M_2             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8921              D2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8922              G_X2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8923              G2_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8924              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8925              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8926            ),
8927            POLY_CFC        =FACT(statut='f',
8928              TEXTURE         =SIMP(statut='o',typ=(tabl_texture) ),
8929              DL              =SIMP(statut='f',typ='R'),
8930              DA              =SIMP(statut='f',typ='R'),
8931              N               =SIMP(statut='o',typ='R'),
8932              K               =SIMP(statut='o',typ='R'),
8933              TAU_0           =SIMP(statut='o',typ='R'),
8934              Q1              =SIMP(statut='o',typ='R'),
8935              B1              =SIMP(statut='o',typ='R'),
8936              HL              =SIMP(statut='o',typ='R'),
8937              Q2              =SIMP(statut='o',typ='R'),
8938              B2              =SIMP(statut='o',typ='R'),
8939              C1              =SIMP(statut='o',typ='R'),
8940              D1              =SIMP(statut='o',typ='R'),
8941              C2              =SIMP(statut='o',typ='R'),
8942            ),
8943            POLY_CFC_FO     =FACT(statut='f',
8944              TEXTURE         =SIMP(statut='o',typ=(tabl_texture) ),
8945              DL              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8946              DA              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8947              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8948              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8949              TAU_0           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8950              Q1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8951              B1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8952              HL              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8953              Q2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8954              B2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8955              C1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8956              D1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8957              C2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8958              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8959            ),
8960            LEMAITRE        =FACT(statut='f',
8961              N               =SIMP(statut='o',typ='R'),
8962              UN_SUR_K        =SIMP(statut='o',typ='R'),
8963              UN_SUR_M        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8964            ),
8965            ZIRC_CYRA2      =FACT(statut='f',
8966              EPSI_FAB        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8967              TEMP_RECUIT     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8968              FLUX_PHI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8969              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
8970            ),
8971           VISC_IRRA_LOG    =FACT(statut='f',
8972              A               =SIMP(statut='f',typ='R',defaut= 1.28E-1),
8973              B               =SIMP(statut='f',typ='R',defaut= 0.01159),
8974              CSTE_TPS        =SIMP(statut='f',typ='R',defaut= 0.3540),
8975              ENER_ACT        =SIMP(statut='f',typ='R',defaut= 5000.),
8976              FLUX_PHI        =SIMP(statut='o',typ='R',),
8977            ),
8978           LEMA_SEUIL   =FACT(statut='f',
8979              A               =SIMP(statut='o',typ='R',),
8980              S               =SIMP(statut='o',typ='R',),
8981            ),
8982           LEMA_SEUIL_FO=FACT(statut='f',
8983              A               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8984              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8985              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8986            ),  
8987            ZIRC_EPRI       =FACT(statut='f',
8988              FLUX_PHI        =SIMP(statut='o',typ='R'),
8989              R_P             =SIMP(statut='o',typ='R'),
8990              THETA_MAX       =SIMP(statut='o',typ='R'),
8991            ),
8992            LEMAITRE_FO     =FACT(statut='f',
8993              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8994              UN_SUR_K        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8995              UN_SUR_M        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
8996              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
8997            ),
8998            GRAN_IRRA       =FACT(statut='f',
8999              A               =SIMP(statut='f',typ='R',defaut= 0.E+0),
9000              B               =SIMP(statut='f',typ='R',defaut= 0.E+0),
9001              S               =SIMP(statut='f',typ='R',defaut= 0.E+0),
9002            ),
9003            FLU_IRRA       =FACT(statut='f',
9004              QSR_K           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9005              BETA            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9006              PHI_ZERO        =SIMP(statut='f',typ='R',defaut= 1.E+20),
9007              L               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9008            ),
9009            OHNO            =FACT(statut='f',
9010              R_I             =SIMP(statut='o',typ='R'),
9011              R_0             =SIMP(statut='o',typ='R'),
9012              B               =SIMP(statut='o',typ='R'),
9013              PHI             =SIMP(statut='o',typ='R'),
9014              A1              =SIMP(statut='o',typ='R'),
9015              A2              =SIMP(statut='o',typ='R'),
9016              A3              =SIMP(statut='o',typ='R'),
9017              A4              =SIMP(statut='o',typ='R'),
9018              A5              =SIMP(statut='o',typ='R'),
9019              GAMMA1          =SIMP(statut='o',typ='R'),
9020              GAMMA2          =SIMP(statut='o',typ='R'),
9021              GAMMA3          =SIMP(statut='o',typ='R'),
9022              GAMMA4          =SIMP(statut='o',typ='R'),
9023              GAMMA5          =SIMP(statut='o',typ='R'),
9024              M1              =SIMP(statut='o',typ='R'),
9025              M2              =SIMP(statut='o',typ='R'),
9026              M3              =SIMP(statut='o',typ='R'),
9027              M4              =SIMP(statut='o',typ='R'),
9028              M5              =SIMP(statut='o',typ='R'),
9029                            ),
9030            OHNO_FO         =FACT(statut='f',
9031              R_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9032              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9033              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9034              PHI             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9035              A1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9036              A2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9037              A3              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9038              A4              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9039              A5              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9040              GAMMA1          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9041              GAMMA2          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9042              GAMMA3          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9043              GAMMA4          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9044              GAMMA5          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9045              M1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9046              M2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9047              M3              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9048              M4              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9049              M5              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9050              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9051            ),
9052            LMARC           =FACT(statut='f',
9053              DE_0            =SIMP(statut='o',typ='R'),
9054              R_0             =SIMP(statut='o',typ='R'),
9055              N               =SIMP(statut='o',typ='R'),
9056              K               =SIMP(statut='o',typ='R'),
9057              Y_I             =SIMP(statut='o',typ='R'),
9058              Y_0             =SIMP(statut='o',typ='R'),
9059              B               =SIMP(statut='o',typ='R'),
9060              A_0             =SIMP(statut='o',typ='R'),
9061              RM              =SIMP(statut='o',typ='R'),
9062              M               =SIMP(statut='o',typ='R'),
9063              P               =SIMP(statut='o',typ='R'),
9064              P1              =SIMP(statut='o',typ='R'),
9065              P2              =SIMP(statut='o',typ='R'),
9066              M11             =SIMP(statut='o',typ='R'),
9067              M22             =SIMP(statut='o',typ='R'),
9068              M33             =SIMP(statut='o',typ='R'),
9069              M66             =SIMP(statut='o',typ='R'),
9070              N11             =SIMP(statut='o',typ='R'),
9071              N22             =SIMP(statut='o',typ='R'),
9072              N33             =SIMP(statut='o',typ='R'),
9073              N66             =SIMP(statut='o',typ='R'),
9074              Q11             =SIMP(statut='o',typ='R'),
9075              Q22             =SIMP(statut='o',typ='R'),
9076              Q33             =SIMP(statut='o',typ='R'),
9077              Q66             =SIMP(statut='o',typ='R'),
9078              R11             =SIMP(statut='o',typ='R'),
9079              R22             =SIMP(statut='o',typ='R'),
9080              R33             =SIMP(statut='o',typ='R'),
9081              R66             =SIMP(statut='o',typ='R'),
9082            ),
9083            LMARC_FO        =FACT(statut='f',
9084              DE_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9085              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9086              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9087              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9088              Y_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9089              Y_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9090              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9091              A_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9092              RM              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9093              M               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9094              P               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9095              P1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9096              P2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9097              M11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9098              M22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9099              M33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9100              M66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9101              N11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9102              N22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9103              N33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9104              N66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9105              Q11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9106              Q22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9107              Q33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9108              Q66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9109              R11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9110              R22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9111              R33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9112              R66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9113              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9114            ),
9115            VMIS_POUTRE     =FACT(statut='f',
9116              NP              =SIMP(statut='o',typ='R'),
9117              MEY             =SIMP(statut='o',typ='R'),
9118              MPY             =SIMP(statut='o',typ='R'),
9119              CAY             =SIMP(statut='o',typ='R'),
9120              CBY             =SIMP(statut='o',typ='R'),
9121              MEZ             =SIMP(statut='o',typ='R'),
9122              MPZ             =SIMP(statut='o',typ='R'),
9123              CAZ             =SIMP(statut='o',typ='R'),
9124              CBZ             =SIMP(statut='o',typ='R'),
9125              MPX             =SIMP(statut='o',typ='R'),
9126            ),
9127            VMIS_POUTRE_FO  =FACT(statut='f',
9128              NP              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9129              MEY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9130              MPY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9131              CAY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9132              CBY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9133              MEZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9134              MPZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9135              CAZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9136              CBZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9137              MPX             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9138              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9139            ),
9140            ARME            =FACT(statut='f',
9141              KYE             =SIMP(statut='o',typ='R'),
9142              DLE             =SIMP(statut='o',typ='R'),
9143              KYP             =SIMP(statut='o',typ='R'),
9144              DLP             =SIMP(statut='o',typ='R'),
9145              KYG             =SIMP(statut='o',typ='R'),
9146            ),
9147            ASSE_CORN       =FACT(statut='f',
9148              NU_1            =SIMP(statut='o',typ='R'),
9149              MU_1            =SIMP(statut='o',typ='R'),
9150              DXU_1           =SIMP(statut='o',typ='R'),
9151              DRYU_1          =SIMP(statut='o',typ='R'),
9152              C_1             =SIMP(statut='o',typ='R'),
9153              NU_2            =SIMP(statut='o',typ='R'),
9154              MU_2            =SIMP(statut='o',typ='R'),
9155              DXU_2           =SIMP(statut='o',typ='R'),
9156              DRYU_2          =SIMP(statut='o',typ='R'),
9157              C_2             =SIMP(statut='o',typ='R'),
9158              KY              =SIMP(statut='o',typ='R'),
9159              KZ              =SIMP(statut='o',typ='R'),
9160              KRX             =SIMP(statut='o',typ='R'),
9161              KRZ             =SIMP(statut='o',typ='R'),
9162            ),
9163            DIS_CONTACT     =FACT(statut='f',
9164              RIGI_NOR        =SIMP(statut='f',typ='R' ),
9165              DIST_1          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9166              DIST_2          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9167              RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9168              AMOR_NOR        =SIMP(statut='f',typ='R' ),
9169              AMOR_TAN        =SIMP(statut='f',typ='R' ),
9170              COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9171              JEU             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9172              KT_ULTM         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9173              EFFO_N_INIT     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9174              regles=(EXCLUS('RIGI_N_FO','RIGI_N_IRRA',),
9175                      EXCLUS('RELA_MZ','ANGLE_1'),
9176                      PRESENT_PRESENT('ANGLE_1','ANGLE_2','ANGLE_3','ANGLE_4',
9177                                      'MOMENT_1','MOMENT_2','MOMENT_3','MOMENT_4'),),
9178              RIGI_N_IRRA     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9179              RIGI_N_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9180              RELA_MZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9181              ANGLE_1         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9182              ANGLE_2         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9183              ANGLE_3         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9184              ANGLE_4         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9185              MOMENT_1        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9186              MOMENT_2        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9187              MOMENT_3        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9188              MOMENT_4        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9189              C_PRAGER_MZ     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9190              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("DRZ","INST","TEMP",) ),
9191            ),
9192            NADAI_B         =FACT(statut='f',
9193              F_C             =SIMP(statut='o',typ='R'),
9194              F_T             =SIMP(statut='o',typ='R'),
9195              CRIT_E_C        =SIMP(statut='o',typ='R'),
9196              EPSP_P_C        =SIMP(statut='o',typ='R'),
9197              EPSP_R_C        =SIMP(statut='o',typ='R'),
9198              EPSI_R_T        =SIMP(statut='o',typ='R'),
9199              FAC_T_C         =SIMP(statut='o',typ='R'),
9200            ),
9201            BETON_DOUBLE_DP =FACT(statut='f',
9202              F_C             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9203              F_T             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9204              COEF_BIAX       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9205              ENER_COMP_RUPT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9206              ENER_TRAC_RUPT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9207              COEF_ELAS_COMP  =SIMP(statut='o',typ='R'),
9208              LONG_CARA       =SIMP(statut='f',typ='R'),
9209              ECRO_COMP_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","PARABOLE") ),
9210              ECRO_TRAC_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","EXPONENT") ),
9211              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH",) ),
9212            ),
9213            LABORD_1D=FACT(statut='f',min=0 ,
9214              Y01             =SIMP(statut='o',typ='R'),
9215              Y02             =SIMP(statut='o',typ='R'),
9216              A1              =SIMP(statut='o',typ='R'),
9217              A2              =SIMP(statut='o',typ='R'),
9218              B1              =SIMP(statut='o',typ='R'),
9219              B2              =SIMP(statut='o',typ='R'),
9220              BETA1           =SIMP(statut='o',typ='R'),
9221              BETA2           =SIMP(statut='o',typ='R'),
9222              SIGF            =SIMP(statut='o',typ='R'),
9223            ),
9224          MAZARS=FACT(statut='f',min=0 ,
9225              EPSD0           =SIMP(statut='o',typ='R'),
9226              BETA            =SIMP(statut='o',typ='R'),
9227              AC              =SIMP(statut='o',typ='R'),
9228              BC              =SIMP(statut='o',typ='R'),
9229              AT              =SIMP(statut='o',typ='R'),
9230              BT              =SIMP(statut='o',typ='R'),
9231            ),
9232          MAZARS_FO=FACT(statut='f',min=0 ,
9233              EPSD0           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9234              BETA            =SIMP(statut='o',typ='R'),
9235              AC              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9236              BC              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9237              AT              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9238              BT              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9239              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","SECH","HYDR") ),
9240            ),
9241          JOINT_BA=FACT(statut='f',min=0 ,max=1,
9242              HPEN            =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=0.E+0),
9243              GTT             =SIMP(statut='o',typ='R',val_min=0.E+0),
9244              GAMD0           =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E-1),
9245              AD1             =SIMP(statut='o',typ='R',val_min=0.E+0),
9246              BD1             =SIMP(statut='o',typ='R',defaut= 5.E-1,val_min=1.E-1),
9247              GAMD2           =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0),
9248              AD2             =SIMP(statut='o',typ='R',val_min=0.E+0),
9249              BD2             =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1),
9250              VIFROT          =SIMP(statut='o',typ='R',val_min=0.E+0),
9251              FA              =SIMP(statut='o',typ='R',val_min=0.E+0),
9252              FC              =SIMP(statut='o',typ='R',val_min=0.E+0),
9253              EPSTR0          =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0),
9254              ADN             =SIMP(statut='o',typ='R',val_min=0.E+0),
9255              BDN             =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1),
9256            ),
9257           VENDOCHAB       =FACT(statut='f',
9258              S_VP            =SIMP(statut='o',typ='R'),
9259              SEDVP1          =SIMP(statut='o',typ='R'),
9260              SEDVP2          =SIMP(statut='o',typ='R'),
9261              N_VP            =SIMP(statut='o',typ='R'),
9262              M_VP            =SIMP(statut='o',typ='R'),
9263              K_VP            =SIMP(statut='o',typ='R'),
9264              R_D             =SIMP(statut='o',typ='R'),
9265              A_D             =SIMP(statut='o',typ='R'),
9266              K_D             =SIMP(statut='o',typ='R'),
9267            ),
9268            VENDOCHAB_FO    =FACT(statut='f',
9269              S_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9270              SEDVP1          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9271              SEDVP2          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9272              N_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9273              M_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9274              K_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9275              R_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9276              A_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9277              K_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9278              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","X",) ),
9279            ),
9280            PINTO_MENEGOTTO =FACT(statut='f',
9281              SY              =SIMP(statut='o',typ='R'),
9282              EPSI_ULTM       =SIMP(statut='o',typ='R'),
9283              SIGM_ULTM       =SIMP(statut='o',typ='R'),
9284              ELAN            =SIMP(statut='f',typ='R',defaut= 4. ),
9285              EPSP_HARD       =SIMP(statut='o',typ='R'),
9286              R_PM            =SIMP(statut='f',typ='R',defaut= 20. ),
9287              EP_SUR_E        =SIMP(statut='f',typ='R'),
9288              A1_PM           =SIMP(statut='f',typ='R',defaut= 18.5 ),
9289              A2_PM           =SIMP(statut='f',typ='R',defaut= 0.15 ),
9290              A6_PM           =SIMP(statut='f',typ='R',defaut= 620. ),
9291              C_PM            =SIMP(statut='f',typ='R',defaut= 0.5 ),
9292              A_PM            =SIMP(statut='f',typ='R',defaut= 6.0E-3 ),
9293            ),
9294            BPEL_BETON      =FACT(statut='f',
9295              PERT_FLUA       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9296              PERT_RETR       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9297            ),
9298            BPEL_ACIER      =FACT(statut='f',
9299             regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',),
9300                      PRESENT_PRESENT('MU0_RELAX','F_PRG',),),
9301              RELAX_1000      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9302              MU0_RELAX       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9303              F_PRG           =SIMP(statut='f',typ='R'),
9304              FROT_COURB      =SIMP(statut='f',typ='R',defaut=0.E+0),
9305              FROT_LINE       =SIMP(statut='f',typ='R',defaut=0.E+0),
9306            ),
9307            CAM_CLAY      =FACT(statut='f',
9308              PORO            =SIMP(statut='o',typ='R'),
9309              LAMBDA          =SIMP(statut='o',typ='R'),
9310              KAPA            =SIMP(statut='o',typ='R'),
9311              M               =SIMP(statut='o',typ='R'),
9312              PRES_CRIT       =SIMP(statut='o',typ='R'),
9313              PA              =SIMP(statut='o',typ='R'),
9314            ),
9315            BARCELONE      =FACT(statut='f',
9316              R             =SIMP(statut='o',typ='R'),
9317              BETA          =SIMP(statut='o',typ='R'),
9318              KC            =SIMP(statut='o',typ='R'),
9319              PC0_INIT      =SIMP(statut='o',typ='R'),
9320              KAPAS         =SIMP(statut='o',typ='R'),
9321              LAMBDAS       =SIMP(statut='o',typ='R'),
9322              ALPHAB        =SIMP(statut='f',typ='R'),
9323            ),
9324            CJS             =FACT(statut='f',
9325              BETA_CJS        =SIMP(statut='o',typ='R'),
9326              RM              =SIMP(statut='o',typ='R'),
9327              N_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9328              KP              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9329              RC              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9330              A_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9331              B_CJS           =SIMP(statut='f',typ='R',defaut= 1.0E+25 ),
9332              C_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9333              GAMMA_CJS       =SIMP(statut='o',typ='R'),
9334              MU_CJS          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9335              PCO             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9336              PA              =SIMP(statut='o',typ='R'),
9337              Q_INIT          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9338              R_INIT          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9339            ),
9340            ECRO_ASYM_LINE  =FACT(statut='f',
9341              DC_SIGM_EPSI    =SIMP(statut='o',typ='R'),
9342              SY_C            =SIMP(statut='o',typ='R'),
9343              DT_SIGM_EPSI    =SIMP(statut='o',typ='R'),
9344              SY_T            =SIMP(statut='o',typ='R'),
9345            ),
9346            GRANGER_FP      =FACT(statut='f',
9347              J1              =SIMP(statut='f',typ='R'),
9348              J2              =SIMP(statut='f',typ='R'),
9349              J3              =SIMP(statut='f',typ='R'),
9350              J4              =SIMP(statut='f',typ='R'),
9351              J5              =SIMP(statut='f',typ='R'),
9352              J6              =SIMP(statut='f',typ='R'),
9353              J7              =SIMP(statut='f',typ='R'),
9354              J8              =SIMP(statut='f',typ='R'),
9355              TAUX_1          =SIMP(statut='f',typ='R'),
9356              TAUX_2          =SIMP(statut='f',typ='R'),
9357              TAUX_3          =SIMP(statut='f',typ='R'),
9358              TAUX_4          =SIMP(statut='f',typ='R'),
9359              TAUX_5          =SIMP(statut='f',typ='R'),
9360              TAUX_6          =SIMP(statut='f',typ='R'),
9361              TAUX_7          =SIMP(statut='f',typ='R'),
9362              TAUX_8          =SIMP(statut='f',typ='R'),
9363              QSR_K           =SIMP(statut='f',typ='R'),
9364            ),
9365            GRANGER_FP_INDT =FACT(statut='f',
9366              J1              =SIMP(statut='f',typ='R'),
9367              J2              =SIMP(statut='f',typ='R'),
9368              J3              =SIMP(statut='f',typ='R'),
9369              J4              =SIMP(statut='f',typ='R'),
9370              J5              =SIMP(statut='f',typ='R'),
9371              J6              =SIMP(statut='f',typ='R'),
9372              J7              =SIMP(statut='f',typ='R'),
9373              J8              =SIMP(statut='f',typ='R'),
9374              TAUX_1          =SIMP(statut='f',typ='R'),
9375              TAUX_2          =SIMP(statut='f',typ='R'),
9376              TAUX_3          =SIMP(statut='f',typ='R'),
9377              TAUX_4          =SIMP(statut='f',typ='R'),
9378              TAUX_5          =SIMP(statut='f',typ='R'),
9379              TAUX_6          =SIMP(statut='f',typ='R'),
9380              TAUX_7          =SIMP(statut='f',typ='R'),
9381              TAUX_8          =SIMP(statut='f',typ='R'),
9382            ),
9383            V_GRANGER_FP    =FACT(statut='f',
9384              QSR_VEIL        =SIMP(statut='f',typ='R'),
9385              FONC_V          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9386              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
9387            ),
9388            BAZANT_FD      =FACT(statut='f',
9389              LAM_VISC      =SIMP(statut='o',typ='R'),
9390            ),
9391            BETON_UMLV_FP   =FACT(statut='f',min=0 ,
9392              K_RS            =SIMP(statut='o',typ='R'),
9393              ETA_RS          =SIMP(statut='o',typ='R'),
9394              K_IS            =SIMP(statut='o',typ='R'),
9395              ETA_IS          =SIMP(statut='o',typ='R'),
9396              K_RD            =SIMP(statut='o',typ='R'),
9397              ETA_RD          =SIMP(statut='o',typ='R'),
9398              ETA_ID          =SIMP(statut='o',typ='R'),
9399              ETA_FD          =SIMP(statut='f',typ='R'),
9400            ),
9401            GLRC            =FACT(statut='f',min=0,max=1,
9402              MEX1            =SIMP(statut='o',typ='R',val_min=0.E+0),
9403              MEY1            =SIMP(statut='o',typ='R',val_min=0.E+0),
9404              MEX2            =SIMP(statut='o',typ='R',val_max=0.E+0),
9405              MEY2            =SIMP(statut='o',typ='R',val_max=0.E+0),
9406              CX1             =SIMP(statut='o',typ='R',val_min=0.E+0),
9407              CY1             =SIMP(statut='o',typ='R',val_min=0.E+0),
9408              CXY1            =SIMP(statut='o',typ='R',val_min=0.E+0),
9409              CX2             =SIMP(statut='o',typ='R',val_min=0.E+0),
9410              CY2             =SIMP(statut='o',typ='R',val_min=0.E+0),
9411              CXY2            =SIMP(statut='o',typ='R',val_min=0.E+0),
9412            ),
9413            GLRC_FO         =FACT(statut='f',min=0,max=1,
9414              MEX1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9415              MEY1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9416              MEX2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9417              MEY2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9418              CX1             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9419              CY1             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9420              CXY1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9421              CX2             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9422              CY2             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9423              CXY2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9424              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("NORM",) ),
9425            ),
9426            CORR_ACIER   =FACT(statut='f',min=0 ,max=1,
9427              D_CORR           =SIMP(statut='o',typ='R'),
9428              ECRO_K           =SIMP(statut='o',typ='R'),
9429              ECRO_M           =SIMP(statut='o',typ='R'),
9430              SY              =SIMP(statut='o',typ='R'),
9431              ),                    
9432 #
9433 # comportement thermique
9434 #
9435            THER_NL         =FACT(statut='f',
9436              regles=(UN_PARMI('BETA','RHO_CP', ),),
9437              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9438              BETA            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9439              RHO_CP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9440              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9441            ),
9442            THER_HYDR       =FACT(statut='f',
9443              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9444              BETA            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9445              AFFINITE        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9446              CHALHYDR        =SIMP(statut='o',typ='R'),
9447              QSR_K           =SIMP(statut='o',typ='R'),
9448              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("HYDR","TEMP",) ),
9449            ),
9450            THER            =FACT(statut='f',
9451              LAMBDA          =SIMP(statut='o',typ='R'),
9452              RHO_CP          =SIMP(statut='f',typ='R'),
9453            ),
9454            THER_FO         =FACT(statut='f',
9455              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9456              RHO_CP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9457              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
9458            ),
9459            THER_ORTH       =FACT(statut='f',
9460              LAMBDA_L        =SIMP(statut='o',typ='R'),
9461              LAMBDA_T        =SIMP(statut='o',typ='R'),
9462              LAMBDA_N        =SIMP(statut='f',typ='R'),
9463              RHO_CP          =SIMP(statut='f',typ='R'),
9464            ),
9465            THER_COQUE      =FACT(statut='f',
9466              COND_LMM        =SIMP(statut='o',typ='R'),
9467              COND_TMM        =SIMP(statut='o',typ='R'),
9468              COND_LMP        =SIMP(statut='o',typ='R'),
9469              COND_TMP        =SIMP(statut='o',typ='R'),
9470              COND_LPP        =SIMP(statut='o',typ='R'),
9471              COND_TPP        =SIMP(statut='o',typ='R'),
9472              COND_LSI        =SIMP(statut='o',typ='R'),
9473              COND_TSI        =SIMP(statut='o',typ='R'),
9474              COND_NMM        =SIMP(statut='o',typ='R'),
9475              COND_NMP        =SIMP(statut='o',typ='R'),
9476              COND_NPP        =SIMP(statut='o',typ='R'),
9477              COND_NSI        =SIMP(statut='o',typ='R'),
9478              CMAS_MM         =SIMP(statut='f',typ='R'),
9479              CMAS_MP         =SIMP(statut='f',typ='R'),
9480              CMAS_PP         =SIMP(statut='f',typ='R'),
9481              CMAS_SI         =SIMP(statut='f',typ='R'),
9482            ),
9483            THER_COQUE_FO   =FACT(statut='f',
9484              COND_LMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9485              COND_TMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9486              COND_LMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9487              COND_TMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9488              COND_LPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9489              COND_TPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9490              COND_LSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9491              COND_TSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9492              COND_NMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9493              COND_NMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9494              COND_NPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9495              COND_NSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9496              CMAS_MM         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9497              CMAS_MP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9498              CMAS_PP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9499              CMAS_SI         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9500            ),
9501            SECH_GRANGER    =FACT(statut='f',
9502              A               =SIMP(statut='o',typ='R'),
9503              B               =SIMP(statut='o',typ='R'),
9504              QSR_K           =SIMP(statut='o',typ='R'),
9505              TEMP_0_C        =SIMP(statut='o',typ='R'),
9506            ),
9507            SECH_MENSI      =FACT(statut='f',
9508              A               =SIMP(statut='o',typ='R'),
9509              B               =SIMP(statut='o',typ='R'),
9510            ),
9511            SECH_BAZANT     =FACT(statut='f',
9512              D1              =SIMP(statut='o',typ='R'),
9513              ALPHA_BAZANT    =SIMP(statut='o',typ='R'),
9514              N               =SIMP(statut='o',typ='R'),
9515              FONC_DESORP     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9516              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9517            ),
9518            SECH_NAPPE      =FACT(statut='f',
9519              FONCTION        =SIMP(statut='o',typ=(nappe_sdaster,formule)),
9520              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","TSEC",) ),
9521            ),
9522 #
9523 # comportement métallurgique
9524 #
9525            META_ACIER      =FACT(statut='f',
9526              TRC             =SIMP(statut='o',typ=(tabl_trc) ),
9527              AR3             =SIMP(statut='o',typ='R'),
9528              ALPHA           =SIMP(statut='o',typ='R'),
9529              MS0             =SIMP(statut='o',typ='R'),
9530              AC1             =SIMP(statut='o',typ='R'),
9531              AC3             =SIMP(statut='o',typ='R'),
9532              TAUX_1          =SIMP(statut='o',typ='R'),
9533              TAUX_3          =SIMP(statut='o',typ='R'),
9534              LAMBDA0         =SIMP(statut='f',typ='R'),
9535              QSR_K           =SIMP(statut='f',typ='R'),
9536              D10             =SIMP(statut='f',typ='R'),
9537              WSR_K           =SIMP(statut='f',typ='R'),
9538            ),
9539            META_ZIRC       =FACT(statut='f',
9540              TDEQ            =SIMP(statut='o',typ='R'),
9541              N               =SIMP(statut='o',typ='R'),
9542              K               =SIMP(statut='o',typ='R'),
9543              TDC             =SIMP(statut='o',typ='R'),
9544              AC              =SIMP(statut='o',typ='R'),
9545              M               =SIMP(statut='o',typ='R'),
9546              QSR_K           =SIMP(statut='f',typ='R'),
9547              TDR             =SIMP(statut='o',typ='R'),
9548              AR              =SIMP(statut='o',typ='R'),
9549              BR              =SIMP(statut='o',typ='R'),
9550            ),
9551            DURT_META       =FACT(statut='f',
9552              F1_DURT         =SIMP(statut='o',typ='R'),
9553              F2_DURT         =SIMP(statut='o',typ='R'),
9554              F3_DURT         =SIMP(statut='o',typ='R'),
9555              F4_DURT         =SIMP(statut='o',typ='R'),
9556              C_DURT          =SIMP(statut='o',typ='R'),
9557            ),
9558            ELAS_META       =FACT(statut='f',
9559              E               =SIMP(statut='o',typ='R'),
9560              NU              =SIMP(statut='o',typ='R'),
9561              F_ALPHA         =SIMP(statut='o',typ='R'),
9562              C_ALPHA         =SIMP(statut='o',typ='R'),
9563              PHASE_REFE      =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
9564              EPSF_EPSC_TREF  =SIMP(statut='o',typ='R'),
9565              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
9566              F1_SY           =SIMP(statut='f',typ='R'),
9567              F2_SY           =SIMP(statut='f',typ='R'),
9568              F3_SY           =SIMP(statut='f',typ='R'),
9569              F4_SY           =SIMP(statut='f',typ='R'),
9570              C_SY            =SIMP(statut='f',typ='R'),
9571              SY_MELANGE      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9572              F1_S_VP         =SIMP(statut='f',typ='R'),
9573              F2_S_VP         =SIMP(statut='f',typ='R'),
9574              F3_S_VP         =SIMP(statut='f',typ='R'),
9575              F4_S_VP         =SIMP(statut='f',typ='R'),
9576              C_S_VP          =SIMP(statut='f',typ='R' ),
9577              S_VP_MELANGE    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9578              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("META",)),
9579            ),
9580            ELAS_META_FO    =FACT(statut='f',
9581              regles=(
9582                       PRESENT_PRESENT('F_ALPHA','TEMP_DEF_ALPHA'),
9583                       PRESENT_PRESENT('C_ALPHA','TEMP_DEF_ALPHA'),
9584                     ),
9585              E               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9586              NU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9587              F_ALPHA         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9588              C_ALPHA         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9589              PHASE_REFE      =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
9590              EPSF_EPSC_TREF  =SIMP(statut='o',typ='R'),
9591              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
9592              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
9593              F1_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9594              F2_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9595              F3_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9596              F4_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9597              C_SY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9598              SY_MELANGE      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9599              F1_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9600              F2_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9601              F3_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9602              F4_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9603              C_S_VP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9604              S_VP_MELANGE    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9605              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","META",)),
9606            ),
9607            META_ECRO_LINE  =FACT(statut='f',
9608              F1_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9609              F2_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9610              F3_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9611              F4_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9612              C_D_SIGM_EPSI   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9613              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",)),
9614            ),
9615            META_TRACTION   =FACT(statut='f',
9616              SIGM_F1         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9617              SIGM_F2         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9618              SIGM_F3         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9619              SIGM_F4         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9620              SIGM_C          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9621              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("EPSI","TEMP",)),
9622            ),
9623            META_VISC_FO    =FACT(statut='f',
9624              F1_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9625              F1_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9626              F1_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9627              F1_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9628              F2_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9629              F2_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9630              F2_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9631              F2_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9632              F3_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9633              F3_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9634              F3_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9635              F3_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9636              F4_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9637              F4_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9638              F4_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9639              F4_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9640              C_ETA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9641              C_N             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9642              C_C             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9643              C_M             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9644              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9645            ),
9646            META_PT         =FACT(statut='f',
9647              F1_K            =SIMP(statut='f',typ='R'),
9648              F2_K            =SIMP(statut='f',typ='R'),
9649              F3_K            =SIMP(statut='f',typ='R'),
9650              F4_K            =SIMP(statut='f',typ='R'),
9651              F1_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9652              F2_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9653              F3_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9654              F4_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9655              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","META",) ),
9656            ),
9657            META_RE         =FACT(statut='f',
9658              C_F1_THETA      =SIMP(statut='f',typ='R'),
9659              C_F2_THETA      =SIMP(statut='f',typ='R'),
9660              C_F3_THETA      =SIMP(statut='f',typ='R'),
9661              C_F4_THETA      =SIMP(statut='f',typ='R'),
9662              F1_C_THETA      =SIMP(statut='f',typ='R'),
9663              F2_C_THETA      =SIMP(statut='f',typ='R'),
9664              F3_C_THETA      =SIMP(statut='f',typ='R'),
9665              F4_C_THETA      =SIMP(statut='f',typ='R'),
9666            ),
9667 #
9668 # comportement fluide
9669 #
9670            FLUIDE          =FACT(statut='f',
9671              regles=(EXCLUS('CELE_C','CELE_R'),),
9672              RHO             =SIMP(statut='o',typ='R'),
9673              CELE_C          =SIMP(statut='f',typ='C'),
9674              CELE_R          =SIMP(statut='f',typ='R'),
9675            ),
9676            PORO_JOINT      =FACT(statut='f',
9677              RHO_FLUI        =SIMP(statut='o',typ='R'),
9678              ENTRO_FLUI      =SIMP(statut='o',typ='R'),
9679              BIOT_M          =SIMP(statut='o',typ='R'),
9680              C_0             =SIMP(statut='o',typ='R'),
9681              T_R             =SIMP(statut='o',typ='R'),
9682              ALPHA_M         =SIMP(statut='o',typ='R'),
9683              LAMBDA_T        =SIMP(statut='o',typ='R'),
9684              LAMBDA_H        =SIMP(statut='o',typ='R'),
9685              SOURCE_INIT     =SIMP(statut='o',typ='R'),
9686              OMEGA_0         =SIMP(statut='o',typ='R'),
9687            ),
9688 # =================================================================================
9689 # COMPORTEMENT THERMO_HYDRO_MECANIQUE
9690 # LES DONNEES NECESSAIRES A LA DEFINITION DU MATERIAU SONT DEPENDANTES
9691 # DE LA LOI DE COUPLAGE THM DE LA RELATION
9692 # LE COMPORTEMENT DE COUPLAGE COMP_THM N EST VALABLE QUE POUR LES LOIS
9693 # DE COUPLAGE : LIQU_SATU,LIQU_GAZ,GAZ,LIQU_GAZ_ATM,LIQU_VAPE_GAZ,LIQU_VAPE
9694 # ET LIQU_AD_GAZ_VAPE
9695 # POUR LES LOIS DE COUPLAGE LIQU_SATU_GAT ET LIQU_NSAT_GAT
9696 # ON NE MODIFIE RIEN
9697 # LA CORRESPONDANCE AVEC LES VARIABLES CACHEES EST LA SUIVANTE :
9698 # 1 -->  LIQU_SATU
9699 # 2 -->  GAZ
9700 # 3 -->  LIQU_VAPE
9701 # 4 -->  LIQU_VAPE_GAZ
9702 # 5 -->  LIQU_GAZ
9703 # 6 -->  LIQU_GAZ_ATM
9704 # 7 -->  LIQU_SATU_GAT
9705 # 8 -->  LIQU_NSAT_GAT
9706 # 9 -->  LIQU_AD_GAZ_VAPE
9707 # =================================================================================
9708            COMP_THM        = SIMP(statut='f', typ='TXM',
9709                                   into = ( "LIQU_SATU"     ,
9710                                            "LIQU_GAZ"      ,
9711                                            "GAZ"           ,
9712                                            "LIQU_GAZ_ATM"  ,
9713                                            "LIQU_VAPE_GAZ" ,
9714                                            "LIQU_VAPE"     ,
9715                                            "LIQU_SATU_GAT" ,
9716                                            "LIQU_NSAT_GAT" ,
9717                                            "LIQU_AD_GAZ_VAPE" ,
9718                                           ) ),
9719 # =================================================================================
9720 # --- LOI DE COUPLAGE DE TYPE LIQU_SATU -------------------------------------------
9721 # =================================================================================
9722 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
9723 # --- THM_INIT, THM_DIFFU, THM_LIQU -----------------------------------------------
9724 # =================================================================================
9725            b_liqusatu      = BLOC(condition = "COMP_THM == 'LIQU_SATU' ",
9726                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU",
9727 # =================================================================================
9728 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9729 # =================================================================================
9730                              THM_INIT   = FACT(statut='o',
9731 # ---------------------------------------------------------------------------------
9732 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9733 # ---------------------------------------------------------------------------------
9734                                            PRE1          = SIMP(statut='o',typ='R'),
9735                                            PORO          = SIMP(statut='o',typ='R'),
9736 # ---------------------------------------------------------------------------------
9737 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9738 # ---------------------------------------------------------------------------------
9739                                            TEMP          = SIMP(statut='f',typ='R'),
9740 # ---------------------------------------------------------------------------------
9741 # -------------------   DONNEES INUTILES   ----------------------------------------
9742 # ---------------------------------------------------------------------------------
9743                                            PRE2          = SIMP(statut='f',typ='R'),
9744                                            PRES_VAPE     = SIMP(statut='f',typ='R'),
9745                                            DEGR_SATU     = SIMP(statut='f',typ='R'),
9746                                            PRES_ATMO     = SIMP(statut='f',typ='R'),
9747 # ---------------------------------------------------------------------------------
9748 # -------------------   DONNEE CACHEE ---------------------------------------------
9749 # ---------------------------------------------------------------------------------
9750                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 1.0,),
9751                                              ),
9752 # =================================================================================
9753 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9754 # =================================================================================
9755                              THM_DIFFU  = FACT(statut='o',
9756 # ---------------------------------------------------------------------------------
9757 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9758 # ---------------------------------------------------------------------------------
9759                                            RHO           = SIMP(statut='o',typ='R'),
9760                                            BIOT_COEF     = SIMP(statut='o',typ='R'),
9761                                            PESA_X        = SIMP(statut='o',typ='R'),
9762                                            PESA_Y        = SIMP(statut='o',typ='R'),
9763                                            PESA_Z        = SIMP(statut='o',typ='R'),
9764 # ---------------------------------------------------------------------------------
9765 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9766 # ---------------------------------------------------------------------------------
9767                                            CP            = SIMP(statut='f',typ='R'),
9768                                            PERM_IN       = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9769                                            PERM_END      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9770                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
9771                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
9772                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9773                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9774                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9775                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9776                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9777                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9778                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9779                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9780                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9781                                            LAMB_CT   = SIMP(statut='f',typ='R'),
9782 # ---------------------------------------------------------------------------------
9783 # -------------------   DONNEES INUTILES   ----------------------------------------
9784 # ---------------------------------------------------------------------------------
9785                                            R_GAZ         = SIMP(statut='f',typ='R'),
9786                                            EMMAG           = SIMP(statut='f',typ='R'),
9787                                            SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9788                                            D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9789                                            PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9790                                            D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9791                                            PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9792                                            D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9793                                            D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9794                                            SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9795                                            D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9796                                            PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9797                                            CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9798                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9799                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9800                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9801                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9802                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9803                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9804                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9805                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9806                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9807                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9808                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9809 # ---------------------------------------------------------------------------------
9810 # -------------------   DONNEES CACHEES -------------------------------------------
9811 # ---------------------------------------------------------------------------------
9812          VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
9813                                              ),
9814 # =================================================================================
9815 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9816 # =================================================================================
9817                              THM_LIQU   = FACT(statut='o',
9818 # ---------------------------------------------------------------------------------
9819 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9820 # ---------------------------------------------------------------------------------
9821                                            RHO           = SIMP(statut='o',typ='R'),
9822                                            UN_SUR_K      = SIMP(statut='o',typ='R'),
9823                                            VISC          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9824                                            D_VISC_TEMP   = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9825 # ---------------------------------------------------------------------------------
9826 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9827 # ---------------------------------------------------------------------------------
9828                                            ALPHA         = SIMP(statut='f',typ='R'),
9829                                            CP            = SIMP(statut='f',typ='R'),
9830 # ---------------------------------------------------------------------------------
9831 # -------------------   DONNEES CACHEES -------------------------------------------
9832 # ---------------------------------------------------------------------------------
9833                                            VERI_P        = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9834                                          ),
9835 # =================================================================================
9836 # --- MOT-CLE INUTILE -------------------------------------------------------------
9837 # =================================================================================
9838            THM_GAZ         =FACT(statut='f',
9839              MASS_MOL        =SIMP(statut='f',typ='R'),
9840              CP              =SIMP(statut='f',typ='R'),
9841              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9842              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9843              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9844            ),
9845 # =================================================================================
9846 # --- MOT-CLE INUTILE -------------------------------------------------------------
9847 # =================================================================================
9848            THM_VAPE_GAZ    =FACT(statut='f',
9849              MASS_MOL        =SIMP(statut='f',typ='R'),
9850              CP              =SIMP(statut='f',typ='R'),
9851              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9852              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9853              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9854            ),
9855                                  ),
9856 # =================================================================================
9857 # --- LOI DE COUPLAGE DE TYPE LIQU_GAZ --------------------------------------------
9858 # =================================================================================
9859 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
9860 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ --------------------------------------
9861 # =================================================================================
9862            b_liqugaz      = BLOC(condition = "COMP_THM == 'LIQU_GAZ' ",
9863                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ",
9864 # =================================================================================
9865 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9866 # =================================================================================
9867                              THM_INIT   = FACT(statut='o',
9868 # ---------------------------------------------------------------------------------
9869 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9870 # ---------------------------------------------------------------------------------
9871                                            PRE1             = SIMP(statut='o',typ='R'),
9872                                            PRE2             = SIMP(statut='o',typ='R'),
9873                                            PORO             = SIMP(statut='o',typ='R'),
9874 # ---------------------------------------------------------------------------------
9875 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9876 # ---------------------------------------------------------------------------------
9877                                            TEMP             = SIMP(statut='f',typ='R'),
9878 # ---------------------------------------------------------------------------------
9879 # -------------------   DONNEES INUTILES   ----------------------------------------
9880 # ---------------------------------------------------------------------------------
9881                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
9882                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
9883                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
9884 # ---------------------------------------------------------------------------------
9885 # -------------------   DONNEE CACHEE ---------------------------------------------
9886 # ---------------------------------------------------------------------------------
9887                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 5.0,),
9888                                              ),
9889 # =================================================================================
9890 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9891 # =================================================================================
9892                              THM_DIFFU  = FACT(statut='o',
9893 # ---------------------------------------------------------------------------------
9894 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9895 # ---------------------------------------------------------------------------------
9896                                            R_GAZ            = SIMP(statut='o',typ='R'),
9897                                            RHO              = SIMP(statut='o',typ='R'),
9898                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
9899                                            PESA_X           = SIMP(statut='o',typ='R'),
9900                                            PESA_Y           = SIMP(statut='o',typ='R'),
9901                                            PESA_Z           = SIMP(statut='o',typ='R'),
9902                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9903                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9904                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9905                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9906                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9907                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9908                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9909 # ---------------------------------------------------------------------------------
9910 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9911 # ---------------------------------------------------------------------------------
9912                                            CP               = SIMP(statut='f',typ='R'),
9913                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9914                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9915                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
9916                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
9917                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9918                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9919                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9920                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9921                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9922                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9923                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9924                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9925                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9926                                            LAMB_CT   = SIMP(statut='f',typ='R'),
9927 # ---------------------------------------------------------------------------------
9928 # -------------------   DONNEES INUTILES   ----------------------------------------
9929 # ---------------------------------------------------------------------------------
9930                                            EMMAG           = SIMP(statut='f',typ='R'),
9931                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9932                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9933                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9934                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9935                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9936                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9937                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9938                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9939                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9940                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9941                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9942                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9943                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9944                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9945                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9946 # ---------------------------------------------------------------------------------
9947 # -------------------   DONNEES CACHEES -------------------------------------------
9948 # ---------------------------------------------------------------------------------
9949           VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
9950                                              ) ,
9951 # =================================================================================
9952 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9953 # =================================================================================
9954                              THM_LIQU   = FACT(statut='o',
9955 # ---------------------------------------------------------------------------------
9956 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9957 # ---------------------------------------------------------------------------------
9958                                            RHO              = SIMP(statut='o',typ='R'),
9959                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
9960                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9961                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9962 # ---------------------------------------------------------------------------------
9963 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9964 # ---------------------------------------------------------------------------------
9965                                            ALPHA            = SIMP(statut='f',typ='R'),
9966                                            CP               = SIMP(statut='f',typ='R'),
9967 # ---------------------------------------------------------------------------------
9968 # -------------------   DONNEES CACHEES -------------------------------------------
9969 # ---------------------------------------------------------------------------------
9970                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9971                                              ),
9972 # =================================================================================
9973 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
9974 # =================================================================================
9975                              THM_GAZ    = FACT(statut='o',
9976 # ---------------------------------------------------------------------------------
9977 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
9978 # ---------------------------------------------------------------------------------
9979                                            MASS_MOL        = SIMP(statut='o',typ='R'),
9980                                            VISC            = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9981                                            D_VISC_TEMP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9982 # ---------------------------------------------------------------------------------
9983 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
9984 # ---------------------------------------------------------------------------------
9985                                            CP              = SIMP(statut='f',typ='R'),
9986 # ---------------------------------------------------------------------------------
9987 # -------------------   DONNEES CACHEES -------------------------------------------
9988 # ---------------------------------------------------------------------------------
9989                                            VERI_P          = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
9990                                              ),
9991 # =================================================================================
9992 # --- MOT-CLE INUTILE -------------------------------------------------------------
9993 # =================================================================================
9994            THM_VAPE_GAZ    =FACT(statut='f',
9995              MASS_MOL        =SIMP(statut='f',typ='R'),
9996              CP              =SIMP(statut='f',typ='R'),
9997              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9998              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9999              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10000            ),
10001                                  ),
10002 # =================================================================================
10003 # --- LOI DE COUPLAGE DE TYPE GAZ -------------------------------------------------
10004 # =================================================================================
10005 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10006 # --- THM_INIT, THM_DIFFU, THM_GAZ ------------------------------------------------
10007 # =================================================================================
10008            b_gaz          = BLOC(condition = "COMP_THM == 'GAZ' ",
10009                                  fr="Paramètres nécessaires pour une loi de couplage de type GAZ",
10010 # =================================================================================
10011 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10012 # =================================================================================
10013                              THM_INIT   = FACT(statut='o',
10014 # ---------------------------------------------------------------------------------
10015 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10016 # ---------------------------------------------------------------------------------
10017                                            TEMP             = SIMP(statut='o',typ='R'),
10018                                            PRE1             = SIMP(statut='o',typ='R'),
10019                                            PORO             = SIMP(statut='o',typ='R'),
10020 # ---------------------------------------------------------------------------------
10021 # -------------------   DONNEES INUTILES   ----------------------------------------
10022 # ---------------------------------------------------------------------------------
10023                                            PRE2             = SIMP(statut='f',typ='R'),
10024                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
10025                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10026                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10027 # ---------------------------------------------------------------------------------
10028 # -------------------   DONNEE CACHEE ---------------------------------------------
10029 # ---------------------------------------------------------------------------------
10030                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 2.0,),
10031                                              ),
10032 # =================================================================================
10033 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10034 # =================================================================================
10035                              THM_DIFFU  = FACT(statut='o',
10036 # ---------------------------------------------------------------------------------
10037 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10038 # ---------------------------------------------------------------------------------
10039                                            R_GAZ            = SIMP(statut='o',typ='R'),
10040                                            RHO              = SIMP(statut='o',typ='R'),
10041                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10042                                            PESA_X           = SIMP(statut='o',typ='R'),
10043                                            PESA_Y           = SIMP(statut='o',typ='R'),
10044                                            PESA_Z           = SIMP(statut='o',typ='R'),
10045 # ---------------------------------------------------------------------------------
10046 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10047 # ---------------------------------------------------------------------------------
10048                                            CP               = SIMP(statut='f',typ='R'),
10049                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10050                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10051                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10052                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10053                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10054                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10055                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10056                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10057                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10058                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10059                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10060                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10061                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10062                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10063 # ---------------------------------------------------------------------------------
10064 # -------------------   DONNEES INUTILES   ----------------------------------------
10065 # ---------------------------------------------------------------------------------
10066                                            EMMAG           = SIMP(statut='f',typ='R'),
10067                                            SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10068                                            D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10069                                            PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10070                                            D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10071                                            PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10072                                            D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10073                                            D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10074                                            SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10075                                            D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10076                                            PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10077                                            CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10078                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10079                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10080                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10081                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10082                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10083                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10084                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10085                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10086                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10087                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10088                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10089 # ---------------------------------------------------------------------------------
10090 # -------------------   DONNEES CACHEES -------------------------------------------
10091 # ---------------------------------------------------------------------------------
10092             VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10093                                              ) ,
10094 # =================================================================================
10095 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10096 # =================================================================================
10097                              THM_GAZ    = FACT(statut='o',
10098 # ---------------------------------------------------------------------------------
10099 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10100 # ---------------------------------------------------------------------------------
10101                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10102                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10103                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10104 # ---------------------------------------------------------------------------------
10105 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10106 # ---------------------------------------------------------------------------------
10107                                            CP               = SIMP(statut='f',typ='R'),
10108 # ---------------------------------------------------------------------------------
10109 # -------------------   DONNEES CACHEES -------------------------------------------
10110 # ---------------------------------------------------------------------------------
10111                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10112                                              ),
10113 # =================================================================================
10114 # --- MOT-CLE INUTILE -------------------------------------------------------------
10115 # =================================================================================
10116            THM_LIQU        =FACT(statut='f',
10117              RHO             =SIMP(statut='f',typ='R'),
10118              UN_SUR_K        =SIMP(statut='f',typ='R'),
10119              ALPHA           =SIMP(statut='f',typ='R'),
10120              CP              =SIMP(statut='f',typ='R'),
10121              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10122              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10123              COEF_HENRY      =SIMP(statut='f',typ='R'),
10124              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10125            ),
10126 # =================================================================================
10127 # --- MOT-CLE INUTILE -------------------------------------------------------------
10128 # =================================================================================
10129            THM_VAPE_GAZ    =FACT(statut='f',
10130              MASS_MOL        =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              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10135            ),
10136                                  ),
10137 # =================================================================================
10138 # --- LOI DE COUPLAGE DE TYPE LIQU_GAZ_ATM ----------------------------------------
10139 # =================================================================================
10140 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10141 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ --------------------------------------
10142 # =================================================================================
10143            b_liqugazatm   = BLOC(condition = "COMP_THM == 'LIQU_GAZ_ATM' ",
10144                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ_ATM",
10145 # =================================================================================
10146 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10147 # =================================================================================
10148                              THM_INIT   = FACT(statut='o',
10149 # ---------------------------------------------------------------------------------
10150 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10151 # ---------------------------------------------------------------------------------
10152                                            PRE1             = SIMP(statut='o',typ='R'),
10153                                            PORO             = SIMP(statut='o',typ='R'),
10154 # ---------------------------------------------------------------------------------
10155 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10156 # ---------------------------------------------------------------------------------
10157                                            TEMP             = SIMP(statut='f',typ='R'),
10158 # ---------------------------------------------------------------------------------
10159 # -------------------   DONNEES INUTILES   ----------------------------------------
10160 # ---------------------------------------------------------------------------------
10161                                            PRE2             = SIMP(statut='f',typ='R'),
10162                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
10163                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10164                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10165 # ---------------------------------------------------------------------------------
10166 # -------------------   DONNEE CACHEE ---------------------------------------------
10167 # ---------------------------------------------------------------------------------
10168                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 6.0,),
10169                                              ),
10170 # =================================================================================
10171 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10172 # =================================================================================
10173                              THM_DIFFU  = FACT(statut='o',
10174 # ---------------------------------------------------------------------------------
10175 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10176 # ---------------------------------------------------------------------------------
10177                                            RHO              = SIMP(statut='o',typ='R'),
10178                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10179                                            PESA_X           = SIMP(statut='o',typ='R'),
10180                                            PESA_Y           = SIMP(statut='o',typ='R'),
10181                                            PESA_Z           = SIMP(statut='o',typ='R'),
10182                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10183                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10184                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10185                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10186 # ---------------------------------------------------------------------------------
10187 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10188 # ---------------------------------------------------------------------------------
10189                                            CP               = SIMP(statut='f',typ='R'),
10190                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10191                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10192                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10193                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10194                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10195                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10196                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10197                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10198                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10199                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10200                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10201                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10202                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10203                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10204 # ---------------------------------------------------------------------------------
10205 # -------------------   DONNEES INUTILES   ----------------------------------------
10206 # ---------------------------------------------------------------------------------
10207              EMMAG           = SIMP(statut='f',typ='R'),
10208              R_GAZ           =SIMP(statut='f',typ='R'),
10209              PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10210              D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10211              D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10212              SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10213              D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10214              PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10215              CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10216              FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10217              FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10218              FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10219              FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10220              D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10221              D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10222              FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10223              FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10224              FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10225              FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10226              D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10227 # ---------------------------------------------------------------------------------
10228 # -------------------   DONNEES CACHEES -------------------------------------------
10229 # ---------------------------------------------------------------------------------
10230              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10231                                              ) ,
10232 # =================================================================================
10233 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10234 # =================================================================================
10235                              THM_LIQU   = FACT(statut='o',
10236 # ---------------------------------------------------------------------------------
10237 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10238 # ---------------------------------------------------------------------------------
10239                                            RHO              = SIMP(statut='o',typ='R'),
10240                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10241                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10242                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10243 # ---------------------------------------------------------------------------------
10244 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10245 # ---------------------------------------------------------------------------------
10246                                            ALPHA            = SIMP(statut='f',typ='R'),
10247                                            CP               = SIMP(statut='f',typ='R'),
10248 # ---------------------------------------------------------------------------------
10249 # -------------------   DONNEES CACHEES -------------------------------------------
10250 # ---------------------------------------------------------------------------------
10251                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10252                                              ),
10253 # =================================================================================
10254 # --- MOT-CLE INUTILE -------------------------------------------------------------
10255 # =================================================================================
10256                              THM_GAZ    = FACT(statut='f',
10257                                            MASS_MOL         = SIMP(statut='f',typ='R'),
10258                                            VISC             = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10259                                            D_VISC_TEMP      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10260                                            CP               = SIMP(statut='f',typ='R'),
10261                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10262                                              ),
10263 # =================================================================================
10264 # --- MOT-CLE INUTILE -------------------------------------------------------------
10265 # =================================================================================
10266            THM_VAPE_GAZ    =FACT(statut='f',
10267              MASS_MOL        =SIMP(statut='f',typ='R'),
10268              CP              =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              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10272            ),
10273                                  ),
10274 # =================================================================================
10275 # --- LOI DE COUPLAGE DE TYPE LIQU_VAPE_GAZ ---------------------------------------
10276 # =================================================================================
10277 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10278 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ ------------------------
10279 # =================================================================================
10280            b_liquvapegaz  = BLOC(condition = "COMP_THM == 'LIQU_VAPE_GAZ' ",
10281                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE_GAZ",
10282 # =================================================================================
10283 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10284 # =================================================================================
10285                              THM_INIT   = FACT(statut='o',
10286 # ---------------------------------------------------------------------------------
10287 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10288 # ---------------------------------------------------------------------------------
10289                                            PRE1             = SIMP(statut='o',typ='R'),
10290                                            PRE2             = SIMP(statut='o',typ='R'),
10291                                            PORO             = SIMP(statut='o',typ='R'),
10292                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
10293 # ---------------------------------------------------------------------------------
10294 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10295 # ---------------------------------------------------------------------------------
10296                                            TEMP             = SIMP(statut='f',typ='R'),
10297 # ---------------------------------------------------------------------------------
10298 # -------------------   DONNEES INUTILES   ----------------------------------------
10299 # ---------------------------------------------------------------------------------
10300                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10301                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10302 # ---------------------------------------------------------------------------------
10303 # -------------------   DONNEE CACHEE ---------------------------------------------
10304 # ---------------------------------------------------------------------------------
10305                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 4.0,),
10306                                              ),
10307 # =================================================================================
10308 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10309 # =================================================================================
10310                              THM_DIFFU  = FACT(statut='o',
10311 # ---------------------------------------------------------------------------------
10312 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10313 # ---------------------------------------------------------------------------------
10314                                            R_GAZ            = SIMP(statut='o',typ='R'),
10315                                            RHO              = SIMP(statut='o',typ='R'),
10316                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10317                                            PESA_X           = SIMP(statut='o',typ='R'),
10318                                            PESA_Y           = SIMP(statut='o',typ='R'),
10319                                            PESA_Z           = SIMP(statut='o',typ='R'),
10320                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10321                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10322                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10323                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10324                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10325                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10326                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10327                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10328 # ---------------------------------------------------------------------------------
10329 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10330 # ---------------------------------------------------------------------------------
10331                                            CP               = SIMP(statut='f',typ='R'),
10332                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10333                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10334                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10335                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10336                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10337                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10338                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10339                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10340                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10341                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10342                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10343                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10344                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10345                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10346 # ---------------------------------------------------------------------------------
10347 # -------------------   DONNEES FACULTATIVE   ----------------------------------
10348 # ---------------------------------------------------------------------------------
10349                                            EMMAG            = SIMP(statut='f',typ='R'),
10350                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10351                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10352                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10353                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10354                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10355                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10356                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10357                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10358                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10359 # ---------------------------------------------------------------------------------
10360 # -------------------   DONNEES INUTILES   ----------------------------------------
10361 # ---------------------------------------------------------------------------------
10362                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10363                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10364                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10365                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10366                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10367 # ---------------------------------------------------------------------------------
10368 # -------------------   DONNEES CACHEES -------------------------------------------
10369 # ---------------------------------------------------------------------------------
10370          VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT" ,"PORO","PGAZ","PCAP","ENDO","PVAP","PLIQ","PAD",) ),
10371                                              ) ,
10372 # =================================================================================
10373 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10374 # =================================================================================
10375                              THM_LIQU   = FACT(statut='o',
10376 # ---------------------------------------------------------------------------------
10377 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10378 # ---------------------------------------------------------------------------------
10379                                            RHO              = SIMP(statut='o',typ='R'),
10380                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10381                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10382                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10383 # ---------------------------------------------------------------------------------
10384 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10385 # ---------------------------------------------------------------------------------
10386                                            ALPHA            = SIMP(statut='f',typ='R'),
10387                                            CP               = SIMP(statut='f',typ='R'),
10388 # ---------------------------------------------------------------------------------
10389 # -------------------   DONNEES CACHEES -------------------------------------------
10390 # ---------------------------------------------------------------------------------
10391                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10392                                              ),
10393 # =================================================================================
10394 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10395 # =================================================================================
10396                              THM_GAZ    = FACT(statut='o',
10397 # ---------------------------------------------------------------------------------
10398 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10399 # ---------------------------------------------------------------------------------
10400                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10401                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10402                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10403 # ---------------------------------------------------------------------------------
10404 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10405 # ---------------------------------------------------------------------------------
10406                                            CP               = SIMP(statut='f',typ='R'),
10407 # ---------------------------------------------------------------------------------
10408 # -------------------   DONNEES CACHEES -------------------------------------------
10409 # ---------------------------------------------------------------------------------
10410                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10411                                              ),
10412 # =================================================================================
10413 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10414 # =================================================================================
10415                              THM_VAPE_GAZ = FACT(statut='o',
10416 # ---------------------------------------------------------------------------------
10417 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10418 # ---------------------------------------------------------------------------------
10419                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10420                                            CP               = SIMP(statut='o',typ='R'),
10421                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10422                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10423 # ---------------------------------------------------------------------------------
10424 # -------------------   DONNEES CACHEES -------------------------------------------
10425 # ---------------------------------------------------------------------------------
10426                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10427                                              ),
10428                                  ),
10429 # =================================================================================
10430 # --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ_VAPE -------------------------------------
10431 # =================================================================================
10432 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10433 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ THM_AIR_DISSOUS---------
10434 # =================================================================================
10435            b_liquadvape  = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ_VAPE' ",
10436                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ_VAPE",
10437 # =================================================================================
10438 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10439 # =================================================================================
10440                              THM_INIT   = FACT(statut='o',
10441 # ---------------------------------------------------------------------------------
10442 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10443 # ---------------------------------------------------------------------------------
10444                                            PRE1             = SIMP(statut='o',typ='R'),
10445                                            PRE2             = SIMP(statut='o',typ='R'),
10446                                            PORO             = SIMP(statut='o',typ='R'),
10447                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
10448 # ---------------------------------------------------------------------------------
10449 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10450 # ---------------------------------------------------------------------------------
10451                                            TEMP             = SIMP(statut='f',typ='R'),
10452 # ---------------------------------------------------------------------------------
10453 # -------------------   DONNEES INUTILES   ----------------------------------------
10454 # ---------------------------------------------------------------------------------
10455                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10456                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10457 # ---------------------------------------------------------------------------------
10458 # -------------------   DONNEE CACHEE ---------------------------------------------
10459 # ---------------------------------------------------------------------------------
10460                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 9.0,),
10461                                              ),
10462 # =================================================================================
10463 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10464 # =================================================================================
10465                              THM_DIFFU  = FACT(statut='o',
10466 # ---------------------------------------------------------------------------------
10467 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10468 # ---------------------------------------------------------------------------------
10469                                            R_GAZ            = SIMP(statut='o',typ='R'),
10470                                            RHO              = SIMP(statut='o',typ='R'),
10471                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10472                                            PESA_X           = SIMP(statut='o',typ='R'),
10473                                            PESA_Y           = SIMP(statut='o',typ='R'),
10474                                            PESA_Z           = SIMP(statut='o',typ='R'),
10475                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10476                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10477                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10478                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10479                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10480                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10481                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10482                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10483                                            FICKA_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10484 # ---------------------------------------------------------------------------------
10485 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10486 # ---------------------------------------------------------------------------------
10487                                            CP               = SIMP(statut='f',typ='R'),
10488                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10489                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10490                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10491                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10492                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10493                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10494                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10495                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10496                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10497                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10498                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10499                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10500                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10501                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10502 # ---------------------------------------------------------------------------------
10503 # -------------------   DONNEES FACULTATIVES   ------------------------------------
10504 # ---------------------------------------------------------------------------------
10505                                            EMMAG            = SIMP(statut='f',typ='R'),
10506                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10507                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10508                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10509                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10510                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10511                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10512                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10513                                            D_FV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10514                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10515 #
10516                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10517                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10518                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10519                                            D_FA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10520 # ---------------------------------------------------------------------------------
10521 # -------------------   DONNEES CACHEES -------------------------------------------
10522 # ---------------------------------------------------------------------------------
10523          VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO","PVAP","PLIQ","PAD",) ),
10524                                              ) ,
10525 # =================================================================================
10526 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10527 # =================================================================================
10528                              THM_LIQU   = FACT(statut='o',
10529 # ---------------------------------------------------------------------------------
10530 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10531 # ---------------------------------------------------------------------------------
10532                                            RHO              = SIMP(statut='o',typ='R'),
10533                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10534                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10535                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10536 # ---------------------------------------------------------------------------------
10537 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10538 # ---------------------------------------------------------------------------------
10539                                            ALPHA            = SIMP(statut='f',typ='R'),
10540                                            CP               = SIMP(statut='f',typ='R'),
10541                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10542                                            D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10543                                            LAMB_T    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10544                                            D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10545                                            LAMB_CT        = SIMP(statut='f',typ='R'),
10546 # ---------------------------------------------------------------------------------
10547 # -------------------   DONNEES CACHEES -------------------------------------------
10548 # ---------------------------------------------------------------------------------
10549                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10550                                              ),
10551 # =================================================================================
10552 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10553 # =================================================================================
10554                              THM_GAZ    = FACT(statut='o',
10555 # ---------------------------------------------------------------------------------
10556 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10557 # ---------------------------------------------------------------------------------
10558                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10559                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10560                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10561 # ---------------------------------------------------------------------------------
10562 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10563 # ---------------------------------------------------------------------------------
10564                                            CP               = SIMP(statut='f',typ='R'),
10565 # ---------------------------------------------------------------------------------
10566 # -------------------   DONNEES CACHEES -------------------------------------------
10567 # ---------------------------------------------------------------------------------
10568                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10569                                              ),
10570 # =================================================================================
10571 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10572 # =================================================================================
10573                              THM_VAPE_GAZ = FACT(statut='o',
10574 # ---------------------------------------------------------------------------------
10575 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10576 # ---------------------------------------------------------------------------------
10577                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10578                                            CP               = SIMP(statut='o',typ='R'),
10579                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10580                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10581 # ---------------------------------------------------------------------------------
10582 # -------------------   DONNEES CACHEES -------------------------------------------
10583 # ---------------------------------------------------------------------------------
10584                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10585                                              ),
10586 # =================================================================================
10587 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10588 # =================================================================================
10589                              THM_AIR_DISS = FACT(statut='o',
10590 # ---------------------------------------------------------------------------------
10591 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10592 # ---------------------------------------------------------------------------------
10593                                            CP               = SIMP(statut='o',typ='R'),
10594                                            COEF_HENRY       = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10595                                            VERI_P      = SIMP(statut='c',typ='TXM',defaut=("TEMP",),),
10596                                              ),
10597                                  ),
10598 # =================================================================================
10599 # --- LOI DE COUPLAGE DE TYPE LIQU_VAPE -------------------------------------------
10600 # =================================================================================
10601 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10602 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_VAPE_GAZ ---------------------------------
10603 # =================================================================================
10604            b_liquvape  = BLOC(condition = "COMP_THM == 'LIQU_VAPE' ",
10605                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE",
10606 # =================================================================================
10607 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10608 # =================================================================================
10609                              THM_INIT   = FACT(statut='o',
10610 # ---------------------------------------------------------------------------------
10611 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10612 # ---------------------------------------------------------------------------------
10613                                            PRE1             = SIMP(statut='o',typ='R'),
10614                                            PORO             = SIMP(statut='o',typ='R'),
10615                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
10616 # ---------------------------------------------------------------------------------
10617 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10618 # ---------------------------------------------------------------------------------
10619                                            TEMP             = SIMP(statut='f',typ='R'),
10620 # ---------------------------------------------------------------------------------
10621 # -------------------   DONNEES INUTILES   ----------------------------------------
10622 # ---------------------------------------------------------------------------------
10623                                            PRE2             = SIMP(statut='f',typ='R'),
10624                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10625                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10626 # ---------------------------------------------------------------------------------
10627 # -------------------   DONNEE CACHEE ---------------------------------------------
10628 # ---------------------------------------------------------------------------------
10629                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 3.0,),
10630                                              ),
10631 # =================================================================================
10632 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10633 # =================================================================================
10634                              THM_DIFFU  = FACT(statut='o',
10635 # ---------------------------------------------------------------------------------
10636 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10637 # ---------------------------------------------------------------------------------
10638                                            R_GAZ            = SIMP(statut='o',typ='R'),
10639                                            RHO              = SIMP(statut='o',typ='R'),
10640                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10641                                            PESA_X           = SIMP(statut='o',typ='R'),
10642                                            PESA_Y           = SIMP(statut='o',typ='R'),
10643                                            PESA_Z           = SIMP(statut='o',typ='R'),
10644                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10645                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10646                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10647                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10648                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10649                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10650                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10651 # ---------------------------------------------------------------------------------
10652 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10653 # ---------------------------------------------------------------------------------
10654                                            CP               = SIMP(statut='f',typ='R'),
10655                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10656                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10657                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10658                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10659                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10660                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10661                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10662                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10663                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10664                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10665                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10666                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10667                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10668                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10669 # ---------------------------------------------------------------------------------
10670 # -------------------   DONNEES INUTILES   ----------------------------------------
10671 # ---------------------------------------------------------------------------------
10672                                            EMMAG            = SIMP(statut='f',typ='R'),
10673                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10674                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10675                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10676                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10677                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10678                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10679                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10680                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10681                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10682                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10683                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10684                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10685                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10686                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10687                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10688 # ---------------------------------------------------------------------------------
10689 # -------------------   DONNEES CACHEES -------------------------------------------
10690 # ---------------------------------------------------------------------------------
10691             VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10692                                              ) ,
10693 # =================================================================================
10694 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10695 # =================================================================================
10696                              THM_LIQU   = FACT(statut='o',
10697 # ---------------------------------------------------------------------------------
10698 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10699 # ---------------------------------------------------------------------------------
10700                                            RHO              = SIMP(statut='o',typ='R'),
10701                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10702                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10703                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10704 # ---------------------------------------------------------------------------------
10705 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10706 # ---------------------------------------------------------------------------------
10707                                            ALPHA            = SIMP(statut='f',typ='R'),
10708                                            CP               = SIMP(statut='f',typ='R'),
10709 # ---------------------------------------------------------------------------------
10710 # -------------------   DONNEES CACHEES ---------------------------------------------
10711 # ---------------------------------------------------------------------------------
10712                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10713                                              ),
10714 # =================================================================================
10715 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10716 # =================================================================================
10717                              THM_VAPE_GAZ = FACT(statut='o',
10718 # ---------------------------------------------------------------------------------
10719 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10720 # ---------------------------------------------------------------------------------
10721                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10722                                            CP               = SIMP(statut='o',typ='R'),
10723                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10724                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10725 # ---------------------------------------------------------------------------------
10726 # -------------------   DONNEES CACHEES -------------------------------------------
10727 # ---------------------------------------------------------------------------------
10728                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10729                                              ),
10730 # =================================================================================
10731 # --- MOT-CLE INUTILE -------------------------------------------------------------
10732 # =================================================================================
10733            THM_GAZ         =FACT(statut='f',
10734              MASS_MOL        =SIMP(statut='f',typ='R'),
10735              CP              =SIMP(statut='f',typ='R'),
10736              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10737              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10738              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10739            ),
10740                                  ),
10741 # =================================================================================
10742            b_liqusatugat   = BLOC(condition = "COMP_THM == 'LIQU_SATU_GAT' ",
10743                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU_GAT",
10744            THM_LIQU        =FACT(statut='f',
10745              RHO             =SIMP(statut='o',typ='R'),
10746              UN_SUR_K        =SIMP(statut='f',typ='R'),
10747              ALPHA           =SIMP(statut='f',typ='R'),
10748              CP              =SIMP(statut='f',typ='R'),
10749              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10750              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10751              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10752              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10753              COEF_HENRY      =SIMP(statut='f',typ='R'),
10754              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10755            ),
10756            THM_GAZ         =FACT(statut='f',
10757              MASS_MOL        =SIMP(statut='f',typ='R'),
10758              CP              =SIMP(statut='f',typ='R'),
10759              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10760              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10761              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10762              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10763              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10764            ),
10765            THM_VAPE_GAZ    =FACT(statut='f',
10766              MASS_MOL        =SIMP(statut='f',typ='R'),
10767              CP              =SIMP(statut='f',typ='R'),
10768              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10769              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10770              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10771            ),
10772             THM_AIR_DISS = FACT(statut='f',
10773                             CP               = SIMP(statut='f',typ='R'),
10774                             COEF_HENRY       = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10775                             VERI_P      = SIMP(statut='c',typ='TXM',defaut=("TEMP",),),
10776                               ),
10777            THM_INIT        =FACT(statut='f',
10778              TEMP            =SIMP(statut='o',typ='R'),
10779              PRE1            =SIMP(statut='o',typ='R'),
10780              PRE2            =SIMP(statut='o',typ='R'),
10781              PORO            =SIMP(statut='o',typ='R'),
10782              PRES_VAPE       =SIMP(statut='o',typ='R'),
10783              DEGR_SATU       =SIMP(statut='f',typ='R'),
10784              PRES_ATMO       =SIMP(statut='f',typ='R'),
10785 # ---------------------------------------------------------------------------------
10786 # -------------------   DONNEE CACHEE ---------------------------------------------
10787 # ---------------------------------------------------------------------------------
10788              COMP_THM         = SIMP(statut='c',typ='R',defaut= 7.0,),
10789            ),
10790            THM_DIFFU       =FACT(statut='f',
10791              R_GAZ           =SIMP(statut='o',typ='R'),
10792              RHO             =SIMP(statut='f',typ='R'),
10793              CP              =SIMP(statut='f',typ='R'),
10794              BIOT_COEF       =SIMP(statut='f',typ='R'),
10795              SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10796              D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10797              PESA_X          =SIMP(statut='f',typ='R'),
10798              PESA_Y          =SIMP(statut='f',typ='R'),
10799              PESA_Z          =SIMP(statut='f',typ='R'),
10800              PERM_IN         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10801              PERM_END       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10802                           regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10803                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10804              PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10805              PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10806              PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10807              PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10808              D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10809              PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10810              D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10811              D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10812              FICK            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10813              D_FICK_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10814              D_FICK_GAZ_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10815              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10816              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10817              SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10818              D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10819              PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10820              CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10821              FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10822              FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10823              FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10824              FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10825              D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10826              D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10827              FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10828              FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10829              FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10830              FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10831              D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10832              VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10833            ),
10834            ),
10835            b_liqunsatgat   = BLOC(condition = "COMP_THM == 'LIQU_NSAT_GAT' ",
10836                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_NSAT_GAT",
10837            THM_LIQU        =FACT(statut='f',
10838              RHO             =SIMP(statut='o',typ='R'),
10839              UN_SUR_K        =SIMP(statut='f',typ='R'),
10840              ALPHA           =SIMP(statut='f',typ='R'),
10841              CP              =SIMP(statut='f',typ='R'),
10842              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10843              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10844              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10845              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10846              COEF_HENRY      =SIMP(statut='f',typ='R'),
10847              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10848            ),
10849            THM_GAZ         =FACT(statut='f',
10850              MASS_MOL        =SIMP(statut='f',typ='R'),
10851              CP              =SIMP(statut='f',typ='R'),
10852              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10853              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10854              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10855              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10856              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10857            ),
10858             THM_AIR_DISS = FACT(statut='f',
10859                             CP               = SIMP(statut='f',typ='R'),
10860                             COEF_HENRY       = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10861                               ),
10862            THM_VAPE_GAZ    =FACT(statut='f',
10863              MASS_MOL        =SIMP(statut='f',typ='R'),
10864              CP              =SIMP(statut='f',typ='R'),
10865              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10866              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10867              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10868            ),
10869            THM_INIT        =FACT(statut='f',
10870              TEMP            =SIMP(statut='o',typ='R'),
10871              PRE1            =SIMP(statut='o',typ='R'),
10872              PRE2            =SIMP(statut='o',typ='R'),
10873              PORO            =SIMP(statut='o',typ='R'),
10874              PRES_VAPE       =SIMP(statut='o',typ='R'),
10875              DEGR_SATU       =SIMP(statut='f',typ='R'),
10876              PRES_ATMO       =SIMP(statut='f',typ='R'),
10877 # ---------------------------------------------------------------------------------
10878 # -------------------   DONNEE CACHEE ---------------------------------------------
10879 # ---------------------------------------------------------------------------------
10880              COMP_THM         = SIMP(statut='c',typ='R',defaut= 8.0,),
10881            ),
10882            THM_DIFFU       =FACT(statut='f',
10883              R_GAZ           =SIMP(statut='o',typ='R'),
10884              RHO             =SIMP(statut='f',typ='R'),
10885              CP              =SIMP(statut='f',typ='R'),
10886              BIOT_COEF       =SIMP(statut='f',typ='R'),
10887              SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10888              D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10889              PESA_X          =SIMP(statut='f',typ='R'),
10890              PESA_Y          =SIMP(statut='f',typ='R'),
10891              PESA_Z          =SIMP(statut='f',typ='R'),
10892              PERM_IN         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10893              PERM_END       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10894                           regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10895                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10896              PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10897              PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10898              PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10899              PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10900              D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10901              PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10902              D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10903              D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10904              FICK            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10905              D_FICK_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10906              D_FICK_GAZ_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10907              LAMBDA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10908              D_LAMBDA_TEMP   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10909              SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10910              D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10911              PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10912              CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10913              FICKV_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10914              FICKV_PV        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10915              FICKV_PG        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10916              FICKV_S         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10917              D_FV_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10918              D_FV_PG         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10919              FICKA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10920              FICKA_PA        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10921              FICKA_PL        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10922              FICKA_S         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10923              D_FA_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10924              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10925            ),
10926            ),
10927 # courbes et coefficients associés à la fatigue et au dommage
10928 #
10929            FATIGUE         =FACT(statut='f',
10930              regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'),
10931                      PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'),
10932                      PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'),
10933                      ENSEMBLE('A_BASQUIN','BETA_BASQUIN'),
10934                      ENSEMBLE('A0','A1','A2','A3','SL'),
10935                      PRESENT_PRESENT('A0','E_REFE'),
10936                      ENSEMBLE('D0','TAU0'),),
10937              WOHLER          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10938              A_BASQUIN       =SIMP(statut='f',typ='R'),
10939              BETA_BASQUIN    =SIMP(statut='f',typ='R'),
10940              A0              =SIMP(statut='f',typ='R'),
10941              A1              =SIMP(statut='f',typ='R'),
10942              A2              =SIMP(statut='f',typ='R'),
10943              A3              =SIMP(statut='f',typ='R'),
10944              SL              =SIMP(statut='f',typ='R'),
10945              MANSON_COFFIN   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10946              E_REFE          =SIMP(statut='f',typ='R'),
10947              D0              =SIMP(statut='f',typ='R'),
10948              TAU0            =SIMP(statut='f',typ='R'),
10949              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("SIGM","EPSI",) ),
10950            ),
10951            DOMMA_LEMAITRE  =FACT(statut='f',
10952              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10953              EPSP_SEUIL      =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10954              EXP_S           =SIMP(statut='f',typ='R',val_min=0.0E0,defaut=1.0),
10955              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
10956            ),
10957            CISA_PLAN_CRIT  =FACT(statut='f',
10958              CRITERE       =SIMP(statut='o',typ='TXM',into=("MATAKE","DANG_VAN_MODI_AC","DANG_VAN_MODI_AV","DOMM_MAXI") ),
10959
10960              b_critere_matake =BLOC(condition="CRITERE=='MATAKE'",
10961                                     fr="Cisaillement plan critique  critère de matake",
10962                MATAKE_A         =SIMP(statut='o',typ='R'),
10963                MATAKE_B         =SIMP(statut='o',typ='R'),
10964                COEF_FLEX_TORS   =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
10965              ),
10966
10967              b_critere_dang_van =BLOC(condition="(CRITERE=='DANG_VAN_MODI_AC' or CRITERE=='DANG_VAN_MODI_AV')",
10968                                  fr="Critère de Dang Van modifié pour les cas amplitude constante et amplitude variable",
10969                D_VAN_A            =SIMP(statut='o',typ='R'),
10970                D_VAN_B            =SIMP(statut='o',typ='R'),
10971                COEF_CISA_TRAC     =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
10972              ),
10973
10974              b_crit_domm_maxi  =BLOC(condition="CRITERE=='DOMM_MAXI'",
10975                                       fr="Critère pour chargement non périodique : domm_maxi",
10976                DOMM_A             =SIMP(statut='o',typ='R'),
10977                DOMM_B             =SIMP(statut='o',typ='R'),
10978                COEF_CISA_TRAC     =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
10979              ),
10980            ),
10981 #
10982 # autres comportements ...
10983 #
10984            WEIBULL         =FACT(statut='f',
10985              M               =SIMP(statut='o',typ='R'),
10986              VOLU_REFE       =SIMP(statut='o',typ='R'),
10987              SIGM_REFE       =SIMP(statut='o',typ='R'),
10988              SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
10989            ),
10990            WEIBULL_FO      =FACT(statut='f',
10991              M               =SIMP(statut='o',typ='R'),
10992              VOLU_REFE       =SIMP(statut='o',typ='R'),
10993              SIGM_CNV        =SIMP(statut='o',typ='R'),
10994              SIGM_REFE       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10995              SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
10996              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
10997            ),
10998            NON_LOCAL       =FACT(statut='f',
10999              LONG_CARA       =SIMP(statut='o',typ='R'),
11000              COEF_RIGI_MINI  =SIMP(statut='f',typ='R'),
11001            ),
11002            RUPT_FRAG       =FACT(statut='f',
11003              GC              =SIMP(statut='o',typ='R'),
11004              SIGM_C          =SIMP(statut='f',typ='R'),
11005              SAUT_C          =SIMP(statut='f',typ='R'),
11006            ),
11007            RCCM            =FACT(statut='f',
11008              SY_02           =SIMP(statut='f',typ='R'),
11009              SM              =SIMP(statut='f',typ='R'),
11010              SU              =SIMP(statut='f',typ='R'),
11011              SC              =SIMP(statut='f',typ='R'),
11012              SH              =SIMP(statut='f',typ='R'),
11013              N_KE            =SIMP(statut='f',typ='R'),
11014              M_KE            =SIMP(statut='f',typ='R'),
11015            ),
11016            RCCM_FO         =FACT(statut='f',
11017              SY_02           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11018              SM              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11019              SU              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11020              S               =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11021              N_KE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11022              M_KE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11023              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
11024            ),
11025            LAIGLE          =FACT(statut='f',
11026              GAMMA_ULT       =SIMP(statut='o',typ='R'),
11027              GAMMA_E         =SIMP(statut='o',typ='R'),
11028              M_ULT           =SIMP(statut='o',typ='R'),
11029              M_E             =SIMP(statut='o',typ='R'),
11030              A_E             =SIMP(statut='o',typ='R'),
11031              M_PIC           =SIMP(statut='o',typ='R'),
11032              A_PIC           =SIMP(statut='o',typ='R'),
11033              ETA             =SIMP(statut='o',typ='R'),
11034              SIGMA_C         =SIMP(statut='o',typ='R'),
11035              GAMMA           =SIMP(statut='o',typ='R'),
11036              KSI             =SIMP(statut='o',typ='R'),
11037              GAMMA_CJS       =SIMP(statut='o',typ='R'),
11038              SIGMA_P1        =SIMP(statut='o',typ='R'),
11039              PA              =SIMP(statut='o',typ='R'),
11040            ),
11041            DRUCK_PRAGER  =FACT(statut='f',
11042              ALPHA           =SIMP(statut='o',typ='R'),
11043              SY              =SIMP(statut='o',typ='R'),
11044              P_ULTM          =SIMP(statut='o',typ='R'),
11045              ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")),
11046              b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'",
11047                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire",
11048                     H               =SIMP(statut='o',typ='R'),
11049                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 1.0,),
11050              ),
11051              b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'",
11052                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique",
11053                     SY_ULTM         =SIMP(statut='o',typ='R'),
11054                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 2.0,),
11055              ),
11056            ),
11057 ####  MONOCRISTAL
11058            
11059            ECOU_VISC1      =FACT(statut='f',
11060              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
11061              N               =SIMP(statut='o',typ='R'),
11062              K               =SIMP(statut='o',typ='R'),
11063              C               =SIMP(statut='o',typ='R'),
11064            ),
11065            ECOU_VISC2      =FACT(statut='f',
11066              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
11067              N               =SIMP(statut='o',typ='R'),
11068              K               =SIMP(statut='o',typ='R'),
11069              C               =SIMP(statut='o',typ='R'),
11070              D               =SIMP(statut='o',typ='R'),
11071              A               =SIMP(statut='o',typ='R'),
11072            ),
11073            ECOU_VISC3      =FACT(statut='f',
11074              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
11075              K               =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"),
11076              TAUMU           =SIMP(statut='o',typ='R',fr="Seuil d ecoulement, en unite de contraintes"),
11077              GAMMA0          =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale"),
11078              DELTAV          =SIMP(statut='o',typ='R',fr="Volume d activation"),
11079              DELTAG0         =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"),
11080            ),
11081            ECOU_PLAS1      =FACT(statut='f',
11082              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_PLAS",),),
11083              C               =SIMP(statut='o',typ='R'),
11084            ),
11085            ECRO_ISOT1      =FACT(statut='f',
11086              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),),
11087              R_0             =SIMP(statut='o',typ='R'),
11088              Q               =SIMP(statut='o',typ='R'),
11089              B               =SIMP(statut='o',typ='R'),
11090              H               =SIMP(statut='o',typ='R'),
11091            ),
11092            ECRO_ISOT2      =FACT(statut='f',
11093              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),),
11094              R_0             =SIMP(statut='o',typ='R'),
11095              Q1              =SIMP(statut='o',typ='R'),
11096              B1              =SIMP(statut='o',typ='R'),
11097              H               =SIMP(statut='o',typ='R'),
11098              Q2              =SIMP(statut='o',typ='R'),
11099              B2              =SIMP(statut='o',typ='R'),
11100            ),
11101            ECRO_CINE1      =FACT(statut='f',
11102              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),),
11103              D               =SIMP(statut='o',typ='R'),
11104            ),
11105            ECRO_CINE2      =FACT(statut='f',
11106              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),),
11107              D               =SIMP(statut='o',typ='R'),
11108              GM              =SIMP(statut='o',typ='R'),
11109              PM              =SIMP(statut='o',typ='R'),
11110              C               =SIMP(statut='o',typ='R'),
11111            ),
11112            
11113 ####  MONOCRISTAL
11114            
11115            DRUCK_PRAGER_FO  =FACT(statut='f',
11116              ALPHA           =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11117              SY              =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11118              P_ULTM          =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11119              ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")),
11120              b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'",
11121                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire",
11122                     H               =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11123                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 1.0,),
11124              ),
11125              b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'",
11126                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique",
11127                     SY_ULTM         =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11128                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 2.0,),
11129              ),
11130            ),
11131            
11132            
11133            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
11134 )  ;
11135 #& MODIF COMMANDE  DATE 30/08/2004   AUTEUR NICOLAS O.NICOLAS 
11136 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11137 # ======================================================================
11138 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11139 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11140 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11141 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11142 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11143 #
11144 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11145 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11146 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11147 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11148 #
11149 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11150 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11151 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11152 # ======================================================================
11153 DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene,
11154                       reentrant='n',
11155             UIinfo={"groupes":("Matrices/vecteurs",)},
11156          SOUS_STRUC      =FACT(statut='o',max='**',
11157            NOM             =SIMP(statut='o',typ='TXM' ),
11158            MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
11159            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
11160            TRANS           =SIMP(statut='f',typ='R',max=3),
11161          ),
11162          LIAISON         =FACT(statut='o',max='**',
11163            SOUS_STRUC_1    =SIMP(statut='o',typ='TXM' ),
11164            INTERFACE_1     =SIMP(statut='o',typ='TXM' ),
11165            SOUS_STRUC_2    =SIMP(statut='o',typ='TXM' ),
11166            INTERFACE_2     =SIMP(statut='o',typ='TXM' ),
11167            regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),
11168                    EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),),
11169            GROUP_MA_MAIT_1   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11170            MAILLE_MAIT_1     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11171            GROUP_MA_MAIT_2   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11172            MAILLE_MAIT_2     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11173            OPTION            =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ),
11174          ),
11175          VERIF           =FACT(statut='f',max='**',
11176 #  dans la doc U stop_erreur est obligatoire         
11177            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
11178            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
11179            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11180          ),
11181          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11182 )  ;
11183 #& MODIF COMMANDE  DATE 10/10/2005   AUTEUR MCOURTOI M.COURTOIS 
11184 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11185 # ======================================================================
11186 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11187 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11188 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11189 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11190 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11191 #
11192 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11193 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11194 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11195 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11196 #
11197 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11198 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11199 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11200 # ======================================================================
11201 DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=   4,sd_prod=nappe_sdaster,
11202                 fr="Définition des valeurs d une fonction de deux variables réelles",
11203                 reentrant='n',
11204             UIinfo={"groupes":("Fonction",)},
11205          regles=(UN_PARMI('FONCTION','DEFI_FONCTION'),
11206                  EXCLUS('FONCTION','NOM_PARA_FONC',),
11207                  ENSEMBLE('NOM_PARA_FONC','DEFI_FONCTION'),),
11208          NOM_PARA        =SIMP(statut='o',typ='TXM',),
11209          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),       
11210          PARA            =SIMP(statut='o',typ='R',max='**'),
11211          FONCTION        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
11212          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',into=("TEMP","INST","X","Y","Z","EPSI","FREQ",
11213                                                           "PULS","AMOR","EPAIS","SAT", "PGAZ","PCAP") ),
11214          DEFI_FONCTION   =FACT(statut='f',max='**',
11215            VALE            =SIMP(statut='o',typ='R',max='**'),
11216            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
11217            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11218            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11219          ),
11220          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
11221          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11222          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11223          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11224          VERIF           =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ),
11225          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11226 )  ;
11227 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11228 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11229 # ======================================================================
11230 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11231 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11232 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11233 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11234 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11235 #
11236 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11237 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11238 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11239 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11240 #
11241 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11242 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11243 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11244 # ======================================================================
11245 DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op=  73,sd_prod=obstacle_sdaster
11246                     ,fr="Définition d un obstacle plan perpendiculaire à une structure filaire",
11247                      reentrant='n',
11248             UIinfo={"groupes":("Modélisation",)},
11249          TYPE            =SIMP(statut='o',typ='TXM',defaut="CERCLE",
11250                              into=("CERCLE","PLAN_Y","PLAN_Z","DISCRET",
11251                              "BI_CERCLE","BI_PLAN_Y","BI_PLAN_Z","BI_CERC_INT",
11252                              "CRAYON_900","CRAYON_1300","GUID_A_CARTE_900",
11253                              "GUID_B_CARTE_900","GUID_C_CARTE_900",
11254                              "GUID_D_CARTE_900","GUID_E_CARTE_900",
11255                              "GUID_F_CARTE_900","GUID_A_CARTE_1300",
11256                              "GUID_B_CARTE_1300","GUID_C_CARTE_1300",
11257                              "GUID_D_CARTE_1300","GUID_E_CARTE_1300",
11258                              "GUID_F_CARTE_1300","GUID_A_CARSP_900",
11259                              "GUID_B_CARSP_900","GUID_C_CARSP_900",
11260                              "GUID_D_CARSP_900","GUID_E_CARSP_900",
11261                              "GUID_F_CARSP_900","GUID_A_CARSP_1300",
11262                              "GUID_B_CARSP_1300","GUID_C_CARSP_1300",
11263                              "GUID_D_CARSP_1300","GUID_E_CARSP_1300",
11264                              "GUID_F_CARSP_1300","GUID_A_GCONT_900",
11265                              "GUID_B_GCONT_900","GUID_C_GCONT_900",
11266                              "GUID_D_GCONT_900","GUID_E_GCONT_900",
11267                              "GUID_F_GCONT_900","GUID_A_GCONT_1300",
11268                              "GUID_B_GCONT_1300","GUID_C_GCONT_1300",
11269                              "GUID_D_GCONT_1300","GUID_E_GCONT_1300",
11270                              "GUID_F_GCONT_1300","GUID_A_GCOMB_900",
11271                              "GUID_B_GCOMB_900","GUID_C_GCOMB_900",
11272                              "GUID_D_GCOMB_900","GUID_E_GCOMB_900",
11273                              "GUID_F_GCOMB_900","GUID_A_GCOMB_1300",
11274                              "GUID_B_GCOMB_1300","GUID_C_GCOMB_1300",
11275                              "GUID_D_GCOMB_1300","GUID_E_GCOMB_1300",
11276                              "GUID_F_GCOMB_1300",) ),
11277          VALE            =SIMP(statut='f',typ='R',max='**'),
11278          VERIF           =SIMP(statut='f',typ='TXM',defaut="FERME"),
11279 )  ;
11280 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11281 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11282 # ======================================================================
11283 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11284 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11285 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11286 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11287 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11288 #
11289 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11290 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11291 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11292 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11293 #
11294 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11295 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11296 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11297 # ======================================================================
11298 # RESPONSABLE GNICOLAS G.NICOLAS
11299 DEFI_PARA_SENSI=OPER(nom="DEFI_PARA_SENSI",op=   2,sd_prod=para_sensi,
11300                     fr="Définition d'un paramètre de sensibilité",
11301                     ang="Definition of a sensitive parameter",
11302                     reentrant='n',
11303             UIinfo={"groupes":("Fonction",)},
11304          NOM_RESU        =SIMP(statut='c',typ='TXM',into=("TOUTRESU",),defaut="TOUTRESU",
11305                                fr="Nom du concept créé",
11306                                ang="Name of the concept"),
11307          VALE            =SIMP(statut='o',typ='R',
11308                                fr="Valeur du parametre",
11309                                ang="Value of the parameter"),
11310          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11311 )  ;
11312 #& MODIF COMMANDE  DATE 15/11/2004   AUTEUR ASSIRE A.ASSIRE 
11313 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11314 # ======================================================================
11315 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
11316 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
11317 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
11318 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
11319 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
11320 #                                                                       
11321 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
11322 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
11323 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
11324 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
11325 #                                                                       
11326 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
11327 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
11328 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
11329 # ======================================================================
11330 # RESPONSABLE BOITEAU O.BOITEAU
11331
11332 from Macro.defi_part_feti_ops import defi_part_feti_ops
11333
11334 DEFI_PART_FETI=MACRO(nom="DEFI_PART_FETI",op=defi_part_feti_ops,sd_prod=sd_feti_sdaster,
11335                      reentrant='n',
11336                      fr="Creation partitionnement en sous-domaines pour FETI",
11337          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
11338          MODELE          =SIMP(statut='f',typ=modele_sdaster),
11339          NB_PART         =SIMP(statut='o',typ='I'),
11340          EXCIT           =FACT(statut='f',max='**',
11341            CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),),
11342          METHODE         =SIMP(statut='o',typ='TXM',into=("PMETIS","KMETIS","AUTRE",), defaut="PMETIS" ),
11343          b_methode       =BLOC(condition="METHODE == 'AUTRE'", fr="Autre logiciel",
11344              LOGICIEL        =SIMP(statut='f',typ='TXM'),
11345              ),
11346          NOM_GROUP_MA    =SIMP(statut='f',typ='TXM',defaut='SD' ),
11347          INFO            =SIMP(statut='f',typ='I',into=(1, 2, 3, 4,5), defaut=1),
11348 );
11349 #& MODIF COMMANDE  DATE 08/11/2004   AUTEUR ASSIRE A.ASSIRE 
11350 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11351 # ======================================================================
11352 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
11353 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
11354 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
11355 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
11356 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
11357 #                                                                       
11358 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
11359 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
11360 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
11361 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
11362 #                                                                       
11363 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
11364 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
11365 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
11366 # ======================================================================
11367 # RESPONSABLE ASSIRE A.ASSIRE
11368
11369 DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_feti_sdaster,
11370                     fr="Creation partitionnement en sous-domaines pour FETI",
11371                     docu="U4.23.05",reentrant='n',
11372                     UIinfo={"groupes":("Résolution",)},
11373          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
11374          NOM             =SIMP(statut='f',typ='TXM',defaut='SD'),
11375          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ),
11376
11377          DEFI          =FACT(statut='f',max='**',
11378            GROUP_MA        =SIMP(statut='o',typ=grma),
11379            GROUP_MA_BORD   =SIMP(statut='f',typ=grma),
11380          ),
11381          EXCIT           =FACT(statut='f',max='**',
11382            CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
11383          ),
11384 );
11385 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
11386 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11387 # ======================================================================
11388 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11389 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11390 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11391 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11392 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11393 #
11394 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11395 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11396 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11397 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11398 #
11399 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11400 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11401 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11402 # ======================================================================
11403 DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster,
11404                     fr="Définition d'un spectre d'excitation turbulente",
11405                     reentrant='n',
11406             UIinfo={"groupes":("Modélisation",)},
11407          regles=(UN_PARMI('SPEC_LONG_COR_1','SPEC_LONG_COR_2','SPEC_LONG_COR_3',
11408                           'SPEC_LONG_COR_4','SPEC_CORR_CONV_1','SPEC_CORR_CONV_2',
11409                           'SPEC_FONC_FORME','SPEC_EXCI_POINT'),),
11410          SPEC_LONG_COR_1 =FACT(statut='f',
11411            LONG_COR        =SIMP(statut='o',typ='R' ),
11412            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11413            VISC_CINE       =SIMP(statut='o',typ='R' ),
11414          ),
11415          SPEC_LONG_COR_2 =FACT(statut='f',
11416            regles=(ENSEMBLE('FREQ_COUP','PHI0','BETA' ),),
11417            LONG_COR        =SIMP(statut='o',typ='R' ),
11418            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11419            FREQ_COUP       =SIMP(statut='f',typ='R',defaut= 0.1 ),
11420            PHI0            =SIMP(statut='f',typ='R',defaut= 1.5E-3 ),
11421            BETA            =SIMP(statut='f',typ='R',defaut= 2.7 ),
11422          ),
11423          SPEC_LONG_COR_3 =FACT(statut='f',
11424            regles=(ENSEMBLE('PHI0_1','BETA_1','PHI0_2','BETA_2','FREQ_COUP'),),
11425            LONG_COR        =SIMP(statut='o',typ='R' ),
11426            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11427            FREQ_COUP       =SIMP(statut='f',typ='R',defaut= 0.2 ),
11428            PHI0_1          =SIMP(statut='f',typ='R',defaut= 5.E-3 ),
11429            BETA_1          =SIMP(statut='f',typ='R',defaut= 0.5 ),
11430            PHI0_2          =SIMP(statut='f',typ='R',defaut= 4.E-5 ),
11431            BETA_2          =SIMP(statut='f',typ='R',defaut= 3.5 ),
11432          ),
11433          SPEC_LONG_COR_4 =FACT(statut='f',
11434            regles=(ENSEMBLE('BETA','GAMMA'),),
11435            LONG_COR        =SIMP(statut='o',typ='R' ),
11436            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11437            TAUX_VIDE       =SIMP(statut='o',typ='R' ),
11438            BETA            =SIMP(statut='f',typ='R',defaut= 2. ),
11439            GAMMA           =SIMP(statut='f',typ='R',defaut= 4. ),
11440          ),
11441          SPEC_CORR_CONV_1=FACT(statut='f',
11442            LONG_COR_1      =SIMP(statut='o',typ='R' ),
11443            LONG_COR_2      =SIMP(statut='f',typ='R' ),
11444            VITE_FLUI       =SIMP(statut='o',typ='R' ),
11445            RHO_FLUI        =SIMP(statut='o',typ='R' ),
11446            FREQ_COUP       =SIMP(statut='f',typ='R' ),
11447            K               =SIMP(statut='f',typ='R',defaut= 5.8E-3 ),
11448            D_FLUI          =SIMP(statut='o',typ='R' ),
11449            COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
11450            COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
11451            METHODE         =SIMP(statut='f',typ='TXM',defaut="GENERALE",
11452                                  into=("AU_YANG","GENERALE","CORCOS") ),
11453          ),
11454          SPEC_CORR_CONV_2=FACT(statut='f',
11455            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11456            VITE_FLUI       =SIMP(statut='o',typ='R' ),
11457            FREQ_COUP       =SIMP(statut='f',typ='R' ),
11458            METHODE         =SIMP(statut='f',typ='TXM',defaut="GENERALE",
11459                                  into=("AU_YANG","GENERALE","CORCOS",) ),
11460            COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
11461            COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
11462          ),
11463          SPEC_FONC_FORME =FACT(statut='f',
11464            regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'),
11465                    ENSEMBLE('INTE_SPEC','FONCTION'),),
11466            INTE_SPEC       =SIMP(statut='f',typ=tabl_intsp ),
11467            FONCTION        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
11468            GRAPPE_1        =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ),
11469            NOEUD           =SIMP(statut='o',typ=no),
11470            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
11471            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
11472          ),
11473          SPEC_EXCI_POINT =FACT(statut='f',
11474            regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),),
11475            INTE_SPEC       =SIMP(statut='f',typ=tabl_intsp ),
11476            GRAPPE_2        =SIMP(statut='f',typ='TXM',
11477                                  into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC",) ),
11478 #  Quels sont les statuts des mots cles à l interieur des deux blocs qui suivent
11479            b_inte_spec =BLOC(condition = "INTE_SPEC != None",
11480              NATURE          =SIMP(statut='o',typ='TXM',max='**',into=("FORCE","MOMENT",) ),
11481              ANGL            =SIMP(statut='o',typ='R',max='**'),
11482              NOEUD           =SIMP(statut='o',typ=no,max='**'),
11483            ),
11484            b_grappe_2      =BLOC(condition = "GRAPPE_2 != None",
11485              RHO_FLUI        =SIMP(statut='o',typ='R' ),
11486              NOEUD           =SIMP(statut='o',typ=no),
11487            ),
11488            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
11489            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
11490          ),
11491          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11492 )  ;
11493 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11494 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11495 # ======================================================================
11496 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11497 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11498 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11499 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11500 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11501 #
11502 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11503 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11504 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11505 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11506 #
11507 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11508 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11509 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11510 # ======================================================================
11511 DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette,
11512                     fr="Définition d un maillage de visualisation",
11513                     reentrant='n',
11514             UIinfo={"groupes":("Maillage",)},
11515          regles=(UN_PARMI('MODE_CYCL','MODELE_GENE','MAILLAGE'),
11516                  PRESENT_PRESENT('MODE_CYCL','SECTEUR'),
11517                  EXCLUS('SOUS_STRUC','SECTEUR'),
11518                  PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'),
11519                  PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),),
11520          MODE_CYCL       =SIMP(statut='f',typ=mode_cycl ),
11521          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
11522          SQUELETTE       =SIMP(statut='f',typ=squelette ),
11523          RECO_GLOBAL     =FACT(statut='f',max='**',
11524            regles=(EXCLUS('TOUT','GROUP_NO_1'),
11525                    PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'),
11526                    PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'),
11527                    PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'),
11528                    PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),),
11529            TOUT            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ),
11530            GROUP_NO_1      =SIMP(statut='f',typ=grno),
11531            SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
11532            GROUP_NO_2      =SIMP(statut='f',typ=grno),
11533            SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
11534            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
11535            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11536            DIST_REFE       =SIMP(statut='f',typ='R' ),
11537          ),
11538          NOM_GROUP_MA    =FACT(statut='f',max='**',
11539            NOM             =SIMP(statut='o',typ='TXM' ),
11540            SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
11541            GROUP_MA        =SIMP(statut='o',typ=grma),
11542          ),
11543          EXCLUSIF        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
11544          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
11545          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11546          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11547          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11548          TRANS           =SIMP(statut='f',typ='R',min=3,max=3),
11549          ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),
11550          SOUS_STRUC      =FACT(statut='f',max='**',
11551            NOM             =SIMP(statut='f',typ='TXM' ),
11552            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11553            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11554            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11555          ),
11556          SECTEUR         =FACT(statut='f',max='**',
11557            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11558            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11559            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11560          ),
11561          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11562 )  ;
11563 #& MODIF COMMANDE  DATE 22/11/2004   AUTEUR JMBHH01 J.M.PROIX 
11564 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11565 # ======================================================================
11566 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11567 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11568 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11569 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11570 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11571 #
11572 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11573 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11574 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11575 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11576 #
11577 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11578 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11579 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11580 # ======================================================================
11581 DEFI_TEXTURE=OPER(nom="DEFI_TEXTURE",op= 181,sd_prod=tabl_texture,
11582                   fr=" ",reentrant='n',
11583             UIinfo={"groupes":("Modélisation",)},
11584          SYST_GLISSEMENT =FACT(statut='o',min=3,max=3,
11585            N               =SIMP(statut='o',typ='R',min=12,max=12 ),  
11586            L               =SIMP(statut='o',typ='R',max='**' ),  
11587          ),
11588          PLAN            =FACT(statut='o',min=1,max=40,
11589            ANGL_NAUT       =SIMP(statut='o',typ='R',max='**' ),  
11590            PROPORTION      =SIMP(statut='o',typ='R' ),  
11591          ),
11592          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
11593 )  ;
11594 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11595 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11596 # ======================================================================
11597 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11598 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11599 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11600 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11601 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11602 #
11603 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11604 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11605 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11606 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11607 #
11608 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11609 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11610 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11611 # ======================================================================
11612 DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction_sdaster,reentrant='n',
11613             UIinfo={"groupes":("Outils métier",)},
11614                     fr="Calculer la fonction d évolution temporelle de température due à l effet JOULE dans un cable",
11615          LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
11616          INST_CC_INIT    =SIMP(statut='f',typ='R',defaut= 0.0E+0 ),
11617          INST_CC_FIN     =SIMP(statut='f',typ='R',defaut= 1.0E+10),
11618          INST_RENC_INIT  =SIMP(statut='f',typ='R',defaut= 1.0E+10),
11619          INST_RENC_FIN   =SIMP(statut='f',typ='R',defaut= 1.0E+10),
11620          TEMP_EXT_POSE   =SIMP(statut='f',typ='R',defaut= 15.0E+0),
11621          TEMP_EXT        =SIMP(statut='f',typ='R',defaut= 15.0E+0),
11622          TEMP_RESI_REF   =SIMP(statut='f',typ='R',defaut= 20.0E+0),
11623          PARA_COND_1D    =FACT(statut='f',max='**',
11624            INTE_CC         =SIMP(statut='f',typ='R',defaut= 0.0E+0),
11625            INTE_RENC       =SIMP(statut='f',typ='R',defaut= 0.0E+0),
11626            A               =SIMP(statut='f',typ='R',defaut= 1.0E+0),
11627            SECTION         =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE",) ),
11628            RESI_R0         =SIMP(statut='f',typ='R',defaut= 0.0E+0),
11629            RESI_R1         =SIMP(statut='f',typ='R',defaut= 0.E+0),
11630            RHO_CP          =SIMP(statut='f',typ='R',defaut= 1.0E+0),
11631            COEF_H          =SIMP(statut='f',typ='R',defaut= 40.0E+0),
11632            TEMP_INIT       =SIMP(statut='f',typ='R',defaut= 15.0E+0),
11633          ),
11634 )  ;
11635
11636 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11637 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11638 # ======================================================================
11639 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11640 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11641 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11642 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11643 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11644 #
11645 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11646 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11647 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11648 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11649 #
11650 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11651 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11652 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11653 # ======================================================================
11654 DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=tabl_trc,reentrant='n',
11655             UIinfo={"groupes":("Modélisation",)},
11656               fr="Définition d un diagramme de transformations en refroidissement continu d un acier",
11657          HIST_EXP        =FACT(statut='o',max='**',
11658            VALE            =SIMP(statut='o',typ='R',max='**'),
11659          ),
11660          TEMP_MS         =FACT(statut='o',max='**',
11661            SEUIL           =SIMP(statut='o',typ='R'),
11662            AKM             =SIMP(statut='o',typ='R'),
11663            BKM             =SIMP(statut='o',typ='R'),
11664            TPLM            =SIMP(statut='o',typ='R'),
11665          ),
11666          GRAIN_AUST      =FACT(statut='f',max='**',
11667            DREF           =SIMP(statut='f',typ='R'),
11668            A              =SIMP(statut='f',typ='R'),
11669          ),
11670 )  ;
11671 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11672 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11673 # ======================================================================
11674 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11675 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11676 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11677 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11678 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11679 #
11680 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11681 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11682 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11683 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11684 #
11685 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11686 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11687 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11688 # ======================================================================
11689 DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=cham_no_depl_r,reentrant='n',
11690             UIinfo={"groupes":("Matrices/vecteurs",)},
11691                   fr="Récupération du champ de déplacement interne à une sous-structure",
11692          DEPL_GLOBAL     =SIMP(statut='o',typ=cham_no_depl_r),
11693          MAILLE          =SIMP(statut='o',typ=ma,),
11694          NOM_CAS         =SIMP(statut='f',typ='TXM',defaut=" "),
11695 )  ;
11696 #& MODIF COMMANDE  DATE 03/11/2004   AUTEUR MCOURTOI M.COURTOIS 
11697 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11698 # ======================================================================
11699 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11700 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11701 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11702 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11703 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11704 #
11705 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11706 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11707 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11708 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11709 #
11710 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11711 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11712 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11713 # ======================================================================
11714 DETRUIRE=PROC(nom="DETRUIRE",op=-7,
11715             UIinfo={"groupes":("Gestion du travail",)},
11716               fr="Destruction d un concept utilisateur dans la base GLOBALE",
11717              op_init=ops.detruire,
11718              regles=(UN_PARMI('CONCEPT','OBJET',),), 
11719             CONCEPT     =FACT(statut='f',max='**',
11720                 NOM         =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),
11721             ),
11722             OBJET  =FACT(statut='f',max='**',
11723                CLASSE      =SIMP(statut='f',typ='TXM',into=('G','V','L'),defaut='G'),  
11724                CHAINE      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
11725                POSITION    =SIMP(statut='f',typ='I'  ,max='**'),
11726             ),
11727             ALARME        =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI',),
11728             INFO          =SIMP(statut='f',typ='I',into=(1,2),defaut=2, ),           
11729 );
11730 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11731 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11732 # ======================================================================
11733 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11734 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11735 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11736 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11737 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11738 #
11739 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11740 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11741 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11742 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11743 #
11744 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11745 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11746 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11747 # ======================================================================
11748 DIST_LIGN_3D=OPER(nom="DIST_LIGN_3D",op= 133,sd_prod=fonction_sdaster,reentrant='n', 
11749             UIinfo={"groupes":("Outils métier",)},
11750                   fr="Calcul sous forme d une fonction du temps de la distance minimale entre deux structures filaires",
11751       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),
11752               UN_PARMI('GROUP_MA_2','POIN_FIXE'),),
11753          MODELE          =SIMP(statut='o',typ=modele_sdaster),
11754          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,evol_noli) ),
11755          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",)),
11756          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
11757          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
11758          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
11759          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
11760          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
11761          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11762          GROUP_MA_1      =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
11763          GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11764          POIN_FIXE       =SIMP(statut='f',typ='R',min=3,max=3),
11765          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
11766 )  ;
11767 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
11768 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11769 # ======================================================================
11770 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11771 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11772 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11773 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11774 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11775 #
11776 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11777 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11778 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11779 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11780 #
11781 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11782 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11783 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11784 # ======================================================================
11785 DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=tabl_intsp
11786                     ,fr="Calcule la réponse spectrale d une structure linéaire sous une excitation connue par sa DSP",
11787                      reentrant='n',
11788             UIinfo={"groupes":("Résolution",)},
11789          BASE_MODALE     =FACT(statut='o',
11790            regles=(UN_PARMI('NUME_ORDRE','BANDE'),),
11791            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
11792            BANDE           =SIMP(statut='f',typ='R',validators=NoRepeat(),max=2),
11793            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
11794            b_bande =BLOC(condition = "BANDE != None",
11795              AMOR_UNIF       =SIMP(statut='o',typ='R' ),
11796            ),
11797            b_nume_ordre =BLOC(condition = "NUME_ORDRE != None",
11798              AMOR_REDUIT     =SIMP(statut='o',typ='R',max='**'),
11799            ),
11800          ),
11801          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
11802 # MODE_STAT devrait etre dans EXCIT car est utile et obligatoire que si NOM_CMP=depl_r, on pourrait
11803 # ainsi rajouter un bloc du genre  b_mod_stat= BLOC(condition = "(GRANDEUR == None) or (GRANDEUR == 'DEPL_R')",        
11804          EXCIT           =FACT(statut='o',
11805            INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
11806            NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
11807            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG",) ),
11808            MODAL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
11809            b_modal_non = BLOC(condition = "(MODAL == None) or (MODAL == 'NON')",           
11810              regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I'),),
11811              NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**'),
11812              NOEUD_I         =SIMP(statut='f',typ=no,max='**'),
11813              b_nume_ordre_i  =BLOC(condition = "NUME_ORDRE_I != None",
11814                regles=(EXCLUS('CHAM_NO','NOEUD'),),
11815 # on devrait rajouter EXCLUS('GRANDEUR','CHAM_NO') pour eviter ambiguite car CHAM_NO => GRANDEUR='EFFO'
11816 # cela impliquerait d'enlever la valeur par defaut a GRANDEUR            
11817                NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**'),
11818                CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
11819                NOEUD           =SIMP(statut='f',typ=no,max='**'),
11820                b_noeud         =BLOC(condition = "NOEUD != None",
11821                   NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
11822                 ),  
11823                GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
11824                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
11825 # que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP  
11826                DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
11827              ),           
11828              b_noeud_i       =BLOC(condition = "NOEUD_I != None",
11829                NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
11830                NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**'),
11831                NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**'),
11832                NOEUD           =SIMP(statut='o',typ=no,max='**'),
11833                NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
11834 # ne serait-il pas bien que NOEUD et NOM_CMP soient facultatifs, car l'information peut etre contenue dans
11835 # NOEUD_I, NOM_CMP_I ...  => modif. du Fortran
11836                GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
11837                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
11838 # que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP_I  
11839                DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
11840              ),
11841            ),  
11842            b_modal_oui = BLOC(condition = "(MODAL == 'OUI')",
11843 # dans ce cas, y-a-t-il vraiment la possibilite d'une matrice interspectrale avec plusieurs termes
11844              NUME_ORDRE_I    =SIMP(statut='o',typ='I',max='**'),
11845              NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**'),
11846              GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
11847                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
11848              DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
11849 # dans le cas MODAL=OUI, GRANDEUR peut-il etre different de EFFO et doit il etre impose a EFFO   On devrait
11850 # pouvoir supprimer GRANDEUR et DERIVATION ici   
11851            ),  
11852                     
11853          ),
11854          REPONSE         =FACT(statut='f',
11855            regles=( ENSEMBLE('FREQ_MIN','FREQ_MAX'),),
11856            DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ,) ),
11857            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
11858            FREQ_MIN        =SIMP(statut='f',typ='R' ),
11859            FREQ_MAX        =SIMP(statut='f',typ='R' ),
11860            PAS             =SIMP(statut='f',typ='R' ),
11861            b_defaut_freq   =BLOC(condition = "FREQ_MIN == NONE",
11862               FREQ_EXCIT      =SIMP(statut='f',typ='TXM',defaut="AVEC",into=("AVEC","SANS") ),
11863               NB_POIN_MODE    =SIMP(statut='f',typ='I',defaut= 50 ),
11864            ),
11865          ),
11866          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11867          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11868 )  ;
11869 #& MODIF COMMANDE  DATE 04/07/2005   AUTEUR NICOLAS O.NICOLAS 
11870 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11871 # ======================================================================
11872 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11873 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11874 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11875 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11876 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11877 #
11878 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11879 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11880 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11881 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11882 #
11883 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11884 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11885 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11886 # ======================================================================
11887 def dyna_line_harm_prod(MATR_RIGI,**args):
11888   if AsType(MATR_RIGI) == matr_asse_depl_r : return dyna_harmo
11889   if AsType(MATR_RIGI) == matr_asse_depl_c : return dyna_harmo
11890   if AsType(MATR_RIGI) == matr_asse_pres_c : return acou_harmo
11891   if AsType(MATR_RIGI) == matr_asse_gene_r : return harm_gene
11892   if AsType(MATR_RIGI) == matr_asse_gene_c : return harm_gene
11893   raise AsException("type de concept resultat non prevu")
11894
11895 DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
11896                     fr="Réponse dynamique complexe d un système à une excitation harmonique",
11897                     reentrant='n',
11898             UIinfo={"groupes":("Résolution",)},
11899          regles=(PRESENT_ABSENT('AMOR_REDUIT','MATR_AMOR'),
11900                  PRESENT_ABSENT('AMOR_REDUIT','LIST_AMOR'),
11901                  PRESENT_ABSENT('MATR_AMOR','LIST_AMOR'),
11902                  UN_PARMI('FREQ','LIST_FREQ'),),
11903          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
11904          CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
11905          CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
11906          MATR_MASS       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ),
11907          MATR_RIGI       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c
11908                                               ,matr_asse_gene_r,matr_asse_gene_c ) ),
11909          MATR_AMOR       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ),
11910          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
11911          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
11912          MATR_IMPE_PHI   =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
11913          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
11914          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
11915          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",)),
11916          NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ),
11917          EXCIT           =FACT(statut='o',max='**',
11918            regles=(UN_PARMI('VECT_ASSE','CHARGE'),
11919                    UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),
11920 # Je rajoute ces deux regles car seules les termes complexes peuvent etre pris en 
11921 # compte lors de l'utilisation d'une charge                   
11922                    PRESENT_ABSENT('CHARGE','FONC_MULT'),
11923                    PRESENT_ABSENT('CHARGE','COEF_MULT'),
11924 # a corriger                   
11925                    ),
11926            VECT_ASSE       =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_pres_c,vect_asse_gene ) ),
11927            CHARGE          =SIMP(statut='f',typ=char_meca ),
11928            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
11929            FONC_MULT_C     =SIMP(statut='f',typ=fonction_c ),
11930            COEF_MULT_C     =SIMP(statut='f',typ='C' ),
11931            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11932            COEF_MULT       =SIMP(statut='f',typ='R' ),
11933            PHAS_DEG        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
11934            PUIS_PULS       =SIMP(statut='f',typ='I',defaut= 0 ),
11935          ),
11936          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11937          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
11938                                fr="Liste des paramètres de sensibilité.",
11939                                ang="List of sensitivity parameters"),
11940 )  ;
11941 # Rajouter test icompatibilite vect_asse et sensibilite
11942 # Peut-on aussi rajouter ici le test d incompatibilite charge complexe - derivation 
11943 #  presents dans le Fortran          
11944 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
11945 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11946 # ======================================================================
11947 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11948 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11949 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11950 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11951 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11952 #
11953 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11954 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11955 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11956 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11957 #
11958 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11959 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11960 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11961 # ======================================================================
11962 DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
11963                     fr="Réponse temporelle d un système à une excitation transitoire",
11964                     reentrant='f',
11965             UIinfo={"groupes":("Résolution",)},
11966 #         regles=(UN_PARMI('WILSON','DIFF_CENTRE','ADAPT'),),
11967          regles=(UN_PARMI('NEWMARK','WILSON','DIFF_CENTRE','ADAPT'),),
11968          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
11969          CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
11970          CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
11971          MATR_MASS       =SIMP(statut='o',typ=matr_asse_depl_r ),
11972          MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
11973          MATR_AMOR       =SIMP(statut='f',typ=matr_asse_depl_r ),
11974          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
11975          NEWMARK         =FACT(statut='f',
11976            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25 ),
11977            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5 ),
11978          ),
11979          WILSON          =FACT(statut='f',
11980            THETA           =SIMP(statut='f',typ='R',defaut= 1.4 ),
11981          ),
11982          DIFF_CENTRE     =FACT(statut='f',
11983          ),
11984          ADAPT           =FACT(statut='f',
11985          ),
11986          ETAT_INIT       =FACT(statut='f',
11987            regles=(AU_MOINS_UN('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT',),
11988                    PRESENT_ABSENT('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT'),),
11989            DYNA_TRANS      =SIMP(statut='f',typ=dyna_trans ),
11990            b_dyna_trans    =BLOC(condition = "DYNA_TRANS != None",
11991              regles=(EXCLUS('NUME_INIT','INST_INIT' ),),
11992              NUME_INIT       =SIMP(statut='f',typ='I' ),
11993              INST_INIT       =SIMP(statut='f',typ='R' ),
11994              b_inst_init     =BLOC(condition = "INST_INIT != None",
11995                PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
11996                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11997              ),
11998            ),
11999            DEPL_INIT       =SIMP(statut='f',typ=(cham_no_depl_r) ),
12000            VITE_INIT       =SIMP(statut='f',typ=(cham_no_depl_r) ),
12001          ),
12002          EXCIT           =FACT(statut='f',max='**',
12003            regles=(UN_PARMI('CHARGE','VECT_ASSE'),
12004                    EXCLUS('CHARGE','COEF_MULT'),
12005                    EXCLUS('FONC_MULT','COEF_MULT'),
12006                    EXCLUS('ACCE','COEF_MULT'),
12007                    PRESENT_ABSENT('ACCE','FONC_MULT'),
12008                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12009                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
12010                    ),
12011            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
12012            CHARGE          =SIMP(statut='f',typ=char_meca ),
12013            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12014            COEF_MULT       =SIMP(statut='f',typ='R' ),
12015            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
12016            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12017            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12018            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12019            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12020            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
12021            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12022            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12023          ),
12024          AMOR_MODAL      =FACT(statut='f',
12025            MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
12026            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
12027            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12028            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12029          ),
12030 #  ce n est pas le mot clesolveur standard
12031          SOLVEUR         =FACT(statut='d',
12032            NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12033            STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12034            RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12035            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12036          ),
12037          INCREMENT       =FACT(statut='o',max='**',
12038            regles=(UN_PARMI('LIST_INST','FONC_INST','PAS'),),
12039            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ), 
12040            FONC_INST       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),       
12041            PAS             =SIMP(statut='f',typ='R' ),
12042            b_pas           =BLOC(condition = "PAS != None",
12043                INST_INIT       =SIMP(statut='f',typ='R' ),
12044                INST_FIN        =SIMP(statut='f',typ='R' ),    
12045            ),
12046            b_list_fonc     =BLOC(condition = "LIST_INST != None or FONC_INST != None",
12047                regles=(EXCLUS('INST_FIN','NUME_FIN'),),
12048                NUME_FIN        =SIMP(statut='f',typ='I' ), 
12049                INST_FIN        =SIMP(statut='f',typ='R' ),   
12050            ),
12051            VITE_MIN        =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
12052            COEF_MULT_PAS   =SIMP(statut='f',typ='R',defaut= 1.1 ),
12053            COEF_DIVI_PAS   =SIMP(statut='f',typ='R',defaut= 1.33334 ),
12054            PAS_LIMI_RELA   =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12055            NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
12056            NMAX_ITER_PAS   =SIMP(statut='f',typ='I',defaut= 16 ),
12057            PAS_CALCUL      =SIMP(statut='f',typ='I',defaut= 1 ),
12058          ),
12059          ARCHIVAGE       =FACT(statut='f',
12060            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH', ),),
12061            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster ),
12062            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12063            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ),
12064          ),
12065          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
12066                                fr="Liste des param\350tres de sensibilit\351.",
12067                                ang="List of sensitivity parameters",
12068          ),
12069          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12070          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
12071 )  ;
12072 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR NICOLAS O.NICOLAS 
12073 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12074 # ======================================================================
12075 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12076 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12077 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12078 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12079 # (AT YOUR OPTION) ANY LATER VERSION.
12080 #
12081 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12082 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12083 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12084 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12085 #
12086 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12087 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12088 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12089 # ======================================================================
12090 DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
12091                    fr="Analyse mécanique dynamique non linéaire",
12092             UIinfo={"groupes":("Résolution",)},
12093          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',),
12094                  UN_PARMI('NEWMARK','HHT','TETA_METHODE', ),),
12095          MODELE          =SIMP(statut='o',typ=modele_sdaster),
12096          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
12097          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
12098          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
12099          EXCIT           =FACT(statut='o',max='**',
12100            regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
12101                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12102                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
12103                    ),
12104            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
12105                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
12106            CHARGE          =SIMP(statut='o',typ=char_meca),
12107            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12108            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12109            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12110            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12111            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12112            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
12113            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12114            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12115          ),
12116          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
12117                 regles=(UN_PARMI('TOUT','MAILLE'),),
12118                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
12119                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12120                 MAILLE      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
12121               ),
12122          AMOR_MODAL      =FACT(statut='f',
12123            MODE_MECA       =SIMP(statut='f',typ=mode_meca),
12124            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**' ),
12125            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12126            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12127          ),
12128          VARI_COMM           =FACT(statut='f',
12129            regles=(AU_MOINS_UN('IRRA',),),
12130            IRRA     =SIMP(statut='f',typ=evol_varc),
12131            CORROSION  =SIMP(statut='f',typ=carte_corr_r),
12132          ),
12133          COMP_INCR       =C_COMP_INCR(),
12134          COMP_ELAS       =FACT(statut='f',max='**',
12135            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
12136                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
12137                                        "ELAS_POUTRE_GR","CABLE")),
12138            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12139            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12140            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12141            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
12142            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12143            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
12144       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12145            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12146            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12147            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12148          ),
12149 #-------------------------------------------------------------------
12150          b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
12151          ETAT_INIT       =FACT(statut='o',
12152            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',),
12153                    EXCLUS('EVOL_NOLI','DEPL',),
12154                    EXCLUS('EVOL_NOLI','VITE'),
12155                    EXCLUS('EVOL_NOLI','SIGM',),
12156                    EXCLUS('EVOL_NOLI','VARI',),
12157                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
12158                    EXCLUS('NUME_ORDRE','INST'), ),
12159            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
12160            VITE            =SIMP(statut='f',typ=cham_no_depl_r),
12161            SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
12162            VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
12163            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
12164            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
12165            NUME_ORDRE      =SIMP(statut='f',typ='I'),
12166            INST            =SIMP(statut='f',typ='R'),
12167            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12168            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12169            NUME_DIDI       =SIMP(statut='f',typ='I'),
12170            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
12171          ),),
12172          b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
12173          ETAT_INIT       =FACT(statut='f',
12174            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',),
12175                    EXCLUS('EVOL_NOLI','DEPL',),
12176                    EXCLUS('EVOL_NOLI','VITE'),
12177                    EXCLUS('EVOL_NOLI','SIGM',),
12178                    EXCLUS('EVOL_NOLI','VARI',),
12179                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
12180                    EXCLUS('NUME_ORDRE','INST'), ),
12181            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
12182            VITE            =SIMP(statut='f',typ=cham_no_depl_r),
12183            SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
12184            VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
12185            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
12186            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
12187            NUME_ORDRE      =SIMP(statut='f',typ='I'),
12188            INST            =SIMP(statut='f',typ='R'),
12189            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12190            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12191            NUME_DIDI       =SIMP(statut='f',typ='I'),
12192            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
12193          ),),
12194 #-------------------------------------------------------------------
12195          INCREMENT       =FACT(statut='o',
12196            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
12197                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
12198            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
12199            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
12200                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
12201            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
12202            INST_INIT       =SIMP(statut='f',typ='R'),
12203            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
12204            INST_FIN        =SIMP(statut='f',typ='R'),
12205            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
12206            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
12207            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
12208            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12209            OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
12210            NOM_CHAM        =SIMP(statut='f',typ='TXM',),
12211            NOM_CMP         =SIMP(statut='f',typ='TXM',),
12212            VALE            =SIMP(statut='f',typ='R'),
12213          ),
12214 #-------------------------------------------------------------------
12215          NEWMARK         =FACT(statut='f',
12216            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25),
12217            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5),
12218          ),
12219          HHT             =FACT(statut='f',
12220            ALPHA           =SIMP(statut='f',typ='R'
12221                                 ,defaut= -0.29999999999999999 ),
12222          ),
12223          TETA_METHODE      =FACT(statut='f',
12224            TETA            =SIMP(statut='f',typ='R'
12225                                 ,defaut= 1.,val_min=0.5,val_max=1. ),
12226          ),
12227          NEWTON          =FACT(statut='d',
12228            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
12229            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
12230            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
12231            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
12232            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
12233            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12234          ),
12235          SOLVEUR         =FACT(statut='d',
12236            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12237            b_mult_front    =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12238              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12239            ),
12240            b_ldlt          =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT",
12241              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12242            ),
12243            b_ldlt_mult     =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'",
12244                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12245              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12246              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
12247            ),
12248            b_gcpc          =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué",
12249              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12250              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
12251              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
12252              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12253              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12254            ),
12255            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12256          ),
12257 #-------------------------------------------------------------------
12258          RECH_LINEAIRE   =FACT(statut='f',
12259            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
12260            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
12261            ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
12262            PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12263            RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
12264            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
12265            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2),
12266          ),
12267          PILOTAGE        =FACT(statut='f',
12268            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12269            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
12270            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12271            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
12272            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
12273            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
12274            ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
12275            PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
12276            SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
12277            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12278            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12279            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
12280            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
12281            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
12282            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),
12283                          ),
12284          CONVERGENCE     =FACT(statut='d',
12285            regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
12286            SIGM_REFE       =SIMP(statut='f',typ='R'),
12287            EPSI_REFE       =SIMP(statut='f',typ='R'),
12288            FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
12289            FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
12290            FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),           
12291            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
12292            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
12293            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
12294            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
12295            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
12296            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
12297            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
12298                                 ,defaut= 1.0E-6),
12299            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
12300            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
12301            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
12302                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
12303          ),
12304 #-------------------------------------------------------------------
12305          ARCHIVAGE       =FACT(statut='f',
12306            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
12307                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
12308            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
12309            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12310            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12311            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
12312            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12313            NUME_INIT       =SIMP(statut='f',typ='I'),
12314            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12315            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
12316            into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")),
12317          ),
12318          OBSERVATION     =FACT(statut='f',max='**',
12319            regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),
12320                    PRESENT_PRESENT('MAILLE','POINT'),),
12321            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
12322
12323 into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU") ),
12324            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
12325            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
12326            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
12327            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12328            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12329            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12330            PAS_OBSE        =SIMP(statut='f',typ='I'),
12331            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12332            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12333            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12334            POINT           =SIMP(statut='f',typ='I' ,max='**'),
12335          ),
12336 #-------------------------------------------------------------------
12337            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
12338                                fr="Liste des paramètres de sensibilité",
12339                                ang="List of sensitivity parameters"),
12340 #-------------------------------------------------------------------
12341            SOLV_NON_LOCAL  =FACT(statut='f',
12342              METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12343              b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12344                RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12345              ),
12346              b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
12347                RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12348              ),
12349              b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
12350                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12351                NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12352                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12353              ),
12354              b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
12355                PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12356                NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
12357                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12358                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12359              ),
12360              EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12361            ),
12362            LAGR_NON_LOCAL  =FACT(statut='f',
12363              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
12364              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
12365              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
12366              R               =SIMP(statut='f',typ='R',defaut= 1000.),
12367              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
12368            ),
12369 #-------------------------------------------------------------------
12370          PARM_THETA      =SIMP(statut='f',typ='R'
12371                               ,defaut= 1. ),
12372 #-------------------------------------------------------------------
12373          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
12374          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12375 )  ;
12376 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12377 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12378 # ======================================================================
12379 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12380 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12381 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12382 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12383 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12384 #
12385 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12386 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12387 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12388 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12389 #
12390 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12391 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12392 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12393 # ======================================================================
12394 DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=tabl_intsp,
12395                      fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire",
12396                      reentrant='n',
12397             UIinfo={"groupes":("Résolution",)},
12398          BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu_sdaster ),
12399          EXCIT           =FACT(statut='o',
12400            INTE_SPEC_GENE  =SIMP(statut='o',typ=tabl_intsp ),
12401          ),
12402          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
12403          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12404 )  ;
12405 #& MODIF COMMANDE  DATE 12/09/2005   AUTEUR BOYERE E.BOYERE 
12406 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12407 # ======================================================================
12408 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
12409 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
12410 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
12411 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
12412 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
12413 #                                                                       
12414 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
12415 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
12416 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
12417 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
12418 #                                                                       
12419 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
12420 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
12421 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
12422 # ======================================================================
12423 #& RESPONSABLE
12424 DYNA_TRAN_EXPLI=OPER(nom="DYNA_TRAN_EXPLI",op= 69,sd_prod=evol_noli,reentrant='f',
12425                    fr="Analyse mecanique dynamique explicite",
12426          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',),),
12427          MODELE          =SIMP(statut='o',typ=modele_sdaster),
12428          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
12429          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
12430          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
12431          EXCIT           =FACT(statut='o',max='**',
12432            regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
12433                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12434                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
12435                    ),
12436            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
12437                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
12438            CHARGE          =SIMP(statut='o',typ=char_meca),
12439            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12440            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12441            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12442            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12443            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12444            DIRECTION       =SIMP(statut='f',typ='R',max=3),
12445            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12446            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12447          ),
12448          AMOR_MODAL      =FACT(statut='f',
12449            MODE_MECA       =SIMP(statut='f',typ=mode_meca),
12450            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**' ),
12451            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12452            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12453          ),
12454          PROJ_MODAL      =FACT(statut='f',
12455            MODE_MECA       =SIMP(statut='f',typ=mode_meca),
12456            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12457          ),
12458          VARI_COMM           =FACT(statut='f',
12459            regles=(AU_MOINS_UN('IRRA','CORROSION'),),
12460            IRRA       =SIMP(statut='f',typ=evol_varc),
12461            CORROSION  =SIMP(statut='f',typ=carte_corr_r),
12462          ),
12463          COMP_INCR       =C_COMP_INCR(),
12464          COMP_ELAS       =FACT(statut='f',max='**',
12465            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
12466                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
12467                                        "ELAS_POUTRE_GR","CABLE")),
12468            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12469            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12470            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12471            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
12472            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12473            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
12474       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12475            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12476            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12477            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12478          ),
12479 #-------------------------------------------------------------------
12480          ETAT_INIT       =FACT(statut='f',
12481            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',),
12482                    EXCLUS('EVOL_NOLI','DEPL',),
12483                    EXCLUS('EVOL_NOLI','VITE'),
12484                    EXCLUS('EVOL_NOLI','SIGM',),
12485                    EXCLUS('EVOL_NOLI','VARI',),
12486                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
12487                    EXCLUS('NUME_ORDRE','INST'), ),
12488            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
12489            VITE            =SIMP(statut='f',typ=cham_no_depl_r),
12490            SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
12491            VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
12492            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
12493            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
12494            NUME_ORDRE      =SIMP(statut='f',typ='I'),
12495            INST            =SIMP(statut='f',typ='R'),
12496            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12497            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12498            NUME_DIDI       =SIMP(statut='f',typ='I'),
12499            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
12500          ),
12501 #-------------------------------------------------------------------
12502          INCREMENT       =FACT(statut='o',
12503            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
12504                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
12505            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
12506            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
12507                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
12508            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
12509            INST_INIT       =SIMP(statut='f',typ='R'),
12510            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
12511            INST_FIN        =SIMP(statut='f',typ='R'),
12512            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
12513            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
12514            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
12515            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12516            OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
12517            NOM_CHAM        =SIMP(statut='f',typ='TXM',),
12518            NOM_CMP         =SIMP(statut='f',typ='TXM',),
12519            VALE            =SIMP(statut='f',typ='R'),
12520          ),
12521 #-------------------------------------------------------------------
12522          NEWMARK         =FACT(statut='d',
12523            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25),
12524            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5),
12525          ),
12526          NEWTON          =FACT(statut='c',
12527            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
12528            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
12529            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
12530            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
12531            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
12532            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12533          ),
12534          SOLVEUR         =FACT(statut='d',
12535            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12536            b_mult_front    =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12537              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12538            ),
12539            b_ldlt          =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT",
12540              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12541            ),
12542            b_ldlt_mult     =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'",
12543                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12544              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12545              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
12546            ),
12547            b_gcpc          =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué",
12548              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12549              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
12550              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
12551              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12552              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12553            ),
12554            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12555          ),
12556 #-------------------------------------------------------------------
12557          RECH_LINEAIRE   =FACT(statut='c',
12558            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
12559            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
12560            ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
12561            PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
12562            RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
12563            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
12564            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2),
12565          ),
12566          PILOTAGE        =FACT(statut='c',
12567            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12568            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
12569            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
12570            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
12571            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
12572            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
12573            ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
12574            PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
12575            SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
12576            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12577            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12578            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
12579            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
12580            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
12581            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),
12582                          ),
12583          CONVERGENCE     =FACT(statut='d',
12584            regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
12585            SIGM_REFE       =SIMP(statut='f',typ='R'),
12586            EPSI_REFE       =SIMP(statut='f',typ='R'),
12587            FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
12588            FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
12589            FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),           
12590            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
12591            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
12592            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
12593            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
12594            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
12595            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
12596            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
12597                                 ,defaut= 1.0E-6),
12598            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
12599            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
12600            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
12601                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
12602          ),
12603 #-------------------------------------------------------------------
12604          ARCHIVAGE       =FACT(statut='f',
12605            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
12606                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
12607            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
12608            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12609            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12610            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
12611            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12612            NUME_INIT       =SIMP(statut='f',typ='I'),
12613            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
12614            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
12615            into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")),
12616          ),
12617          OBSERVATION     =FACT(statut='f',max='**',
12618            regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),
12619                    PRESENT_PRESENT('MAILLE','POINT'),),
12620            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
12621
12622 into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU") ),
12623            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
12624            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
12625            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
12626            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
12627            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12628            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12629            PAS_OBSE        =SIMP(statut='f',typ='I'),
12630            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12631            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12632            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12633            POINT           =SIMP(statut='f',typ='I' ,max='**'),
12634          ),
12635 #-------------------------------------------------------------------
12636            SOLV_NON_LOCAL  =FACT(statut='f',
12637              METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
12638              b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12639                RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12640              ),
12641              b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
12642                RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12643              ),
12644              b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
12645                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12646                NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
12647                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12648              ),
12649              b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
12650                PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12651                NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
12652                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12653                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12654              ),
12655            ),
12656            LAGR_NON_LOCAL  =FACT(statut='f',
12657              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
12658              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
12659              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
12660              R               =SIMP(statut='f',typ='R',defaut= 1000.),
12661              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
12662            ),
12663 #-------------------------------------------------------------------
12664          PARM_THETA      =SIMP(statut='f',typ='R'
12665                               ,defaut= 1. ),
12666 #-------------------------------------------------------------------
12667          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
12668          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12669 )  ;
12670 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
12671 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12672 # ======================================================================
12673 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12674 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12675 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12676 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12677 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12678 #
12679 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12680 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12681 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12682 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12683 #
12684 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12685 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12686 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12687 # ======================================================================
12688 DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
12689                      fr="Réponse dynamique transitoire en coordonnées généralisées par recombinaison modale",
12690                      reentrant='f',
12691             UIinfo={"groupes":("Résolution",)},
12692       regles=(EXCLUS('AMOR_REDUIT','AMOR_GENE','LIST_AMOR'), 
12693               PRESENT_ABSENT('MODE_STAT','MODE_CORR'),),
12694          METHODE         =SIMP(statut='f',typ='TXM',defaut="EULER",
12695                                into=("EULER","NEWMARK","DEVOGE","ADAPT","ITMI") ),
12696          MASS_GENE       =SIMP(statut='o',typ=matr_asse_gene_r ),
12697          RIGI_GENE       =SIMP(statut='o',typ=matr_asse_gene_r ),
12698          AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r ),
12699          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
12700          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
12701          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc) ),
12702          MODE_CORR       =SIMP(statut='f',typ=(mult_elas,mode_stat_acce) ,),
12703          
12704          ETAT_INIT       =FACT(statut='f',
12705            regles=(EXCLUS('RESU_GENE','DEPL_INIT_GENE'),
12706                    EXCLUS('RESU_GENE','VITE_INIT_GENE'),),
12707            RESU_GENE       =SIMP(statut='f',typ=tran_gene ),
12708            b_resu_gene     =BLOC(condition = "RESU_GENE != None",
12709              INST_INIT       =SIMP(statut='f',typ='R' ),
12710              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12711              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12712            ),
12713            DEPL_INIT_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
12714            VITE_INIT_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
12715          ),
12716          INCREMENT       =FACT(statut='o',max='**',
12717            INST_INIT       =SIMP(statut='f',typ='R' ),
12718            INST_FIN        =SIMP(statut='o',typ='R' ),
12719            PAS             =SIMP(statut='f',typ='R' ),
12720            VERI_PAS        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12721            VITE_MIN        =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
12722            COEF_MULT_PAS   =SIMP(statut='f',typ='R',defaut= 1.1 ),
12723            COEF_DIVI_PAS   =SIMP(statut='f',typ='R',defaut= 1.3333334 ),
12724            PAS_LIMI_RELA   =SIMP(statut='f',typ='R',defaut= 1.0E-6 ),
12725            NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
12726            NMAX_ITER_PAS   =SIMP(statut='f',typ='I',defaut= 16 ),
12727          ),
12728          ARCHIVAGE       =FACT(statut='f',
12729            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH'),),
12730            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster ),
12731            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12732          ),
12733          
12734          NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 20 ),
12735          RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12736          LAMBDA          =SIMP(statut='f',typ='R',defaut= 10. ),
12737          
12738          EXCIT           =FACT(statut='f',max='**',
12739            regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'),
12740                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12741                    PRESENT_PRESENT('D_FONC_DT','D_FONC_DT2'),
12742                    PRESENT_ABSENT('NUME_MODE','VECT_GENE','COEF_MULT'),
12743                    EXCLUS('MULT_APPUI','CORR_STAT'),
12744                    PRESENT_ABSENT('MULT_APPUI','COEF_MULT'),
12745                    PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),),
12746            VECT_GENE       =SIMP(statut='f',typ=vect_asse_gene ),
12747            NUME_MODE       =SIMP(statut='f',typ='I' ),
12748            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12749            COEF_MULT       =SIMP(statut='f',typ='R' ),
12750            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12751            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12752            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12753            MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12754            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
12755            b_loca          =BLOC(condition= "DIRECTION != None",
12756              regles=(EXCLUS('NOEUD','GROUP_NO'),),
12757              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12758              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12759            ),
12760            CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12761            D_FONC_DT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12762            D_FONC_DT2      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12763          ),
12764          CHOC            =FACT(statut='f',max='**',
12765            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1' ),
12766                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
12767                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
12768            INTITULE        =SIMP(statut='f',typ='TXM' ),
12769            NOEUD_1         =SIMP(statut='f',typ=no),
12770            NOEUD_2         =SIMP(statut='f',typ=no),
12771            GROUP_NO_1      =SIMP(statut='f',typ=grno),
12772            GROUP_NO_2      =SIMP(statut='f',typ=grno),
12773            OBSTACLE        =SIMP(statut='o',typ=obstacle_sdaster ),
12774            ORIG_OBST       =SIMP(statut='f',typ='R',min=3,max=3),
12775            NORM_OBST       =SIMP(statut='o',typ='R',min=3,max=3),
12776            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
12777            JEU             =SIMP(statut='f',typ='R',defaut= 1. ),
12778            DIST_1          =SIMP(statut='f',typ='R',val_min=0.E+0 ),
12779            DIST_2          =SIMP(statut='f',typ='R',val_min=0.E+0 ),
12780            SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
12781            SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
12782            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
12783            RIGI_NOR        =SIMP(statut='f',typ='R' ),
12784            AMOR_NOR        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12785            RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12786            AMOR_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12787            COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12788
12789            LAME_FLUIDE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12790            b_lame          =BLOC(condition="LAME_FLUIDE=='OUI'",
12791                ALPHA           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12792                BETA            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12793                CHI             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12794                DELTA           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12795            ),
12796          ),
12797          VERI_CHOC       =FACT(statut='f',max='**',
12798            STOP_CRITERE    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12799            SEUIL           =SIMP(statut='f',typ='R',defaut= 0.5 ),
12800          ),
12801          FLAMBAGE        =FACT(statut='f',max='**',
12802            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
12803                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
12804                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
12805            NOEUD_1         =SIMP(statut='f',typ=no),
12806            NOEUD_2         =SIMP(statut='f',typ=no),
12807            GROUP_NO_1      =SIMP(statut='f',typ=grno),
12808            GROUP_NO_2      =SIMP(statut='f',typ=grno),
12809            OBSTACLE        =SIMP(statut='o',typ=obstacle_sdaster ),
12810            ORIG_OBST       =SIMP(statut='f',typ='R',max='**'),
12811            NORM_OBST       =SIMP(statut='o',typ='R',max='**'),
12812            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
12813            JEU             =SIMP(statut='f',typ='R',defaut= 1. ),
12814            DIST_1          =SIMP(statut='f',typ='R' ),
12815            DIST_2          =SIMP(statut='f',typ='R' ),
12816            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
12817            RIGI_NOR        =SIMP(statut='f',typ='R' ),
12818            FNOR_CRIT       =SIMP(statut='f',typ='R' ),
12819            FNOR_POST_FL    =SIMP(statut='f',typ='R' ),
12820            RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ),
12821          ),
12822          ANTI_SISM       =FACT(statut='f',max='**',
12823            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
12824                    UN_PARMI('NOEUD_2','GROUP_NO_2'),
12825                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
12826                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
12827            NOEUD_1         =SIMP(statut='f',typ=no),
12828            NOEUD_2         =SIMP(statut='f',typ=no),
12829            GROUP_NO_1      =SIMP(statut='f',typ=grno),
12830            GROUP_NO_2      =SIMP(statut='f',typ=grno),
12831            RIGI_K1         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12832            RIGI_K2         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12833            SEUIL_FX        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12834            C               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12835            PUIS_ALPHA      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12836            DX_MAX          =SIMP(statut='f',typ='R',defaut= 1. ),
12837          ),
12838          RELA_EFFO_DEPL  =FACT(statut='f',max='**',
12839            NOEUD           =SIMP(statut='o',typ=no),
12840            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
12841            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
12842            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12843          ),
12844          RELA_TRANSIS    =FACT(statut='f',max='**',
12845            NOEUD           =SIMP(statut='o',typ=no),
12846            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
12847            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
12848            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12849          ),
12850          RELA_EFFO_VITE  =FACT(statut='f',max='**',
12851            NOEUD           =SIMP(statut='o',typ=no),
12852            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
12853            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
12854            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12855          ),
12856          b_itmi          =BLOC(condition = "METHODE=='ITMI'",
12857                 regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),),
12858                 BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
12859                 NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
12860                 ETAT_STAT       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12861                 PREC_DUREE      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
12862                 CHOC_FLUI       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12863                 NB_MODE         =SIMP(statut='f',typ='I' ),
12864                 NB_MODE_FLUI    =SIMP(statut='f',typ='I' ),
12865                 NB_MODE_DIAG    =SIMP(statut='f',typ='I' ),
12866                 TS_REG_ETAB     =SIMP(statut='f',typ='R' ),
12867          ),
12868          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
12869          IMPRESSION      =FACT(statut='f',max='**',
12870            regles=(EXCLUS('TOUT','NIVEAU'),),
12871            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12872            NIVEAU          =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ),
12873            INST_INIT       =SIMP(statut='f',typ='R' ),
12874            INST_FIN        =SIMP(statut='f',typ='R' ),
12875          ),
12876          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12877  )  ;
12878 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
12879 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12880 # ======================================================================
12881 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12882 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12883 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12884 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12885 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12886 #
12887 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12888 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12889 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12890 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12891 #
12892 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12893 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12894 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12895 # ======================================================================
12896 # RESPONSABLE VABHHTS J.PELLET
12897 ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,
12898             UIinfo={"groupes":("Impression",)},
12899       regles=(UN_PARMI('TOUT','CO'),),
12900          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
12901          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12902          CO              =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'),
12903          TYPE_TEST       =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME","RESUME") ),
12904          FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE12.5"),
12905          PREC_R          =SIMP(statut='f',typ='TXM',defaut="1.E-5"),
12906 )  ;
12907 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12908 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12909 # ======================================================================
12910 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12911 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12912 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12913 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12914 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12915 #
12916 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12917 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12918 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12919 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12920 #
12921 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12922 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12923 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12924 # ======================================================================
12925 EXEC_LOGICIEL=PROC(nom="EXEC_LOGICIEL",op= 183,fr="",
12926             UIinfo={"groupes":("Impression",)},
12927          LOGICIEL        =SIMP(statut='f',typ='TXM' ),  
12928          ARGUMENT        =FACT(statut='f',max='**',
12929            NOM_PARA        =SIMP(statut='f',typ='TXM' ),  
12930          ),
12931 )  ;
12932 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12933 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12934 # ======================================================================
12935 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12936 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12937 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12938 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12939 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12940 #
12941 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12942 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12943 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12944 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12945 #
12946 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12947 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12948 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12949 # ======================================================================
12950 def extr_mode_prod(FILTRE_MODE,**args):
12951   vale=FILTRE_MODE[0]['MODE']
12952   if AsType(vale) == mode_meca   : return mode_meca
12953   if AsType(vale) == mode_meca_c : return mode_meca_c
12954   if AsType(vale) == mode_gene   : return mode_gene
12955   raise AsException("type de concept resultat non prevu")
12956
12957 EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod,
12958                reentrant='n',
12959             UIinfo={"groupes":("Résolution",)},
12960          FILTRE_MODE     =FACT(statut='o',max='**',
12961            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','NUME_MODE','NUME_MODE_EXCLU','FREQ_MIN','CRIT_EXTR',),),
12962            MODE            =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_gene ) ),
12963            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
12964            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12965            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12966            NUME_MODE_EXCLU =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12967            FREQ_MIN        =SIMP(statut='f',typ='R' ),
12968            CRIT_EXTR       =SIMP(statut='f',typ='TXM',into=("MASS_EFFE_UN","MASS_GENE") ),
12969            b_freq_min      =BLOC(condition = "FREQ_MIN != None",  
12970              FREQ_MAX        =SIMP(statut='o',typ='R' ),
12971              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12972            ),
12973            b_crit_extr     =BLOC(condition = "CRIT_EXTR != None",
12974              SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12975            ),    
12976          ),
12977          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12978          IMPRESSION      =FACT(statut='f',
12979            CUMUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12980            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ),
12981          ),
12982 )  ;
12983 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12984 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12985 # ======================================================================
12986 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12987 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12988 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12989 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12990 # (AT YOUR OPTION) ANY LATER VERSION.
12991 #
12992 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12993 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12994 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12995 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12996 #
12997 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12998 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12999 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13000 # ======================================================================
13001 def extr_resu_prod(RESULTAT,**args):
13002   if AsType(RESULTAT) == evol_elas    : return evol_elas
13003   if AsType(RESULTAT) == evol_noli    : return evol_noli
13004   if AsType(RESULTAT) == evol_ther    : return evol_ther
13005   if AsType(RESULTAT) == dyna_trans   : return dyna_trans
13006   if AsType(RESULTAT) == dyna_harmo   : return dyna_harmo
13007   if AsType(RESULTAT) == acou_harmo   : return acou_harmo
13008   if AsType(RESULTAT) == mode_meca    : return mode_meca
13009   if AsType(RESULTAT) == mode_acou    : return mode_acou
13010   if AsType(RESULTAT) == mode_stat :    return mode_stat
13011   if AsType(mode_stat) == mode_stat_depl :    return mode_stat_depl
13012   if AsType(mode_stat) == mode_stat_acce :    return mode_stat_acce
13013   if AsType(mode_stat) == mode_stat_forc :    return mode_stat_forc
13014   if AsType(RESULTAT) == mult_elas    : return mult_elas
13015   if AsType(RESULTAT) == fourier_elas : return fourier_elas
13016   raise AsException("type de concept resultat non prevu")
13017
13018 EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f',
13019             UIinfo={"groupes":("Résultats et champs",)},
13020          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,
13021                                                mode_acou,mode_stat_depl,mode_stat_acce,mode_stat_forc,evol_ther,evol_noli,
13022                                                mult_elas,fourier_elas ) ),
13023
13024          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
13025                                    fr="Liste des paramètres de sensibilité.",
13026                                    ang="List of sensitivity parameters"),
13027
13028          ARCHIVAGE       =FACT(statut='f',
13029            regles=(  UN_PARMI('NUME_ORDRE', 'INST', 'FREQ', 'NUME_MODE',
13030                         'NOEUD_CMP', 'LIST_INST', 'LIST_FREQ', 'LIST_ORDRE',
13031                         'NOM_CAS', 'LIST_ARCH', 'PAS_ARCH' ),
13032                      EXCLUS( 'CHAM_EXCLU','NOM_CHAM' ),   ),
13033            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
13034            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()),
13035            PRECISION       =SIMP(statut='f',typ='R',defaut=1.E-3 ),
13036            CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),defaut="RELATIF"),
13037            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
13038            PAS_ARCH        =SIMP(statut='f',typ='I'),
13039            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13040            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
13041            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13042            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
13043            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13044            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
13045            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13046            NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
13047            NOM_CAS         =SIMP(statut='f',typ='TXM'),
13048                                ),
13049
13050          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
13051 )  ;
13052 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13053 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13054 # ======================================================================
13055 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
13056 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13057 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13058 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13059 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13060 #                                                                       
13061 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13062 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13063 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13064 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13065 #                                                                       
13066 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13067 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13068 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13069 # ======================================================================
13070 def extr_table_prod(TYPE_RESU,**args):
13071   if TYPE_RESU == "MATR_ASSE_GENE_R" : return matr_asse_gene_r
13072   raise AsException("type de concept resultat non prevu")
13073
13074 EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n',
13075             UIinfo={"groupes":("Résultats et champs",)},
13076
13077          TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("MATR_ASSE_GENE_R",) ),
13078
13079          TABLE           =SIMP(statut='o',typ=table_sdaster),
13080
13081          NOM_PARA        =SIMP(statut='o',typ='TXM'),
13082
13083          FILTRE          =FACT(statut='f',min=1,max='**',
13084            NOM_PARA        =SIMP(statut='o',typ='TXM'),
13085            CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
13086                                  into=("EQ","LT","GT","NE","LE","GE","VIDE",
13087                                        "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
13088            b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
13089               regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
13090               VALE            =SIMP(statut='f',typ='R'),
13091               VALE_I          =SIMP(statut='f',typ='I'),
13092               VALE_C          =SIMP(statut='f',typ='C'),
13093               VALE_K          =SIMP(statut='f',typ='TXM'),),
13094
13095            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
13096            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
13097          ),
13098
13099          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
13100 )  ;
13101 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13102 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13103 # ======================================================================
13104 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13105 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13106 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13107 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13108 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13109 #
13110 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13111 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13112 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13113 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13114 #
13115 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13116 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13117 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13118 # ======================================================================
13119 def fact_grad_prod(MATR_ASSE,**args):
13120   if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
13121   if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
13122   if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
13123   raise AsException("type de concept resultat non prevu")
13124
13125 FACT_GRAD=OPER(nom="FACT_GRAD",op=85,sd_prod=fact_grad_prod,
13126             UIinfo={"groupes":("Résolution",)},
13127                fr="Préconditionnement pour résolution par gradient conjugué",
13128                reentrant='n',
13129          MATR_ASSE       =SIMP(statut='o',
13130                                typ=(matr_asse_depl_r,matr_asse_temp_r,
13131                                     matr_asse_pres_r) ),
13132          PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LDLT_INC",into=("LDLT_INC",) ),
13133          NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),  
13134          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
13135 )  ;
13136 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13137 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13138 # ======================================================================
13139 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13140 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13141 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13142 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13143 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13144 #
13145 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13146 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13147 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13148 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13149 #
13150 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13151 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13152 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13153 # ======================================================================
13154 # RESPONSABLE VABHHTS J.PELLET
13155 def fact_ldlt_prod(MATR_ASSE,**args):
13156   if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
13157   if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c
13158   if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
13159   if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c
13160   if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
13161   if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c
13162   raise AsException("type de concept resultat non prevu")
13163
13164 FACT_LDLT=OPER(nom="FACT_LDLT",op=14,sd_prod=fact_ldlt_prod,fr="Factorisation en place ou hors place",
13165                reentrant='f',
13166             UIinfo={"groupes":("Résolution",)},
13167          regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'),
13168                  EXCLUS('BLOC_FIN','DDL_FIN'),),
13169          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
13170                                                matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
13171          STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
13172          NPREC           =SIMP(statut='f',typ='I',defaut=8,val_min=0,),
13173          PRE_COND        =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","DIAG") ),
13174          BLOC_DEBUT      =SIMP(statut='f',typ='I',val_min=1,),
13175          DDL_DEBUT       =SIMP(statut='f',typ='I',val_min=1,),
13176          BLOC_FIN        =SIMP(statut='f',typ='I',val_min=1,),
13177          DDL_FIN         =SIMP(statut='f',typ='I',val_min=1,),
13178 #
13179          EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13180 #
13181          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
13182          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
13183 )  ;
13184 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
13185 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13186 # ======================================================================
13187 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13188 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13189 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13190 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13191 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13192 #
13193 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13194 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13195 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13196 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13197 #
13198 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13199 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13200 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13201 # ======================================================================
13202 FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude",
13203             UIinfo={"groupes":("Gestion du travail",)},
13204          FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
13205                                typ='TXM',defaut="NON",into=("OUI","NON",) ), 
13206          RETASSAGE       =SIMP(fr="provoque le retassage de la base GLOBALE",
13207                                statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
13208          PERFORMANCE     =SIMP(fr="provoque l'impression d'un résumé des mesures de temps ",
13209                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
13210          INFO_RESU       =SIMP(fr="provoque l'impression des informations sur les structures de données",
13211                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
13212          UNITE           =SIMP(statut='f',typ='I',defaut=6),  
13213 )  ;
13214 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13215 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13216 # ======================================================================
13217 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13218 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13219 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13220 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13221 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13222 #
13223 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13224 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13225 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13226 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13227 #
13228 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13229 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13230 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13231 # ======================================================================
13232 FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster,
13233                     reentrant='n',
13234             UIinfo={"groupes":("Fonction",)},
13235          TYPE_FLUI_STRU  =SIMP(statut='o',typ=(type_flui_stru) ),
13236 )  ;
13237 #& MODIF COMMANDE  DATE 22/11/2004   AUTEUR DURAND C.DURAND 
13238 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13239 # ======================================================================
13240 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13241 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13242 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13243 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13244 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13245 #
13246 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13247 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13248 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13249 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13250 #
13251 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13252 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13253 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13254 # ======================================================================
13255 def form_pyth_ops(self,d):
13256   import types,string
13257   NOM_PARA=self.etape['NOM_PARA']
13258   VALE    =self.etape['VALE']
13259   if type(NOM_PARA) not in (types.ListType,types.TupleType) : NOM_PARA=[NOM_PARA,]
13260   if self.sd==None : return
13261   texte=string.join(VALE.splitlines())
13262
13263   self.sd.setFormule(NOM_PARA,string.strip(texte))
13264
13265 FORMULE=FORM(nom="FORMULE",op_init=form_pyth_ops,op=-5,
13266              sd_prod=formule,UIinfo={"groupes":("Fonction",)},
13267          VALE     =SIMP(statut='f',typ='TXM'),
13268          NOM_PARA =SIMP(statut='o',typ='TXM',max='**'),
13269 );
13270 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13271 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13272 # ======================================================================
13273 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13274 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13275 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13276 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13277 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13278 #
13279 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13280 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13281 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13282 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13283 #
13284 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13285 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13286 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13287 # ======================================================================
13288 # RESPONSABLE CAMBIER S.CAMBIER
13289 GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_sdaster,
13290                     fr="Génération de la fonction temporelle à partir d une matrice interspectrale",
13291                     reentrant='n',
13292             UIinfo={"groupes":("Fonction",)},
13293          INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
13294          NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
13295          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ),
13296          b_interpol_oui    =BLOC(condition = "INTERPOL == 'OUI' ",fr="Parametres cas interpolation autorisee",
13297            DUREE_TIRAGE    =SIMP(statut='f',typ='R' ),
13298            FREQ_INIT       =SIMP(statut='f',typ='R' ),
13299            FREQ_FIN        =SIMP(statut='f',typ='R' ),
13300              ),
13301          NB_POIN         =SIMP(statut='f',typ='I'),
13302          NB_TIRAGE       =SIMP(statut='f',typ='I',defaut= 1 ),
13303          INIT_ALEA       =SIMP(statut='f',typ='I'),
13304          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
13305          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
13306 )  ;
13307 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13308 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13309 # ======================================================================
13310 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
13311 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13312 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13313 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13314 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13315 #                                                                       
13316 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13317 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13318 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13319 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13320 #                                                                       
13321 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13322 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13323 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13324 # ======================================================================
13325 # RESPONSABLE CAMBIER S.CAMBIER
13326 GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op=  27,sd_prod=matr_asse_gene_r,
13327                fr="Generateur de matrice aleatoire",
13328                reentrant='n',
13329             UIinfo={"groupes":("Fonction",)},
13330    MATR_MOYEN   = SIMP(statut='o', typ=matr_asse_gene_r),
13331    COEF_VAR     = SIMP(statut='f', typ='R', defaut=0.1),
13332    INIT_ALEA    =SIMP(statut='f',typ='I'),
13333 ) ;
13334    
13335 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13336 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13337 # ======================================================================
13338 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
13339 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13340 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13341 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13342 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13343 #                                                                       
13344 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13345 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13346 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13347 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13348 #                                                                       
13349 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13350 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13351 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13352 # ======================================================================
13353 # RESPONSABLE CAMBIER S.CAMBIER
13354 GENE_VARI_ALEA=OPER(nom="GENE_VARI_ALEA",op=  28,sd_prod=table_sdaster,
13355                fr="Generateur de variable aleatoire",
13356                reentrant='n',
13357             UIinfo={"groupes":("Fonction",)},
13358    TYPE       = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"),
13359    b_gamma    =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma",
13360            VALE_MOY   = SIMP(statut='f', typ='R', defaut=1.),
13361            BORNE_INF  = SIMP(statut='f', typ='R', defaut=0.),
13362            COEF_VAR   = SIMP(statut='f', typ='R', defaut=0.1),
13363              ),
13364    b_expo    =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle",
13365            VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
13366            BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
13367              ),
13368    b_expo_tronq    =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee",
13369            VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
13370            BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
13371            BORNE_SUP  = SIMP(statut='f', typ='R', defaut=1.),
13372            COEF_VAR   = SIMP(statut='f', typ='R', defaut=0.1),
13373              ),
13374    INIT_ALEA       =SIMP(statut='f',typ='I'),
13375 ) ;
13376    
13377 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13378 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13379 # ======================================================================
13380 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13381 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13382 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13383 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13384 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13385 #
13386 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13387 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13388 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13389 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13390 #
13391 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13392 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13393 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13394 # ======================================================================
13395 IMPR_CLASSI=PROC(nom="IMPR_CLASSI",op= 114,
13396             UIinfo={"groupes":("Fonction",)},
13397          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ',
13398                         'LIST_ORDRE' ),),
13399          UNITE_CLASSI    =SIMP(statut='o',typ='I' ),
13400          MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
13401          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13402          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13403          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
13404          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13405          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13406          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
13407          b_prec_crit     =BLOC(condition = "LIST_FREQ != None or FREQ != None",
13408              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
13409              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
13410                                    into=("RELATIF","ABSOLU") ),
13411          ),
13412          IMPRESSION      =FACT(statut='f',max='**',
13413            regles=(UN_PARMI('NOEUD','GROUP_NO', ),),
13414            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
13415            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
13416            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
13417          ),
13418          AMOR            =SIMP(statut='o',typ='R',max='**'),
13419 )  ;
13420 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
13421 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13422 # ======================================================================
13423 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13424 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13425 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13426 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13427 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13428 #
13429 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13430 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13431 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13432 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13433 #
13434 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13435 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13436 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13437 # ======================================================================
13438 # RESPONSABLE VABHHTS J.PELLET
13439 IMPR_CO=PROC(nom="IMPR_CO",op=17,
13440             UIinfo={"groupes":("Impression",)},
13441              fr="Impression du contenu d un concept utilisateur (pour développeur)",
13442          regles=(UN_PARMI('CO','CHAINE', ),),
13443          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
13444          NIVEAU          =SIMP(statut='f',typ='I',defaut=2,into=(0,1,2) ),
13445          ATTRIBUT        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ),
13446          CONTENU         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ),
13447          BASE            =SIMP(statut='f',typ='TXM',defaut="G",into=("","G","V","L") ),
13448          CO              =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'),
13449          CHAINE          =SIMP(statut='f',typ='TXM'),
13450          POSITION        =SIMP(statut='f',typ='I',defaut=1),
13451 )  ;
13452 #& MODIF COMMANDE  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
13453 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13454 # ======================================================================
13455 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13456 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13457 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13458 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13459 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13460 #
13461 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13462 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13463 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13464 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13465 #
13466 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13467 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13468 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13469 # ======================================================================
13470 # RESPONSABLE GNICOLAS G.NICOLAS
13471 IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b",
13472             UIinfo={"groupes":("Fonction",)},
13473                     fr="Imprime le fichier de configuration de HOMARD.",
13474                     ang="Writes the configuration file for HOMARD.",
13475 #
13476 # 1. Le niveau d'information
13477 #
13478          INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
13479 #
13480 # 2. Langue des messages issus de HOMARD
13481 #
13482          LANGUE =SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
13483                       into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
13484                       fr="Langue des messages issus de HOMARD.",
13485                       ang="Language for HOMARD messages." ),
13486 #
13487 # 3. Le nom local du fichier de configuration HOMARD
13488 #
13489          UNITE_CONF    =SIMP(statut='o',typ='I'),
13490 #
13491 # 4. Le nom local du fichier de données HOMARD
13492 #
13493          UNITE_DONN    =SIMP(statut='f',typ='I'),
13494 #
13495 # 5. Gestion des éléments autres que des simplexes
13496 #       0 : autres elements refuses (defaut)
13497 #       1 : raffinement sur les simplexes, mais autres acceptes
13498 #       2 : tous
13499 #
13500          NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=0,into=(0,1,2),
13501                           fr="Type d'éléments acceptés.",
13502                           ang="Type of authorized elements." ),
13503 #
13504 # 6. Le type de traitement :
13505 #
13506          TRAITEMENT      =FACT(statut='o',
13507 #
13508 # 6.1. TROIS CHOIX EXCLUSIFS :
13509 #
13510 #      A. ADAPTATION PAR UN INDICATEUR D'ERREUR, AVEC TROIS VARIANTES :
13511 #         . RAFFINEMENT ET DERAFFINEMENT
13512 #         . RAFFINEMENT SEUL
13513 #         . DERAFFINEMENT SEUL
13514 #      B. ADAPTATION UNIFORME, AVEC DEUX VARIANTES :
13515 #         . RAFFINEMENT SEUL
13516 #         . DERAFFINEMENT SEUL
13517 #         . RIEN : LE MAILLAGE EST LE MEME A LA SORTIE ET A L'ENTREE
13518 #      C. INFORMATION SUR UN MAILLAGE
13519 #
13520            regles=( UN_PARMI('ADAPTATION','UNIFORME','INFORMATION'),),
13521            ADAPTATION      =SIMP(statut='f',typ='TXM',     
13522                                  fr="Adaptation libre",
13523                                  ang="Free adaptation",
13524                                  into=("RAFFINEMENT","DERAFFINEMENT","RAFF_DERA") ),
13525            UNIFORME        =SIMP(statut='f',typ='TXM',     
13526                                  fr="Adaptation uniforme",
13527                                  ang="Uniforme adaptation",
13528                                  into=("RAFFINEMENT","DERAFFINEMENT","RIEN") ),
13529            INFORMATION     =SIMP(statut='f',typ='TXM',
13530                                  fr="Information sur un maillage",
13531                                  ang="Information on a mesh",
13532                                  into=("OUI",) ),
13533 #
13534 # 6.2. LES CONTRAINTES :
13535 #
13536 # 6.2.1. POUR DE L'ADAPTATION LIBRE, IL FAUT :
13537 #      A. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13538 #      B. LE NOM MED DU MAILLAGE D'ENTREE
13539 #      C. LE NOM MED DE L'INDICATEUR D'ERREUR
13540 #      D. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13541 #      E. LA MISE A JOUR DE SOLUTION
13542 #      F. LE NOM MED DU MAILLAGE DE SORTIE
13543 #      REMARQUE : IL FAUT DES CRITERES, MAIS ON NE SAIT PAS LESQUELS
13544 #
13545 # 6.2.2. POUR DE L'ADAPTATION UNIFORME
13546 #          IL FAUT :
13547 #      A. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13548 #      B. LE NOM MED DU MAILLAGE DE SORTIE
13549 #          IL NE FAUT PAS :
13550 #      A. LE NOM MED DE L'INDICATEUR D'ERREUR
13551 #      B. LE NOM DE LA COMPOSANTE DE L'INDICATEUR D'ERREUR
13552 #      C. LES CRITERES
13553 #      REMARQUE : A L'ITERATION 0, OU AUX ITERATIONS SUIVANTES SI MAJ DE SOLUTION,
13554 #                 IL FAUT LE NOM MED DU MAILLAGE D'ENTREE
13555 #
13556 # 6.2.3. POUR DE L'INFORMATION :
13557 #          IL FAUT :
13558 #      A. LE NOM MED DU MAILLAGE D'ENTREE
13559 #          IL NE FAUT PAS :
13560 #      A. LE NOM MED DE L'INDICATEUR D'ERREUR
13561 #      B. LE NOM DE LA COMPOSANTE DE L'INDICATEUR D'ERREUR
13562 #      C. LES CRITERES
13563 #      D. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART
13564 #      E. LA MISE A JOUR DE SOLUTION
13565 #
13566            b_maillage_initial =BLOC(condition = "( INFORMATION != None ) or ( ADAPTATION != None ) ",
13567                            fr="Nom MED du maillage en entrée",
13568                            ang="MED name of the in-mesh",
13569                            NOM_MED_MAILLAGE_N   =SIMP(statut='o',typ='TXM',),
13570                            ) ,
13571 #
13572            b_maillage_initial_uniforme =BLOC(condition = "( UNIFORME != None ) ",
13573                            fr="Nom MED du maillage en entrée",
13574                            ang="MED name of the in-mesh",
13575                            NOM_MED_MAILLAGE_N   =SIMP(statut='f',typ='TXM',),
13576                            ) ,
13577 #
13578            b_iteration =BLOC(condition = "( UNIFORME != None ) or ( ADAPTATION != None ) ",
13579                            fr="Nom MED du maillage en sortie, numero d'iteration",
13580                            ang="MED name of the out-mesh, iteration rank",
13581                            NITER                =SIMP(statut='o',typ='I',
13582                            fr="Numéro d'itération.",
13583                            ang="Iteration number." ),
13584                            NOM_MED_MAILLAGE_NP1 =SIMP(statut='o',typ='TXM',
13585                            fr="Nom MED du maillage en sortie",
13586                            ang="MED name of the out-mesh" ),
13587                            ) ,
13588 #
13589            b_indicateur_d_erreur  =BLOC(condition = "ADAPTATION != None",
13590                            fr="Indicateur d'erreur",
13591                            ang="Error indicator",
13592                            regles=(AU_MOINS_UN('NUME_ORDRE','INST','RESULTAT'),
13593                                    EXCLUS('NUME_ORDRE','INST'),
13594                                    EXCLUS('NUME_ORDRE','RESULTAT'),
13595                                    PRESENT_PRESENT('RESULTAT','NOM_CHAM'),),
13596                            NOM_MED  =SIMP(statut='o',typ='TXM',
13597                            fr="Nom MED de l'indicateur d'erreur.",
13598                            ang="MED name of error indicator.",),
13599                            COMPOSANTE  =SIMP(statut='o',typ='TXM',
13600                            fr="Nom de la composante de l'indicateur d'erreur retenue.",
13601                            ang="Name of the selected component of the error indicator.",),
13602                            NUME_ORDRE  =SIMP(statut='f',typ='I',
13603                            fr="Numero d'ordre de l'indicateur.",
13604                            ang="Rank number of the error indicator.",),
13605                            INST        =SIMP(statut='f',typ='R',
13606                            fr="Instant de l'indicateur.",
13607                            ang="Instant of the error indicator.",),
13608                            b_precision     =BLOC(condition="(INST != None)",
13609                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
13610                              fr="Précision sur le choix de l'instant associé",
13611                              ang="Accuracy over instant choice" ),
13612                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
13613                              fr="Critère de précision sur le choix de l'instant associé",
13614                              ang="Accuracy criterium over instant choice" ),),
13615                            RESULTAT  =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther),
13616                            fr="Concept contenant l'indicateur.",
13617                            ang="Conceipt wich contains the error indicator.",),
13618                            NOM_CHAM  =SIMP(statut='f',typ='TXM',
13619                            fr="Nom du champ dans le résultat de l'indicateur.",
13620                            ang="Name of the field of the error indicator.",),
13621                            ) ,
13622 #
13623            b_critere_de_raffinement =BLOC( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' )" ,
13624                            fr="Critère de raffinement.",
13625                            ang="Refinement threshold.",
13626                            regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),),
13627                            CRIT_RAFF_ABS   =SIMP(statut='f',typ='R',
13628                                                  fr="Critère absolu",
13629                                                  ang="Absolute threshold"  ),
13630                            CRIT_RAFF_REL   =SIMP(statut='f',typ='R',
13631                                                  fr="Critère relatif",
13632                                                  ang="Relative threshold" ),
13633                            CRIT_RAFF_PE    =SIMP(statut='f',typ='R',
13634                                                  fr="Pourcentage d'éléments",
13635                                                  ang="Percentage of elements" ),
13636                            ) ,
13637 #
13638            b_critere_de_deraffinement =BLOC ( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' )" ,
13639                            fr="Critère de déraffinement.",
13640                            ang="Unrefinement threshold.",
13641                            regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),),
13642                            CRIT_DERA_ABS   =SIMP(statut='f',typ='R' ,
13643                                                  fr="Critère absolu",
13644                                                  ang="Absolute threshold" ),
13645                            CRIT_DERA_REL   =SIMP(statut='f',typ='R',
13646                                                  fr="Critère relatif",
13647                                                  ang="Relative threshold" ),
13648                            CRIT_DERA_PE    =SIMP(statut='f',typ='R',
13649                                                  fr="Pourcentage d'éléments",
13650                                                  ang="Percentage of elements" ),
13651                            ) ,
13652 #
13653            b_niveau_maximum =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' ) or \
13654                                                   ( UNIFORME == 'RAFFINEMENT' )" ,
13655                            NIVE_MAX        =SIMP(statut='f',typ='I',
13656                                                  fr="Niveau maximum de profondeur de raffinement",
13657                                                  ang="Maximum level for refinement"),
13658                            ) ,
13659 #
13660            b_niveau_minimum =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' ) or \
13661                                                   ( UNIFORME == 'DERAFFINEMENT' )" ,
13662                            NIVE_MIN        =SIMP(statut='f',typ='I',
13663                                                  fr="Niveau minimum de déraffinement",
13664                                                  ang="Minimum level for unrefinement" ),
13665                            ) ,
13666 #
13667 # 6.3. Le suivi de frontiere eventuel :
13668 #
13669          NOM_MED_MAILLAGE_FRONTIERE =SIMP(statut='f',typ='TXM',
13670                            fr="Nom MED du maillage de la frontiere à suivre",
13671                            ang="MED name of the boundary mesh" ),
13672 #
13673          b_frontiere_1 =BLOC ( condition = "NOM_MED_MAILLAGE_FRONTIERE != None" ,
13674                            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
13675                                                  fr="Groupes définissant la frontière",
13676                                                  ang="Groups which define the boundary" ),
13677                                ) ,
13678 #
13679          ),
13680 #
13681 # 7. Mise à jour de champs sur le nouveau maillage
13682 #
13683          MAJ_CHAM        =FACT(statut='f',max='**',
13684                            fr="Mise à jour de champs sur le nouveau maillage.",
13685                            ang="Updating of fields over the new mesh.",
13686                            regles=(AU_MOINS_UN('NUME_ORDRE','INST','RESULTAT'),
13687                                    EXCLUS('NUME_ORDRE','INST'),
13688                                    EXCLUS('NUME_ORDRE','RESULTAT'),
13689                                    PRESENT_PRESENT('RESULTAT','NOM_CHAM'),),
13690                            NOM_MED  =SIMP(statut='o',typ='TXM',
13691                            fr="Nom MED du champ à mettre à jour.",
13692                            ang="MED name of field.",),
13693                            NUME_ORDRE  =SIMP(statut='f',typ='I',
13694                            fr="Numero d'ordre du champ à mettre à jour.",
13695                            ang="Rank number of field.",),
13696                            INST        =SIMP(statut='f',typ='R',
13697                            fr="Instant du champ à mettre à jour.",
13698                            ang="Instant of field.",),
13699                            b_precision     =BLOC(condition="(INST != None)",
13700                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
13701                              fr="Précision sur le choix de l'instant associé",
13702                              ang="Accuracy over instant choice" ),
13703                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
13704                              fr="Critère de précision sur le choix de l'instant associé",
13705                              ang="Accuracy criterium over instant choice" ),),
13706                            RESULTAT  =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther),
13707                            fr="Concept contenant le champ à mettre à jour.",
13708                            ang="Conceipt wich contains the field.",),
13709                            NOM_CHAM  =SIMP(statut='f',typ='TXM',
13710                            fr="Nom du champ dans le résultat du champ à mettre à jour.",
13711                            ang="Name of the field.",),
13712          ),
13713 #
13714 # 8. L'ANALYSE DU MAILLAGE
13715 #
13716          ANALYSE         =FACT(statut='f',
13717                                fr="Analyse du maillage.",
13718                                ang="Mesh analysis.",
13719 #
13720 #    5 CHOIX NON EXCLUSIFS, AVEC DEUX VARIANTES (OUI/NON) :
13721 #    A. NOMBRE DES ELEMENTS
13722 #    B. QUALITE DES ELEMENTS
13723 #    C. INTERPENETRATION DES ELEMENTS
13724 #    D. CONNEXITE DU MAILLAGE
13725 #    E. TAILLE DES DIFFERENTS SOUS-DOMAINES
13726 #
13727            regles=(AU_MOINS_UN('NOMBRE','QUALITE','INTERPENETRATION','CONNEXITE','TAILLE'),),
13728 #
13729          NOMBRE          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
13730                           fr="Nombre de noeuds et éléments du maillage",
13731                           ang="Number of nodes and elements in the mesh" ),
13732 #
13733          QUALITE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13734                           fr="Qualité du maillage",
13735                           ang="Mesh quality" ),
13736 #
13737          INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13738                           fr="Controle de la non interpénétration des éléments.",
13739                           ang="Overlapping checking." ),
13740 #
13741          CONNEXITE       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13742                           fr="Connexité du maillage.",
13743                           ang="Mesh connexity." ),
13744 #
13745          TAILLE          =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13746                           fr="Tailles des sous-domaines du maillage.",
13747                           ang="Sizes of mesh sub-domains." ),
13748 #
13749          ),
13750 #
13751 )  ;
13752 #& MODIF COMMANDE  DATE 15/11/2004   AUTEUR MCOURTOI M.COURTOIS 
13753 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13754 # ======================================================================
13755 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
13756 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13757 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13758 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13759 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13760 #                                                                       
13761 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13762 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13763 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13764 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13765 #                                                                       
13766 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13767 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13768 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13769 # ======================================================================
13770 # RESPONSABLE MCOURTOI M.COURTOIS
13771 from Macro.impr_fonction_ops import impr_fonction_ops
13772
13773 IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",op=impr_fonction_ops,sd_prod=None,
13774                  fr="Impression de fonctions sur fichiers, les valeurs ayant été récupérées par RECU_FONCTION",
13775             UIinfo={"groupes":("Fonction",)},
13776          FORMAT          =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU',
13777                                into=("TABLEAU","AGRAF","XMGRACE",),),
13778          b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'",
13779                         fr="Mots-clés propres à XMGRACE",
13780            PILOTE          =SIMP(statut='f',typ='TXM',defaut='',
13781                                  into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
13782                             fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
13783            UNITE           =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
13784                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
13785          ),
13786          b_agraf = BLOC(condition = "FORMAT == 'AGRAF'",
13787                         fr="Mots-clés propres à AGRAF",
13788            UNITE           =SIMP(statut='o',typ='I',defaut=25,
13789                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
13790            UNITE_DIGR      =SIMP(statut='o',typ='I',defaut=26,
13791                                  fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"),
13792          ),
13793          # unite pour TABLEAU dans le bloc de mise en forme spécifique
13794
13795          COURBE          =FACT(statut='o',max='**',fr="Définition de la fonction à tracer",
13796            regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),),
13797            FONCTION        =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster),
13798                                  fr="Fonction réelle ou complexe", ),
13799            LIST_RESU       =SIMP(statut='f',typ=listr8_sdaster,
13800                                  fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ),
13801            FONC_X          =SIMP(statut='f',typ=(fonction_sdaster,formule),
13802                                  fr="Fonction abscisses d'une fonction paramétrique",),
13803            ABSCISSE        =SIMP(statut='f',typ='R',max='**',
13804                                  fr="Valeurs des abscisses", ),
13805            b_fonction      =BLOC(condition = "FONCTION != None",
13806              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
13807            ),
13808            b_fonction_c  =BLOC(condition = "AsType(FONCTION) == fonction_c",
13809                                  fr="Fonction complexe définie par le mot-clé fonction",
13810              PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
13811            ),
13812            b_list_resu     =BLOC(condition = "LIST_RESU != None",
13813              LIST_PARA       =SIMP(statut='o',typ=listr8_sdaster ),
13814            ),
13815            b_fonc_x        =BLOC(condition = "FONC_X != None",
13816              FONC_Y          =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ),
13817              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
13818            ),
13819            b_vale_resu     =BLOC(condition = "ABSCISSE != None",
13820              ORDONNEE      =SIMP(statut='o',typ='R',max='**',
13821                                  fr="Valeurs des ordonnées"),
13822            ),
13823
13824            # le bloc n'est pas activé (vide) car position n'est pas pris en compte
13825            b_forme         =BLOC(condition = "FORMAT != 'TABLEAU'",
13826                                  fr="Données de mise en forme de la fonction (cf. doc)",
13827            ),
13828               LEGENDE         =SIMP(statut='f',typ='TXM',
13829                                     fr="Légende associée à la fonction" ),
13830               STYLE           =SIMP(statut='f',typ='I',val_min=0,
13831                                     fr="Style de la ligne représentant la fonction",),
13832               COULEUR         =SIMP(statut='f',typ='I',val_min=0,
13833                                     fr="Couleur associée à la fonction",),
13834               MARQUEUR        =SIMP(statut='f',typ='I',val_min=0,
13835                                     fr="Type du marqueur associé à la fonction",),
13836               FREQ_MARQUEUR   =SIMP(statut='f',typ='I',defaut=0,
13837                                     fr="Fréquence d impression du marqueur associé à la fonction", ),
13838            # fin bloc b_forme
13839            TRI             =SIMP(statut='f',typ='TXM',defaut="N",
13840                                  fr="Choix du tri effectué sur les abscisses ou sur les ordonnées",
13841                                  into=("N","X","Y","XY","YX") ),
13842          ),
13843          # Mise en page du tableau ou du graphique
13844          b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'",
13845                           fr="Mots-clés propres au format Tableau",
13846            UNITE           =SIMP(statut='o',typ='I',defaut=8,
13847                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
13848            TITRE           =SIMP(statut='f',typ='TXM',
13849                                  fr="Titre associé au graphique" ),
13850            SOUS_TITRE      =SIMP(statut='f',typ='TXM',
13851                                  fr="Sous-titre du graphique" ),
13852            SEPARATEUR      =SIMP(statut='f',typ='TXM',defaut=' ',
13853                                  fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"),
13854            COMMENTAIRE     =SIMP(statut='f',typ='TXM',defaut='#',
13855                                  fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"),
13856            DEBUT_LIGNE     =SIMP(statut='f',typ='TXM',defaut='',
13857                                  fr="Caractère de debut de ligne"),
13858            FIN_LIGNE       =SIMP(statut='f',typ='TXM',defaut='\n',
13859                                  fr="Caractère de fin de ligne"),
13860          ),
13861          b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'",
13862                         fr="Mise en page du graphique",
13863            TITRE           =SIMP(statut='f',typ='TXM',
13864                                  fr="Titre associé au graphique" ),
13865            SOUS_TITRE      =SIMP(statut='f',typ='TXM',
13866                                  fr="Sous-titre du graphique" ),
13867            BORNE_X         =SIMP(statut='f',typ='R',min=2,max=2,
13868                                  fr="Intervalles de variation des abscisses"),
13869            BORNE_Y         =SIMP(statut='f',typ='R',min=2,max=2,
13870                                  fr="Intervalles de variation des ordonnées"),
13871            ECHELLE_X       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
13872                                  fr="Type d'échelle pour les abscisses" ),
13873            ECHELLE_Y       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
13874                                  fr="Type d'échelle pour les ordonnées" ),
13875            GRILLE_X        =SIMP(statut='f',typ='R',max=1,val_min=0.,
13876                                  fr="Pas du quadrillage vertical" ),
13877            GRILLE_Y        =SIMP(statut='f',typ='R',max=1,val_min=0.,
13878                                  fr="Pas du quadrillage horizontal" ),
13879            LEGENDE_X       =SIMP(statut='f',typ='TXM',
13880                                  fr="Légende associée à l'axe des abscisses" ),
13881            LEGENDE_Y       =SIMP(statut='f',typ='TXM',
13882                                  fr="Légende associée à l'axe des ordonnées" ),
13883          ),
13884          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
13885 )  ;
13886 #& MODIF COMMANDE  DATE 17/11/2005   AUTEUR NICOLAS O.NICOLAS 
13887 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13888 # ======================================================================
13889 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13890 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13891 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13892 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13893 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13894 #
13895 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13896 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13897 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13898 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13899 #
13900 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13901 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13902 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13903 # ======================================================================
13904 IMPR_GENE=PROC(nom="IMPR_GENE",op= 157,
13905                fr="Calcul du dommage subi par une structure soumise à une sollicitation de type aléatoire",
13906             UIinfo={"groupes":("Impression",)},
13907          GENE            =FACT(statut='o',max='**',
13908            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
13909                           'LIST_INST','LIST_FREQ','TOUT_MODE','TOUT_INST','LIST_ORDRE'),
13910                    EXCLUS('TOUT_MODE','NUME_ORDRE','INST','FREQ','NUME_MODE',
13911                           'LIST_INST','LIST_FREQ','TOUT_ORDRE','TOUT_INST','LIST_ORDRE'),
13912                    EXCLUS('TOUT_INST','NUME_ORDRE','INST','FREQ','NUME_MODE',
13913                           'LIST_INST','LIST_FREQ','TOUT_ORDRE','LIST_ORDRE'),
13914                    EXCLUS('TOUT_CMP_GENE','NUME_CMP_GENE'),
13915                    EXCLUS('TOUT_CHAM','NOM_CHAM'),
13916                    EXCLUS('TOUT_PARA','NOM_PARA'),),
13917 #  faut-il faire des blocs selon le type de RESU_GENE                   
13918            RESU_GENE       =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)),
13919            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ),
13920            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
13921            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13922            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13923            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
13924            TOUT_MODE       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13925            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13926            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13927            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
13928            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13929            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13930            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
13931            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
13932            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
13933                                    into=("RELATIF","ABSOLU") ),
13934            TOUT_CMP_GENE   =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13935            NUME_CMP_GENE   =SIMP(statut='f',typ='I',max='**'),
13936            TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13937            NOM_CHAM        =SIMP(statut='f',typ='TXM',max='**'),
13938            TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13939            NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
13940            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
13941            INFO_CMP_GENE   =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13942            INFO_GENE       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13943          ),
13944 )  ;
13945 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
13946 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13947 # ======================================================================
13948 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13949 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13950 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13951 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13952 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13953 #
13954 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13955 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13956 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13957 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13958 #
13959 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13960 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13961 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13962 # ======================================================================
13963 IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,
13964             UIinfo={"groupes":("Impression",)},
13965                  fr="Impression de caractéristiques d'objets JEVEUX (pour développeur)",
13966          ENTITE          =SIMP(fr="choix de l'observation",statut='o',typ='TXM',
13967                                into=("DISQUE","MEMOIRE","REPERTOIRE",    
13968                                      "OBJET","ATTRIBUT","SYSTEME") ),
13969          b_objet      =BLOC(condition = "(ENTITE=='OBJET')",
13970             NOMOBJ          =SIMP(fr="nom d'objet",statut='f',typ='TXM' ),  
13971             NUMOC           =SIMP(fr="numéro d objet de collection",statut='f',typ='I' ),  
13972             NOMOC           =SIMP(fr="nom d'objet de collection",statut='f',typ='TXM' ),  
13973          ),
13974          b_attribut   =BLOC(condition = "(ENTITE=='ATTRIBUT')",
13975             NOMOBJ          =SIMP(fr="nom de collection",statut='f',typ='TXM' ),  
13976             NOMATR          =SIMP(fr="nom d attribut de collection",statut='f',typ='TXM',
13977                                   into=('$$DESO','$$IADD','$$IADM','$$NOM','$$LONG',
13978                                       '$$LONO','$$LUTI','$$NUM') ),
13979          ),
13980          b_systeme    =BLOC(condition = "(ENTITE=='SYSTEME')",
13981             CLASSE          =SIMP(statut='o',typ='TXM',into=('G','V','L') ),  
13982             NOMATR          =SIMP(fr="nom d attribut systeme",statut='f',typ='TXM',   
13983                                   into=('$$CARA','$$IADD','$$GENR','$$TYPE','$$MARQ',
13984                                       '$$DOCU','$$ORIG','$$RNOM','$$LTYP','$$LONG',
13985                                       '$$LONO','$$DATE','$$LUTI','$$HCOD','$$INDX',
13986                                       '$$TLEC','$$TECR','$$IADM','$$ACCE','$$USADI') ),
13987          ),
13988          b_repertoire =BLOC(condition = "(ENTITE=='REPERTOIRE')",
13989             CLASSE          =SIMP(statut='f',typ='TXM',into=('G','V','L',' '),defaut=' '),  
13990          ),
13991          b_disque     =BLOC(condition = "(ENTITE=='DISQUE')",
13992             CLASSE          =SIMP(statut='f',typ='TXM' ,into=('G','V','L',' '),defaut=' '),  
13993          ),
13994          IMPRESSION      =FACT(statut='f',
13995            NOM             =SIMP(statut='f',typ='TXM' ),  
13996            UNITE           =SIMP(statut='f',typ='I'),  
13997          ),
13998          COMMENTAIRE     =SIMP(statut='f',typ='TXM' ),  
13999 )  ;
14000 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
14001 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14002 # ======================================================================
14003 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14004 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14005 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14006 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14007 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14008 #
14009 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14010 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14011 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14012 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14013 #
14014 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14015 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14016 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14017 # ======================================================================
14018 IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160,
14019                     UIinfo={"groupes":("Impression",)},
14020          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
14021          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
14022                                into=("MISS_3D","IDEAS","CADYRO","PLEXUS") ),
14023
14024          b_plexus         =BLOC(condition = "FORMAT == 'IDEAS'",
14025            UNITE           =SIMP(statut='f',typ='I',defaut=30),
14026            VERSION          =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
14027          ),             
14028
14029          b_ideas         =BLOC(condition = "FORMAT == 'PLEXUS'",
14030            UNITE           =SIMP(statut='f',typ='I',defaut=30),
14031            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
14032          ),                      
14033
14034          b_miss_3d       =BLOC(condition = "FORMAT == 'MISS_3D'",
14035            regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
14036            UNITE           =SIMP(statut='f',typ='I',defaut= 26 ),
14037            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
14038            AMOR_REDUIT     =SIMP(statut='f',typ='R'  ,max='**'),
14039            LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
14040            GROUP_MA_INTERF =SIMP(statut='o',typ=grma ,max='**'),
14041            GROUP_MA_FLU_STR=SIMP(statut='f',typ=grma,max='**'),
14042            GROUP_MA_FLU_SOL=SIMP(statut='f',typ=grma,max='**'),
14043            GROUP_MA_SOL_SOL=SIMP(statut='f',typ=grma,max='**'),
14044            IMPR_MODE_MECA  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14045            IMPR_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14046          ),
14047
14048          b_cadyro        =BLOC(condition = "FORMAT == 'CADYRO'",
14049            SQUELETTE       =SIMP(statut='f',typ=squelette ),
14050            UNITE_MODE_MECA =SIMP(statut='f',typ='I',defaut= 26 ),
14051            UNITE_MODE_STAT =SIMP(statut='f',typ='I',defaut= 27 ),
14052            UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 28 ),
14053            IMPR_MODE_MECA  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14054            IMPR_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14055          ),
14056
14057 )  ;
14058 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
14059 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14060 # ======================================================================
14061 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14062 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14063 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14064 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14065 # (AT YOUR OPTION) ANY LATER VERSION.
14066 #
14067 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14068 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14069 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14070 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14071 #
14072 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14073 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14074 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14075 # ======================================================================
14076 IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159,
14077                   fr="Impression des matrices élémentaires et des matrices assemblées",
14078             UIinfo={"groupes":("Impression",)},
14079          regles=(AU_MOINS_UN('MATR_ELEM','MATR_ASSE'),),
14080
14081          MATR_ELEM       =FACT(statut='f',max='**',
14082            UNITE           =SIMP(statut='f',typ='I' ),  
14083            FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
14084                                  into=("IDEAS","RESULTAT") ),
14085          b_format_resultat  =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
14086            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
14087          ),
14088          b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
14089            UNITE           =SIMP(statut='f',typ='I',defaut=30),  
14090            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
14091          ),
14092
14093 #  créer les types matr_elem  et vect_elem
14094            MATRICE         =SIMP(statut='o',typ=(matr_elem, vect_elem)),
14095 #  Quelle regle pour TOUT, NOEUD, GROUP_NO, MAILLE, GROUP_MA
14096            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14097            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
14098            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
14099            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
14100            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
14101            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14102            GRAIN           =SIMP(statut='f',typ='TXM',defaut="VALEUR",
14103                                  into=("VALEUR","NOEUD","MAILLE") ),
14104            NB_CHIFFRE      =SIMP(statut='f',typ='I',defaut= 4 ),
14105          ),
14106          MATR_ASSE       =FACT(statut='f',max='**',
14107            UNITE           =SIMP(statut='f',typ='I' ),  
14108            FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
14109                                  into=("IDEAS","RESULTAT") ),
14110            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
14111 #  créer le type matr_elem
14112            MATRICE         =SIMP(statut='o',typ=matr_asse_gd),
14113 #  Quelle regle pour TOUT, NOEUD, GROUP_NO, MAILLE, GROUP_MA
14114            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14115            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
14116            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
14117            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
14118            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
14119            OPTION          =SIMP(statut='f',typ='TXM',defaut="SOUS_MATRICE",
14120                                  into=("SOUS_MATRICE","LIGNE","COLONNE") ),
14121            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14122            GRAIN           =SIMP(statut='f',typ='TXM',defaut="VALEUR",
14123                                  into=("VALEUR","NOEUD") ),
14124            NB_CHIFFRE      =SIMP(statut='f',typ='I',defaut= 4 ),
14125            VALE_ZERO       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
14126          ),
14127 )  ;
14128 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
14129 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14130 # ======================================================================
14131 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14132 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14133 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14134 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14135 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14136 #
14137 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14138 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14139 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14140 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14141 #
14142 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14143 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14144 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14145 # ======================================================================
14146 IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162,
14147             UIinfo={"groupes":("Impression",)},
14148          regles=(UN_PARMI('INST_INIT','FREQ_INIT'),
14149                  PRESENT_PRESENT('INST_INIT','INST_FIN'),
14150                  PRESENT_PRESENT('FREQ_INIT','FREQ_FIN'),),
14151          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
14152          EXCIT           =FACT(statut='f',max='**',
14153            regles=(UN_PARMI('FONC_MULT','COEF_MULT' ),),
14154            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
14155            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
14156            COEF_MULT       =SIMP(statut='f',typ='R' ),
14157          ),
14158          EXCIT_SOL       =FACT(statut='f',max='**',
14159            DIRECTION       =SIMP(statut='o',typ='R',min=3,max=3),
14160            FONC_SIGNAL     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
14161            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",
14162                                  into=("DEPL","VITE","ACCE","FORC",) ),
14163          ),
14164          INST_INIT       =SIMP(statut='f',typ='R' ),
14165          INST_FIN        =SIMP(statut='f',typ='R' ),
14166          FREQ_INIT       =SIMP(statut='f',typ='R' ),
14167          FREQ_FIN        =SIMP(statut='f',typ='R' ),
14168          PAS             =SIMP(statut='o',typ='R' ),
14169          UNITE           =SIMP(statut='f',typ='I',defaut= 26 ),
14170          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
14171          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14172 )  ;
14173 #& MODIF COMMANDE  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
14174 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14175 # ======================================================================
14176 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
14177 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
14178 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
14179 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
14180 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
14181 #                                                                       
14182 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
14183 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
14184 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14185 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
14186 #                                                                       
14187 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
14188 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
14189 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
14190 # ======================================================================
14191 # RESPONSABLE D6BHHAM A.M.DONORE
14192 #
14193 IMPR_OAR =PROC(nom="IMPR_OAR",op= 40,
14194                fr="Impression au format OAR",
14195                UIinfo={"groupes":("Impression",)},
14196          CARA_ELEM       =SIMP(statut='f',typ=cara_elem                          ),
14197          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster                        ),
14198          MODELE          =SIMP(statut='o',typ=modele_sdaster                          ),
14199          MAILLE          =SIMP(statut='o',typ=ma  ,validators=NoRepeat(),max=2   ),
14200          NOEUD           =SIMP(statut='o',typ=no  ,validators=NoRepeat()         ),
14201
14202          CHARGE           =FACT(statut='o',max='**',
14203
14204               NUM_CHAR        =SIMP(statut='o',typ='I'),
14205               TEMP_NOEUD      =SIMP(statut='f',typ='R',defaut=20.),
14206               TYPE            =SIMP(statut='f',typ='TXM',defaut="DILA",
14207                                  into=("POIDS","DILA","SEISME","DEPL","EFFO","STRATIF","CONDITIONNEL","COMBINAISON") ),
14208               NATURE          =SIMP(statut='f',typ='TXM',defaut="PRIMAIRE",
14209                                  into=("PRIMAIRE","SECONDAIRE","TOTAL") ),
14210               SIGNE           =SIMP(statut='f',typ='TXM',defaut="S",
14211                                  into=("S","NS") ),
14212               RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),# CO() sd a creer !!!
14213            ),
14214
14215
14216            UNITE           =SIMP(statut='f',typ='I',defaut=38),  
14217            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14218 ) ;
14219 #& MODIF COMMANDE  DATE 11/05/2005   AUTEUR CIBHHLV L.VIVAN 
14220 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14221 # ======================================================================
14222 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14223 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14224 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14225 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14226 # (AT YOUR OPTION) ANY LATER VERSION.
14227 #
14228 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14229 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14230 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14231 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14232 #
14233 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14234 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14235 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14236 # ======================================================================
14237 IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
14238             UIinfo={"groupes":("Impression",)},
14239                fr="Impression du résultat d un calcul (différents formats)",
14240          MODELE          =SIMP(statut='f',typ=modele_sdaster),
14241
14242          FORMAT          =SIMP(statut='f',typ='TXM',position='global',defaut="RESULTAT",
14243                                  into=("RESULTAT","IDEAS","ASTER","CASTEM","ENSIGHT","MED","GMSH") ),
14244
14245          b_format_resultat  =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
14246            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
14247          ),
14248
14249          b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
14250            UNITE           =SIMP(statut='f',typ='I',defaut=30),  
14251            VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
14252          ),
14253
14254          b_format_aster  =BLOC(condition="FORMAT=='ASTER'",fr="unité logique d'impression au format ASTER",
14255            UNITE           =SIMP(statut='f',typ='I',defaut=26),  
14256          ),
14257
14258          b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="unité logique d'impression et version CASTEM",
14259            UNITE           =SIMP(statut='f',typ='I',defaut=37),  
14260            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
14261          ),
14262
14263          b_format_ensight  =BLOC(condition="FORMAT=='ENSIGHT'",fr="unité logique d'impression au format ENSIGHT",
14264            UNITE           =SIMP(statut='f',typ='I',defaut=31),  
14265          ),
14266
14267          b_format_med  =BLOC(condition="FORMAT=='MED'",fr="unité logique d'impression au format MED",
14268            UNITE           =SIMP(statut='f',typ='I',defaut=80),  
14269          ),
14270
14271          b_format_gmsh  =BLOC(condition="FORMAT=='GMSH'",fr="unité logique d'impression et version GMSH",
14272            UNITE           =SIMP(statut='f',typ='I',defaut=19),  
14273            VERSION         =SIMP(statut='f',typ='R',defaut=1.2,into=(1.0,1.2)),
14274          ),
14275
14276          RESU            =FACT(statut='o',max='**',
14277
14278            regles=(AU_MOINS_UN('CHAM_GD','RESULTAT','MAILLAGE'),
14279                    EXCLUS('CHAM_GD','RESULTAT'),),
14280            MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster,squelette)),
14281            INFO_MAILLAGE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14282            CHAM_GD         =SIMP(statut='f',typ=cham_gd_sdaster),
14283            RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),# CO() sd a creer !!!
14284
14285            b_sensibilite   =BLOC(condition="RESULTAT != None",
14286                                  fr="Définition des paramètres de sensibilité",
14287                                  ang="Definition of sensitivity parameters",
14288              SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
14289                                    fr="Liste des paramètres de sensibilité.",
14290                                    ang="List of sensitivity parameters"),),
14291
14292            b_extrac        =BLOC(condition="RESULTAT != None",
14293                                  fr="extraction d un champ de grandeur",
14294              regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'),
14295                      EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP',
14296                             'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS','ANGL'),),
14297              TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
14298              NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()),
14299
14300              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14301              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
14302              NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
14303              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
14304              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14305              NOM_CAS         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14306              ANGL            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14307              FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14308              LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
14309              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14310              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
14311
14312              b_acce_reel     =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
14313                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
14314                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
14315              ),
14316            ),
14317 ###
14318            b_parametres    =BLOC(condition="""(RESULTAT != None)and(FORMAT == 'RESULTAT')""",
14319              regles=(EXCLUS('TOUT_PARA','NOM_PARA'),),
14320              INFO_RESU       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14321              TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
14322              NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
14323              FORM_TABL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON","EXCEL") ),
14324            ),
14325 ###
14326            b_cmp=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\
14327            ((FORMAT == 'CASTEM')or(FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'ENSIGHT')or(FORMAT == 'MED'))""",
14328                                  fr="sélection des composantes",
14329              regles=(EXCLUS('TOUT_CMP','NOM_CMP'),),
14330              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14331              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14332            ),
14333 ###
14334            b_gmsh=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and((FORMAT == 'GMSH'))""",
14335                                  fr="sélection des composantes et des entités toplogiques",
14336              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14337              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14338              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14339            ),
14340 ###
14341            b_topologie=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\
14342            ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS'))""",
14343                                    fr="sélection des entités toplogiques",
14344              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14345              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
14346              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
14347              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14348              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14349            ),
14350 ###
14351            b_valeurs         =BLOC(condition="(FORMAT == 'RESULTAT')",
14352                                    fr="sélection sur les valeurs",
14353              VALE_MAX        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14354              VALE_MIN        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14355              BORNE_SUP       =SIMP(statut='f',typ='R'),
14356              BORNE_INF       =SIMP(statut='f',typ='R'),
14357              IMPR_COOR       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14358              FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE12.5"),
14359            ),
14360
14361            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
14362          ),
14363          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14364 ) ;
14365 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
14366 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14367 # ======================================================================
14368 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14369 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14370 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14371 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14372 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14373 #
14374 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14375 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14376 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14377 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14378 #
14379 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14380 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14381 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14382 # ======================================================================
14383 IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de valeurs propres dans un intervalle donné",
14384             UIinfo={"groupes":("Résolution",)},
14385          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
14386          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
14387          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",into=("MODE_FLAMB","DYNAMIQUE"),
14388                                fr="Type d analyse" ),
14389          b_dynamique  =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
14390                             fr="Recheche du nombre de fréquences propres",
14391              FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ,fr="Borne inférieure de l intervalle" ),
14392              FREQ_MAX        =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ),
14393          ),
14394          b_mode_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
14395                             fr="Recherche du nombre de charges critiques",
14396              CHAR_CRIT_MIN   =SIMP(statut='o',typ='R',fr="Borne inférieure de l intervalle" ),
14397              CHAR_CRIT_MAX   =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ),
14398          ),
14399          NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),
14400          NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),
14401          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
14402          PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
14403          SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
14404 )  ;
14405 #& MODIF COMMANDE  DATE 15/11/2004   AUTEUR MCOURTOI M.COURTOIS 
14406 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14407 # ======================================================================
14408 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14409 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14410 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14411 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14412 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14413 #
14414 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14415 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14416 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14417 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14418 #
14419 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14420 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14421 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14422 # ======================================================================
14423 # RESPONSABLE MCOURTOI M.COURTOIS
14424 from Macro.impr_table_ops import impr_table_ops
14425
14426 IMPR_TABLE=MACRO(nom="IMPR_TABLE",op=impr_table_ops,sd_prod=None,
14427             UIinfo={"groupes":("Impression",)},
14428                 fr="Impression d un concept de type table_sdaster",
14429    TABLE          =SIMP(statut='o',typ=table_sdaster),
14430    SENSIBILITE    =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
14431                          fr="Liste des paramètres de sensibilité.",
14432                          ang="List of sensitivity parameters"),
14433    FORMAT         =SIMP(statut='f',typ='TXM',defaut="TABLEAU",
14434                          into=("TABLEAU","ASTER","TABLEAU_CROISE","AGRAF","XMGRACE",),),
14435    b_pilote       =BLOC(condition = "FORMAT == 'XMGRACE'",
14436                         fr="Mots-clés propres à XMGRACE",
14437       PILOTE         =SIMP(statut='f',typ='TXM',defaut='',
14438                            into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
14439                       fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
14440       UNITE          =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
14441                            fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
14442    ),
14443    b_unite        =BLOC(condition = "FORMAT != 'XMGRACE'",
14444       UNITE          =SIMP(statut='f',typ='I',defaut=8,
14445                            fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
14446    ),
14447    FILTRE         =FACT(statut='f',max='**',
14448       NOM_PARA       =SIMP(statut='o',typ='TXM'),
14449       CRIT_COMP      =SIMP(statut='f',typ='TXM',defaut="EQ",
14450                            into=("EQ","LT","GT","NE","LE","GE","VIDE",
14451                                  "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI"),),
14452       b_vale         =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
14453          regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
14454          VALE           =SIMP(statut='f',typ='R'),
14455          VALE_I         =SIMP(statut='f',typ='I'),
14456          VALE_C         =SIMP(statut='f',typ='C'),
14457          VALE_K         =SIMP(statut='f',typ='TXM'),
14458       ),
14459       b_crit         =BLOC(condition = "CRIT_COMP in ('EQ','NE')",
14460          CRITERE        =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
14461          PRECISION      =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
14462       ),
14463    ),
14464    TRI            =FACT(statut='f',
14465       NOM_PARA       =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
14466       ORDRE          =SIMP(statut='f',typ='TXM',defaut="CROISSANT", # max='**',
14467                            into=("CROISSANT","DECROISSANT") ),
14468    ),
14469    PAGINATION     =SIMP(statut='f',typ='TXM',max='**'),
14470    FORMAT_R       =SIMP(statut='f',typ='TXM',defaut="E12.5"),
14471    FORMAT_C       =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",
14472                               into=("MODULE_PHASE","REEL_IMAG") ),
14473    NOM_PARA       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14474    IMPR_FONCTION  =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14475
14476    # mise en forme pour les formats qui passent par Graph
14477    b_forme         =BLOC(condition = "FORMAT == 'XMGRACE'",
14478                          fr="Données de mise en forme du graphique",
14479       # pour la courbe
14480       LEGENDE         =SIMP(statut='f',typ='TXM',
14481                             fr="Légende associée à la fonction" ),
14482       STYLE           =SIMP(statut='f',typ='I',val_min=0,
14483                             fr="Style de la ligne représentant la fonction",),
14484       COULEUR         =SIMP(statut='f',typ='I',val_min=0,
14485                             fr="Couleur associée à la fonction",),
14486       MARQUEUR        =SIMP(statut='f',typ='I',val_min=0,
14487                             fr="Type du marqueur associé à la fonction",),
14488       FREQ_MARQUEUR   =SIMP(statut='f',typ='I',defaut=0,
14489                             fr="Fréquence d impression du marqueur associé à la fonction", ),
14490       # format du graphique
14491       BORNE_X         =SIMP(statut='f',typ='R',min=2,max=2,
14492                             fr="Intervalles de variation des abscisses"),
14493       BORNE_Y         =SIMP(statut='f',typ='R',min=2,max=2,
14494                             fr="Intervalles de variation des ordonnées"),
14495       ECHELLE_X       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
14496                             fr="Type d'échelle pour les abscisses" ),
14497       ECHELLE_Y       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
14498                             fr="Type d'échelle pour les ordonnées" ),
14499       GRILLE_X        =SIMP(statut='f',typ='R',max=1,val_min=0.,
14500                             fr="Pas du quadrillage vertical" ),
14501       GRILLE_Y        =SIMP(statut='f',typ='R',max=1,val_min=0.,
14502                             fr="Pas du quadrillage horizontal" ),
14503       LEGENDE_X       =SIMP(statut='f',typ='TXM',
14504                             fr="Légende associée à l'axe des abscisses" ),
14505       LEGENDE_Y       =SIMP(statut='f',typ='TXM',
14506                             fr="Légende associée à l'axe des ordonnées" ),
14507    ),
14508
14509    TITRE          =SIMP(statut='f',typ='TXM',max='**'),
14510    INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14511 )  
14512 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14513 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14514 # ======================================================================
14515 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14516 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14517 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14518 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14519 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14520 #
14521 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14522 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14523 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14524 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14525 #
14526 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14527 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14528 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14529 # ======================================================================
14530 INCLUDE=MACRO(nom="INCLUDE",op=ops.build_include,
14531             UIinfo={"groupes":("Gestion du travail",)},
14532              fr="Débranchement vers un fichier de commandes secondaires",
14533              sd_prod=ops.INCLUDE,op_init=ops.INCLUDE_context,fichier_ini=1,
14534          UNITE = SIMP(statut='o',typ='I'),
14535          INFO  = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
14536 );
14537 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14538 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14539 # ======================================================================
14540 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14541 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14542 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14543 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14544 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14545 #
14546 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14547 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14548 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14549 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14550 #
14551 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14552 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14553 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14554 # ======================================================================
14555 INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,
14556             UIinfo={"groupes":("Modélisation",)},
14557                        fr=" ",
14558          sd_prod=ops.INCLUDE_MATERIAU,op_init=ops.INCLUDE_context,fichier_ini=0,
14559          NOM_AFNOR       =SIMP(statut='o',typ='TXM' ),  
14560          TYPE_MODELE     =SIMP(statut='o',typ='TXM',into=("REF","PAR") ),
14561          VARIANTE        =SIMP(statut='o',typ='TXM',     
14562                                into=("A","B","C","D","E","F","G","H","I","J",    
14563                                      "K","L","M","N","O","P","Q","R","S","T","U","V",   
14564                                      "W","X","Y","Z",) ),
14565          TYPE_VALE       =SIMP(statut='o',typ='TXM',into=("NOMI","MINI","MAXI") ),
14566          NOM_MATER       =SIMP(statut='o',typ='TXM' ),  
14567          UNITE           =SIMP(statut='f',typ='I',defaut= 32 ),  
14568          EXTRACTION      =FACT(statut='f',max=99,
14569            COMPOR          =SIMP(statut='o',typ='TXM' ),  
14570            TEMP_EVAL       =SIMP(statut='o',typ='R' ),  
14571          ),
14572          UNITE_LONGUEUR  =SIMP(statut='f',typ='TXM',into=("M","MM"),defaut="M" ),  
14573          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14574 )  ;
14575 #& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
14576 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14577 # ======================================================================
14578 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
14579 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
14580 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
14581 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
14582 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
14583 #                                                                       
14584 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
14585 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
14586 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14587 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
14588 #                                                                       
14589 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
14590 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
14591 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
14592 # ======================================================================
14593 # RESPONSABLE D6BHHJP J.P.LEFEBVRE
14594 INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster,
14595                     fr="Récupère différentes informations propres à l'exécution en cours",
14596                     reentrant='n',
14597                     UIinfo={"groupes":("Gestion du travail",)},
14598
14599          regles=(),
14600          LISTE_INFO     =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3,
14601                               into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),),
14602          b_etat_unite   =BLOC(condition = "'ETAT_UNITE' in LISTE_INFO", 
14603             regles=(UN_PARMI('UNITE','FICHIER'),),
14604             UNITE          =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1,
14605                                  fr="Unité logique dont on veut obtenir l'état",),
14606             FICHIER        =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),
14607                                  fr="Nom du fichier dont on veut obtenir l'état",),
14608          ),
14609          TITRE          =SIMP(statut='f',typ='TXM',max='**'),
14610          INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14611 )  ;
14612 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14613 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14614 # ======================================================================
14615 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14616 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14617 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14618 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14619 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14620 #
14621 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14622 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14623 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14624 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14625 #
14626 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14627 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14628 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14629 # ======================================================================
14630 # RESPONSABLE G8BHHXD X.DESROCHES
14631 INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster,
14632             UIinfo={"groupes":("Post traitements",)},
14633                   fr="Définition d une courbe sur un maillage 2D",reentrant='n',
14634
14635          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
14636
14637          regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
14638                  AU_MOINS_UN('DEFI_SEGMENT','DEFI_ARC','DEFI_CHEMIN'),
14639                  PRESENT_ABSENT('DEFI_CHEMIN','DEFI_SEGMENT','DEFI_ARC'),
14640                  PRESENT_ABSENT('DEFI_SEGMENT','NOEUD_ORIG','GROUP_NO_ORIG'),
14641                  PRESENT_ABSENT('DEFI_ARC','NOEUD_ORIG','GROUP_NO_ORIG'),
14642                  EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
14643                  EXCLUS('DEFI_CHEMIN','DEFI_SEGMENT'),
14644                  EXCLUS('DEFI_CHEMIN','DEFI_ARC'),),
14645
14646          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14647          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14648          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14649
14650          DEFI_SEGMENT    =FACT(statut='f',max='**',
14651            regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
14652                    UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
14653            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=2),  
14654            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14655            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14656            EXTREMITE       =SIMP(statut='f',typ='R',min=2,max=2),  
14657            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
14658            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
14659          ),
14660
14661          DEFI_ARC        =FACT(statut='f',max='**',
14662            regles=(UN_PARMI('CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),
14663                    UN_PARMI('RAYON','ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
14664                    UN_PARMI('RAYON','EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),               
14665                    PRESENT_PRESENT('RAYON','SECTEUR'),),
14666            CENTRE          =SIMP(statut='f',typ='R',min=2,max=2),  
14667            NOEUD_CENTRE    =SIMP(statut='f',typ=no,),
14668            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,),
14669            RAYON           =SIMP(statut='f',typ='R',val_min=0.E+0),  
14670            SECTEUR         =SIMP(statut='f',typ='R',min=2,max=2,
14671                                  val_min=-180.E+0,val_max=180E+0),  
14672            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=2),  
14673            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14674            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14675            EXTREMITE       =SIMP(statut='f',typ='R',min=2,max=2),  
14676            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
14677            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
14678            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
14679            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",    
14680                                  into=("RELATIF","ABSOLU",) ),
14681          ),
14682
14683          DEFI_CHEMIN     =FACT(statut='f',max='**',
14684            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
14685            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14686            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14687          ),
14688
14689          NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14690          GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14691          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),  
14692          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
14693 )  ;
14694 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14695 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14696 # ======================================================================
14697 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14698 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14699 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14700 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14701 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14702 #
14703 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14704 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14705 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14706 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14707 #
14708 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14709 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14710 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14711 # ======================================================================
14712 # RESPONSABLE G8BHHXD X.DESROCHES
14713 INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster,
14714             UIinfo={"groupes":("Post traitements",)},
14715                   fr="Définition d un chemin sur un maillage 3D",reentrant='n',
14716          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
14717          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14718          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14719          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14720          DEFI_SEGMENT    =FACT(statut='o',max='**',
14721            regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
14722                    UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
14723            ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
14724            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
14725            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
14726            EXTREMITE       =SIMP(statut='f',typ='R',min=3,max=3),  
14727            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
14728            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
14729          ),
14730          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
14731          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
14732 )  ;
14733 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14734 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14735 # ======================================================================
14736 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14737 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14738 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14739 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14740 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14741 #
14742 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14743 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14744 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14745 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14746 #
14747 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14748 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14749 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14750 # ======================================================================
14751 def lire_champ_prod(TYPE_CHAM=None,**args):
14752 # Remarque : si cette liste évolue, il faut penser à mettre à jour son
14753 #            homologue dans macr_adap_mail
14754   import string
14755 #  
14756   if TYPE_CHAM[0:5] == "NOEU_" : return eval("cham_no_"+string.lower(TYPE_CHAM[5:]))
14757   if TYPE_CHAM == "ELEM_G_DEPL_R" : return cham_elem_g_depl
14758   if TYPE_CHAM[0:5] == "ELEM_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:]))
14759   if TYPE_CHAM == "ELNO_G_DEPL_R" : return cham_elem_g_depl
14760   if TYPE_CHAM[0:5] == "ELNO_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:]))
14761   if TYPE_CHAM == "ELGA_G_DEPL_R" : return cham_elem_g_depl
14762   if TYPE_CHAM[0:5] == "ELGA_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:]))
14763   raise AsException("type de concept resultat non prevu")
14764
14765 LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod,
14766                 fr="Lire un champ dans un fichier et le stocker dans un concept.",
14767                 reentrant='n',
14768          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster,),
14769          FORMAT          =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",),),
14770          UNITE           =SIMP(statut='f',typ='I',defaut= 81,),  
14771          b_format =BLOC(condition = "FORMAT == 'MED'",
14772          regles=( UN_PARMI('NOM_CMP_IDEM','NOM_CMP'),
14773                   PRESENT_PRESENT('NOM_CMP','NOM_CMP_MED' ),
14774                   EXCLUS('NUME_ORDRE','INST'),
14775                   EXCLUS('NUME_PT','INST'),),
14776             NOM_MED      =SIMP(statut='o',typ='TXM', ),
14777             NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), ),
14778             NOM_CMP      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
14779             NOM_CMP_MED  =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
14780             NUME_PT      =SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**',),
14781             NUME_ORDRE   =SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**',
14782                            fr="Numero d ordre du champ à lire",ang="Rank of the field to be read" ),
14783             INST         =SIMP(statut='f',typ='R',fr="Instant associé",ang="Instant" ),
14784 #
14785             b_precision     =BLOC(condition="(INST != None)",
14786               PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
14787               fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),
14788               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
14789               fr="Critère de précision sur le choix de l'instant associé",
14790               ang="Accuracy criterium over instant choice" ),),
14791 #
14792             NOM_MAIL_MED =SIMP(statut='f',typ='TXM',),
14793                   ),
14794 #        Remarque : si cette liste évolue, il faut penser à mettre à jour son
14795 #                   homologue dans macr_adap_mail
14796          TYPE_CHAM       =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()),
14797          b_modele =BLOC(condition = "TYPE_CHAM!=None and TYPE_CHAM[0:2] == 'EL'",
14798             MODELE      =SIMP(statut='o',typ=modele_sdaster, ),
14799                   ),
14800          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14801 )  ;
14802 #& MODIF COMMANDE  DATE 10/10/2005   AUTEUR MCOURTOI M.COURTOIS 
14803 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14804 # ======================================================================
14805 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14806 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14807 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14808 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14809 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14810 #
14811 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14812 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14813 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14814 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14815 #
14816 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14817 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14818 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14819 # ======================================================================
14820
14821 from Macro.lire_fonction_ops import lire_fonction_ops
14822
14823 def lire_fonction_prod(self,TYPE,**args):
14824   if   (TYPE == 'FONCTION')  : return fonction_sdaster
14825   elif (TYPE == 'FONCTION_C'): return fonction_c
14826   elif (TYPE == 'NAPPE'   )  : return nappe_sdaster
14827   raise AsException("type de concept resultat non prevu")
14828
14829 LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_fonction_prod,
14830                    fr="Lecture d une fonction ou d une nappe dans un fichier ",
14831                    reentrant='n',
14832             UIinfo={"groupes":("Fonction",)},
14833          FORMAT          =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE"  ),
14834          TYPE            =SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C","NAPPE"),defaut="FONCTION"  ),
14835          SEPAR           =SIMP(statut='f',typ='TXM',into=("None",",",";","/"),defaut="None" ),
14836          INDIC_PARA      =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,1]),
14837          b_fonction      =BLOC(condition = "TYPE=='FONCTION' ",
14838            INDIC_RESU      =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,2]), ),
14839          b_fonction_c    =BLOC(condition = "TYPE=='FONCTION_C' ",
14840            FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="REEL_IMAG",into=("REEL_IMAG","MODULE_PHASE") ),
14841            b_reel_imag     =BLOC(condition = "FORMAT_C=='REEL_IMAG' ",
14842              INDIC_REEL      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
14843              INDIC_IMAG      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ) ,
14844            b_modu_phas     =BLOC(condition = "FORMAT_C=='MODULE_PHASE' ",
14845              INDIC_MODU      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
14846              INDIC_PHAS      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ), ),
14847          b_nappe         =BLOC(condition = "TYPE=='NAPPE' ",
14848            NOM_PARA_FONC   =SIMP(statut='o',typ='TXM',),
14849            INDIC_ABSCISSE  =SIMP(statut='o',typ='I',min=2,max=2,),
14850            INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
14851            PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14852            PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14853            DEFI_FONCTION   =FACT(statut='f',max='**',
14854              INDIC_RESU      =SIMP(statut='o',typ='I',min=2,max=2,),),  ),
14855          UNITE           =SIMP(statut='o',typ='I' ),
14856          NOM_PARA        =SIMP(statut='o',typ='TXM',),
14857          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
14858          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
14859          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14860          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14861          VERIF           =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ),
14862          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
14863          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14864 )  ;
14865 #& MODIF COMMANDE  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
14866 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14867 # ======================================================================
14868 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14869 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14870 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14871 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14872 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14873 #
14874 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14875 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14876 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14877 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14878 #
14879 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14880 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14881 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14882 # ======================================================================
14883
14884 from Macro.lire_inte_spec_ops import lire_inte_spec_ops
14885
14886 LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=tabl_intsp,
14887                     fr="Lecture sur un fichier externe de  fonctions complexes pour créer une matrice interspectrale",
14888                     reentrant='n',
14889             UIinfo={"groupes":("Fonction",)},
14890          UNITE           =SIMP(statut='o',typ='I' ),
14891          FORMAT          =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ),
14892          NOM_PARA        =SIMP(statut='f',typ='TXM',defaut="FREQ",
14893                                into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
14894                                      "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ),
14895          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="DSP" ),
14896          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
14897          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
14898          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
14899          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14900          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
14901 )  ;
14902 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14903 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14904 # ======================================================================
14905 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14906 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14907 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14908 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14909 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14910 #
14911 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14912 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14913 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14914 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14915 #
14916 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14917 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14918 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14919 # ======================================================================
14920 # RESPONSABLE VABHHTS J.PELLET
14921 LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op=   1,sd_prod=maillage_sdaster,
14922                    fr="Lecture d'un fichier de maillage",
14923                    ang="Readings of a mesh file",
14924                    reentrant='n',
14925             UIinfo={"groupes":("Maillage",)},
14926 #
14927          UNITE           =SIMP(statut='f',typ='I',defaut= 20 ),
14928 #
14929          FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"),
14930                             fr="Format du fichier : ASTER ou MED.",
14931                             ang="Format of the file : ASTER or MED.",),
14932 #
14933          ABSC_CURV       =FACT(statut='f',min=0,
14934                TOUT          =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14935          ),
14936 #
14937          VERI_MAIL       =FACT(statut='d',
14938                VERIF         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),  
14939                APLAT         =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
14940          ),
14941 #
14942          b_format_med =BLOC( condition = " ( FORMAT == 'MED' ) " ,
14943                            fr="Informations complémentaires pour la lecture MED.",
14944                            ang="Further information for MED readings.",
14945 #
14946 # Pour une lecture dans un fichier MED, on peut préciser le nom sous lequel
14947 # le maillage y a été enregistré. Par défaut, on va le chercher sous le nom du concept à créer.
14948 #
14949               NOM_MED    = SIMP(statut='f',typ='TXM',
14950                             fr="Nom du maillage dans le fichier MED.",
14951                             ang="Name of the mesh into the MED file.",),
14952 #
14953               INFO_MED   = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14954 #
14955                            ) ,
14956 #
14957          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
14958 #
14959 )  ;
14960 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14961 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14962 # ======================================================================
14963 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14964 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14965 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14966 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14967 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14968 #
14969 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14970 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14971 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14972 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14973 #
14974 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14975 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14976 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14977 # ======================================================================
14978 def lire_miss_3d_prod(TYPE_RESU,**args):
14979   if TYPE_RESU == "TRANS" : return dyna_trans
14980   if TYPE_RESU == "HARMO" : return dyna_harmo
14981   raise AsException("type de concept resultat non prevu")
14982
14983 LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod,
14984                   fr="Restitution au format MISS3D d une évolution harmonique ou transitoire",
14985                   reentrant='n',
14986             UIinfo={"groupes":("Maillage",)},
14987          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
14988          UNITE           =SIMP(statut='f',typ='I',defaut= 27 ),
14989          NOM             =SIMP(statut='f',typ='TXM' ),
14990          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="TRANS",into=("TRANS","HARMO") ),
14991          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14992 )  ;
14993 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14994 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14995 # ======================================================================
14996 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14997 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14998 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14999 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15000 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15001 #
15002 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15003 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15004 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15005 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15006 #
15007 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15008 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15009 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15010 # ======================================================================
15011 LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char,
15012                  fr=" ",
15013                  reentrant='n',
15014             UIinfo={"groupes":("Maillage",)},
15015          regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
15016          UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15017          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",)),
15018          MAIL_PLEXUS     =SIMP(statut='o',typ=maillage_sdaster ),
15019          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
15020          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
15021          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15022          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
15023          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
15024          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15025          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
15026          b_prec_crit     =BLOC(condition = "LIST_INST != None or INST != None",
15027              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
15028              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
15029                                    into=("RELATIF","ABSOLU") ),
15030          ),
15031          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15032 )  ;
15033 #& MODIF COMMANDE  DATE 11/05/2005   AUTEUR MCOURTOI M.COURTOIS 
15034 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15035 # ======================================================================
15036 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15037 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15038 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15039 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
15040 # (AT YOUR OPTION) ANY LATER VERSION.
15041 #
15042 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
15043 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
15044 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
15045 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15046 #
15047 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15048 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
15049 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
15050 # ======================================================================
15051 # RESPONSABLE VABHHTS J.PELLET
15052
15053 def lire_resu_prod(TYPE_RESU,**args):
15054   if TYPE_RESU == "EVOL_CHAR" :  return evol_char
15055   if TYPE_RESU == "EVOL_THER" :  return evol_ther
15056   if TYPE_RESU == "EVOL_ELAS" :  return evol_elas
15057   if TYPE_RESU == "EVOL_NOLI" :  return evol_noli
15058   if TYPE_RESU == "DYNA_TRANS" : return dyna_trans
15059   if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo
15060   if TYPE_RESU == "HARM_GENE" :  return harm_gene
15061   if TYPE_RESU == "MODE_MECA" :  return mode_meca
15062   if TYPE_RESU == "MODE_MECA_C" : return mode_meca_c
15063   raise AsException("type de concept resultat non prevu")
15064
15065 # pour éviter d'écrire 3 fois cette liste :
15066 def l_nom_cham_pas_elga(): return (
15067      "ACCE", "ACCE_ABSOLU", "CRIT_ELNO_RUPT", "DCHA_ELNO_SIGM",
15068      "DCHA_NOEU_SIGM", "DEDE_ELNO_DLDE", "DEDE_NOEU_DLDE", "DEGE_ELNO_DEPL", "DEGE_NOEU_DEPL",
15069      "DEPL", "DEPL_ABSOLU", "DESI_ELNO_DLSI", "DESI_NOEU_DLSI", "DETE_ELNO_DLTE", "DETE_NOEU_DLTE",
15070      "DURT_ELNO_META", "DURT_NOEU_META", "ECIN_ELEM_DEPL", "EFGE_ELNO_CART", "EFGE_ELNO_DEPL",
15071      "EFGE_NOEU_CART", "EFGE_NOEU_DEPL", "ENDO_ELNO_SIGA", "ENDO_ELNO_SINO", "ENDO_NOEU_SINO",
15072      "ENEL_ELNO_ELGA", "ENEL_NOEU_ELGA", "EPEQ_ELNO_TUYO", "EPGR_ELNO", "EPME_ELNO_DEPL",
15073      "EPMG_ELNO_DEPL", "EPMG_NOEU_DEPL", "EPOT_ELEM_DEPL", "EPSA_ELNO", "EPSA_NOEU",
15074      "EPSG_ELNO_DEPL", "EPSG_NOEU_DEPL", "EPSI_ELNO_DEPL", "EPSI_ELNO_TUYO", "EPSI_NOEU_DEPL",
15075      "EPSP_ELNO", "EPSP_ELNO_ZAC", "EPSP_NOEU", "EPSP_NOEU_ZAC", "EQUI_ELNO_EPME", "EQUI_ELNO_EPSI",
15076      "EQUI_ELNO_SIGM", "EQUI_NOEU_EPME", "EQUI_NOEU_EPSI", "EQUI_NOEU_SIGM", "ERRE_ELEM_NOZ1",
15077      "ERRE_ELEM_NOZ2", "ERRE_ELNO_ELGA", "ERRE_NOEU_ELGA", "ERTH_ELEM_TEMP", "ERTH_ELNO_ELEM",
15078      "ETOT_ELEM", "ETOT_ELNO_ELGA", "FLUX_ELNO_TEMP", "FLUX_NOEU_TEMP", "FORC_NODA", "FSUR_2D",
15079      "FSUR_3D", "FVOL_2D", "FVOL_3D", "GRAD_NOEU_THETA", "HYDR_ELNO_ELGA", "HYDR_NOEU_ELGA",
15080      "INTE_ELNO_ACTI", "INTE_ELNO_REAC", "INTE_NOEU_ACTI", "INTE_NOEU_REAC", "IRRA",
15081      "META_ELNO_TEMP", "META_NOEU_TEMP", "PMPB_ELNO_SIEF", "PMPB_NOEU_SIEF",
15082      "PRES", "PRES_DBEL_DEPL", "PRES_ELNO_DBEL", "PRES_ELNO_IMAG", "PRES_ELNO_REEL",
15083      "PRES_NOEU_DBEL", "PRES_NOEU_IMAG", "PRES_NOEU_REEL",
15084      "RADI_ELNO_SIGM", "RADI_NOEU_SIGM", "REAC_NODA",
15085      "SIEF_ELNO", "SIEF_ELNO_ELGA", "SIEF_NOEU", "SIEF_NOEU_ELGA", "SIEQ_ELNO_TUYO",
15086      "SIGM_ELNO_CART", "SIGM_ELNO_COQU", "SIGM_ELNO_DEPL", "SIGM_ELNO_SIEF",
15087      "SIGM_ELNO_TUYO", "SIGM_ELNO_ZAC", "SIGM_NOEU_CART", "SIGM_NOEU_COQU",
15088      "SIGM_NOEU_DEPL", "SIGM_NOEU_SIEF", "SIGM_NOEU_ZAC", "SIGM_NOZ1_ELGA",
15089      "SIGM_NOZ2_ELGA", "SIPO_ELNO_DEPL", "SIPO_ELNO_SIEF", "SIPO_NOEU_DEPL",
15090      "SIPO_NOEU_SIEF", "SIRE_ELNO_DEPL", "SIRE_NOEU_DEPL", "TEMP", "THETA",
15091      "VALE_CONT", "VALE_NCOU_MAXI", "VARI_ELNO", "VARI_ELNO_COQU",
15092      "VARI_ELNO_ELGA", "VARI_ELNO_TUYO", "VARI_NOEU", "VARI_NOEU_ELGA", "VARI_NON_LOCAL",
15093      "VITE", "VITE_ABSOLU", "VITE_VENT",
15094                            )
15095
15096 LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n',
15097             UIinfo={"groupes":("Maillage",)},
15098                fr="Lecture de champs aux noeuds ou par éléments aux noeuds sur un fichier IDEAS ou EnSight",
15099
15100
15101 # 0) mots clés généraux :
15102 #----------------------
15103          TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_THER","EVOL_ELAS","EVOL_NOLI","MODE_MECA",
15104                                                           "MODE_MECA_C","DYNA_TRANS","DYNA_HARMO","HARM_GENE",
15105                                                           "EVOL_CHAR") ),
15106
15107          FORMAT          =SIMP(statut='o',typ='TXM',into=("IDEAS","IDEAS_DS58","ENSIGHT","MED") ),
15108
15109          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
15110          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15111
15112          regles=(UN_PARMI('MAILLAGE','MODELE'),),
15113          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster),
15114          MODELE          =SIMP(statut='f',typ=modele_sdaster),
15115
15116          NB_VARI         =SIMP(statut='f',typ='I' ),
15117
15118
15119 # 1) blocs selon le format choisi :
15120 #---------------------------------
15121
15122 # 1-1 ideas dataset-58 :
15123 # ----------------------
15124          b_dataset_58 = BLOC(condition="FORMAT=='IDEAS_DS58'",
15125            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15126          ),
15127          b_dataset_58_b = BLOC(condition="(FORMAT=='IDEAS_DS58') and ((TYPE_RESU=='DYNA_TRANS') or\
15128                                         (TYPE_RESU=='DYNA_HARMO') or (TYPE_RESU=='HARM_GENE'))",
15129            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15130            NOM_CHAM=SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE","EPSI_NOEU_DEPL","SIEF_NOEU",) ),
15131            REDEFI_ORIENT=FACT(statut='f',max='**',
15132                               regles=(PRESENT_PRESENT('CODE_DIR','DIRECTION','NOEUD',),),
15133                               CODE_DIR =SIMP(statut='f',typ='I',into=(1,2,3,) ),
15134                               DIRECTION=SIMP(statut='f',typ='R',min=3,max=3,),
15135                               NOEUD    =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),),
15136          ),
15137
15138 # 1-2 ideas  :
15139 # ---------
15140          b_ideas         =BLOC(condition="FORMAT=='IDEAS'",
15141            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15142 #           TEST            =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
15143            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()),
15144            FORMAT_IDEAS    =FACT(statut='f',max='**',
15145              regles=(UN_PARMI('POSI_INST','POSI_FREQ'),),
15146              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=l_nom_cham_pas_elga()),
15147              NUME_DATASET    =SIMP(statut='f',typ='I',into=(55,57,2414) ),
15148              RECORD_3        =SIMP(statut='f',typ='I',max=10),
15149              RECORD_6        =SIMP(statut='f',typ='I',max=10),
15150              RECORD_9        =SIMP(statut='f',typ='I',max=10),
15151              POSI_ORDRE      =SIMP(statut='o',typ='I',min=2,max=2),
15152              POSI_NUME_MODE  =SIMP(statut='f',typ='I',min=2,max=2),
15153              POSI_MASS_GENE  =SIMP(statut='f',typ='I',min=2,max=2),
15154              POSI_INST       =SIMP(statut='f',typ='I',min=2,max=2),
15155              POSI_FREQ       =SIMP(statut='f',typ='I',min=2,max=2),
15156              NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),),
15157          ),
15158 # 1-3 ensight :
15159 # -------------
15160          b_ensight       =BLOC(condition="FORMAT=='ENSIGHT'",
15161            NOM_FICHIER     =SIMP(statut='f',typ='TXM'),
15162            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()),
15163          ),
15164
15165 # 1-4 med :
15166 # ---------
15167          b_med           =BLOC(condition = "FORMAT == 'MED'",fr="Nom du champ dans le fichier MED",
15168            UNITE           =SIMP(statut='f',typ='I',defaut= 81, fr="Le fichier est : fort.n.",),
15169            FORMAT_MED      =FACT(statut='f',max='**',
15170              regles=(ENSEMBLE('NOM_CMP','NOM_CMP_MED'),),
15171              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=l_nom_cham_pas_elga()),
15172              NOM_CHAM_MED    =SIMP(statut='o',typ='TXM',               fr="Nom du champ dans le fichier MED.",  ),
15173              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**',      fr="Nom des composantes dans ASTER.", ),
15174              NOM_CMP_MED     =SIMP(statut='f',typ='TXM',max='**',      fr="Nom des composantes dans MED.", ),
15175            ),
15176                   ),
15177
15178 # 2) blocs selon le type du résultat :
15179 #---------------------------------
15180          b_mode_meca     =BLOC(condition="(TYPE_RESU=='MODE_MECA')or(TYPE_RESU=='MODE_MECA_C')",
15181            MATR_A         =SIMP(statut='f',typ=matr_asse_depl_r,),
15182            MATR_B         =SIMP(statut='f',typ=matr_asse_depl_r,),
15183          ),
15184
15185
15186 # 3) autres blocs :
15187 #---------------------------------
15188          b_extrac        =BLOC(condition="1",fr="accès à un champ dans la structure de données résultat",
15189            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST','FREQ','LIST_FREQ'),),
15190            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15191            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
15192            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15193            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
15194            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
15195            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15196            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
15197
15198            b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
15199              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
15200              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
15201            ),
15202          ),
15203 )  ;
15204 #& MODIF COMMANDE  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
15205 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15206 # ======================================================================
15207 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
15208 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
15209 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
15210 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
15211 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
15212 #                                                                       
15213 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
15214 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
15215 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
15216 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
15217 #                                                                       
15218 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
15219 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
15220 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
15221 # ======================================================================
15222
15223 from Macro.lire_table_ops import lire_table_ops
15224
15225 def lire_table_prod(self,TYPE_TABLE,**args):
15226   if TYPE_TABLE == "TABLE"          : return table_sdaster
15227   if TYPE_TABLE == "TABL_CARA_GEOM" : return tabl_cara_geom
15228   if TYPE_TABLE == "TABL_POST_RELE" : return tabl_post_rele
15229   if TYPE_TABLE == "TABL_POST_USUR" : return tabl_post_usur
15230   if TYPE_TABLE == "TABL_POST_ALEA" : return tabl_post_alea
15231   raise AsException("type de concept resultat non prevu")
15232
15233 LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=lire_table_prod,
15234                  fr="Lecture d un concept de type table",
15235             UIinfo={"groupes":("Maillage",)},
15236          UNITE           =SIMP(statut='o',typ='I' ),
15237          FORMAT          =SIMP(statut='f',typ='TXM',into=("ASTER",),defaut="ASTER"),
15238          NUME_TABLE      =SIMP(statut='f',typ='I',defaut=1),
15239          TYPE_TABLE      =SIMP(statut='f',typ='TXM',defaut="TABLE",
15240                               into=("TABLE",
15241                                     "TABL_CARA_GEOM",
15242                                     "TABL_POST_RELE",
15243                                     "TABL_POST_USUR",
15244                                     "TABL_POST_ALEA" ) ),
15245          SEPARATEUR      =SIMP(statut='o',typ='TXM'),
15246          PARA            =SIMP(statut='f',typ='TXM',max='**'),
15247          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15248          )  ;
15249
15250 #& MODIF COMMANDE  DATE 03/11/2004   AUTEUR MCOURTOI M.COURTOIS 
15251 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15252 # ======================================================================
15253 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15254 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15255 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15256 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15257 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15258 #
15259 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15260 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15261 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15262 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15263 #
15264 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15265 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15266 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15267 # ======================================================================
15268 # RESPONSABLE GNICOLAS G.NICOLAS
15269
15270 from Macro.macr_adap_mail_ops import macr_adap_mail_ops
15271
15272 def macr_adap_mail_prod(self,MAJ_CHAM,ADAPTATION,**args):
15273   maillage_np1=ADAPTATION['MAILLAGE_NP1']
15274   self.type_sdprod(maillage_np1,maillage_sdaster)
15275   if MAJ_CHAM == None:return None
15276 # Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP
15277   for ch in MAJ_CHAM:
15278     t=ch['TYPE_CHAM']
15279     if t[0:5] == "NOEU_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_no_"+string.lower(t[5:])))
15280     if t == "ELEM_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl)
15281     if t[0:5] == "ELEM_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:])))
15282     if t == "ELNO_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl)
15283     if t[0:5] == "ELNO_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:])))
15284     if t == "ELGA_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl)
15285     if t[0:5] == "ELGA_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:])))
15286   return None
15287
15288 MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_adap_mail_prod,
15289                      fr="Adapter un maillage avec le logiciel HOMARD.",
15290                      ang="Mesh adaptation with HOMARD software.",
15291                      docu="U7.03.01-b",
15292 #
15293 # 1. Le niveau d'information
15294 #
15295          INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
15296 #
15297 # 2. Version de HOMARD
15298 #
15299          VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V7_1",
15300                                into=("V7_1", "V7_N", "V7_N_PERSO"),
15301                            fr="Version de HOMARD",
15302                            ang="HOMARD release"),
15303 #
15304 # 3. Langue des messages issus de HOMARD
15305 #
15306          LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
15307                                into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
15308                            fr="Langue des messages issus de HOMARD.",
15309                            ang="Language for HOMARD messages." ),
15310 #
15311 # 4. Gestion des éléments autres que des simplexes
15312 #       0 : autres elements refuses
15313 #       1 : raffinement sur les simplexes, mais autres acceptes
15314 #       2 : tous (defaut)
15315 #
15316          NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2),
15317                           fr="Type d'éléments acceptés.",
15318                           ang="Type of authorized elements." ),
15319 #
15320 # 5. Le type de traitement :
15321 #
15322          ADAPTATION      =FACT(statut='o',
15323                            fr="Type d'adaptation",
15324                            ang="Type of adaptation",
15325 #
15326 # 5.1. Deux choix d'adaptation exclusifs :
15327 #
15328 # 5.1.
15329 #      A. Selon un indicateur d'erreur, avec trois variantes :
15330 #         . Raffinement et deraffinement
15331 #         . Raffinement seul
15332 #         . Deraffinement seul
15333 #      B. Uniforme, avec trois variantes :
15334 #         . Raffinement seul
15335 #         . Deraffinement seul
15336 #         . Rien : le maillage est le meme a la sortie et a l'entree
15337 #
15338            regles=(
15339                    UN_PARMI('LIBRE','UNIFORME'),
15340                   ),
15341            LIBRE          = SIMP(statut='f',typ='TXM',
15342                                  into=("RAFF_DERA","RAFFINEMENT","DERAFFINEMENT"),    
15343                            fr="Adaptation selon un indicateur d'erreur.",
15344                            ang="Adaptation among an error indicator" ),
15345            UNIFORME       = SIMP(statut='f',typ='TXM',
15346                                  into=("RAFFINEMENT","DERAFFINEMENT","RIEN"),    
15347                            fr="Adaptation uniforme.",
15348                            ang="Uniform adaptation" ),
15349 #
15350 # 5.2. Quel que soit le type de traitement, il faut donner  :
15351 #      A. Le concept du maillage initial
15352 #      B. Le concept du maillage final
15353 #
15354            MAILLAGE_N     = SIMP(statut='o',typ=maillage_sdaster,
15355                            fr="Maillage avant adaptation",
15356                            ang="Mesh before adaptation" ),
15357            MAILLAGE_NP1   = SIMP(statut='o',typ=(CO,maillage_sdaster),
15358                            fr="Maillage apres adaptation",
15359                            ang="Mesh after adaptation" ),
15360 #
15361 # 5.3. Pour de l'adaptation libre, il faut l'indicateur d'erreur
15362 #
15363 #
15364            b_indicateur_d_erreur   =BLOC( condition = " LIBRE != None " ,
15365                            fr="Choix de l'indicateur d'erreur",
15366                            ang="Selection of error indicator",
15367 #
15368 # 5.3.1. Le nom du concept resultat_sdaster
15369 #
15370                            RESULTAT_N     = SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ,
15371                            fr="Concept resultat Code_Aster contenant l'indicateur d'erreur",
15372                            ang="Result with error indicator" ),
15373 #
15374 # 5.3.2. Le champ d'indicateur d'erreur
15375 #
15376                            INDICATEUR     = SIMP(statut='o',typ='TXM',     
15377                            fr="Champ de l'indicateur d'erreur",
15378                            ang="Error indicator field" ),
15379 #
15380 # 5.3.3. La composante retenue
15381 #
15382                            NOM_CMP_INDICA = SIMP(statut='o',typ='TXM',
15383                            fr="Composante retenue",
15384                            ang="Selected component" ),
15385 #
15386 # 5.3.4. Le paramètre temporel pour l'indicateur
15387 #
15388                            regles=(EXCLUS('NUME_ORDRE','INST'),),
15389 #
15390 # 5.3.4.1. Soit le numero d'ordre
15391 #
15392                            NUME_ORDRE     = SIMP(statut='f',typ='I',
15393                            fr="Numero d ordre",
15394                            ang="Rank" ),  
15395 #
15396 # 5.3.4.2. Soit l'instant
15397 # 5.3.4.2.1. Sa valeur
15398 #
15399                            INST           = SIMP(statut='f',typ='R',
15400                            fr="Instant associé",
15401                            ang="Instant" ),
15402 #
15403 # 5.3.4.2.2. La précision du choix de l'instant
15404 #
15405                            b_precision     =BLOC(condition="(INST != None)",
15406                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
15407                              fr="Précision sur le choix de l'instant associé",
15408                              ang="Accuracy over instant choice" ),
15409                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
15410                              fr="Critère de précision sur le choix de l'instant associé",
15411                              ang="Accuracy criterium over instant choice" ),),
15412 #
15413                            ) ,
15414 #
15415 # 5.4. Les criteres pour de l'adaptation libre :
15416 #        absolu, relatif, en proportion d'entite
15417 # 5.4.1. Pour le raffinement :
15418 #
15419            b_critere_de_raffinement =BLOC( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) " ,
15420                            fr="Critère de raffinement.",
15421                            ang="Refinement threshold.",
15422                            regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),),
15423                            CRIT_RAFF_ABS  = SIMP(statut='f',typ='R',
15424                                                    fr="Critère absolu",
15425                                                    ang="Absolute threshold" ),  
15426                            CRIT_RAFF_REL  = SIMP(statut='f',typ='R',
15427                                                    fr="Critère relatif : fraction entre 0 et 1",
15428                                                    ang="Relative threshold : ratio between 0 and 1" ),  
15429                            CRIT_RAFF_PE   = SIMP(statut='f',typ='R',
15430                                                    fr="Pourcentage d'éléments : fraction entre 0 et 1",
15431                                                    ang="Percentage of elements : ratio between 0 and 1" ),  
15432                            ) ,
15433 #
15434 # 5.4.2. Pour le deraffinement :
15435 #
15436            b_critere_de_deraffinement =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) " ,
15437                            fr="Critère de déraffinement.",
15438                            ang="Unrefinement threshold.",
15439                            regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),),
15440                            CRIT_DERA_ABS  = SIMP(statut='f',typ='R' ,
15441                                                  fr="Critère absolu",
15442                                                  ang="Absolute threshold" ),  
15443                            CRIT_DERA_REL  = SIMP(statut='f',typ='R',
15444                                                  fr="Critère relatif : fraction entre 0 et 1",
15445                                                  ang="Relative threshold : ratio between 0 and 1" ),  
15446                            CRIT_DERA_PE   = SIMP(statut='f',typ='R',
15447                                                  fr="Pourcentage d'éléments : fraction entre 0 et 1",
15448                                                  ang="Percentage of elements : ratio between 0 and 1" ),  
15449                            ) ,
15450 #
15451 # 5.5. Les niveaux extremes pour le maillage adapte
15452 # 5.5.1. Pour le raffinement :
15453 #
15454            b_niveau_maximum =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) or \
15455                                                   ( UNIFORME == 'RAFFINEMENT' ) " ,
15456                            fr="Niveau maximum de profondeur de raffinement",
15457                            ang="Maximum level for refinement",
15458                            NIVE_MAX       = SIMP(statut='f',typ='I' ),
15459                            ) ,
15460 #
15461 # 5.5.2. Pour le deraffinement :
15462 #
15463            b_niveau_minimum =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) or \
15464                                                   ( UNIFORME == 'DERAFFINEMENT' ) " ,
15465                            fr="Niveau minimum de profondeur de déraffinement",
15466                            ang="Minimum level for unrefinement",
15467                            NIVE_MIN       = SIMP(statut='f',typ='I' ),
15468                            ) ,
15469 #
15470          ),
15471 #
15472 # 6. Suivi d'une frontiere
15473 #
15474          MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
15475                            fr="Maillage de la frontiere à suivre",
15476                            ang="Boundary mesh" ),
15477 #
15478          b_frontiere   =BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
15479                            fr="Groupes définissant la frontière",
15480                            ang="Groups which define the boundary",
15481                            GROUP_MA       = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ),
15482                            ) ,
15483 #
15484 # 7. Mise à jour de champs sur le nouveau maillage
15485 #
15486          MAJ_CHAM        =FACT(statut='f',max='**',
15487                            fr="Mise à jour de champs sur le nouveau maillage.",
15488                            ang="Updating of fields over the new mesh.",
15489 #
15490 # 7.1. Le nom du champ qui contiendra le resultat de la mise a jour
15491 #
15492            CHAM_MAJ       = SIMP(statut='o',typ=(CO,cham_gd_sdaster),
15493                            fr="Nom du champ qui contiendra le champ mis à jour",
15494                            ang="Name of the field for the updated field"),
15495 #
15496 # 7.2. Le type du champ qui contiendra le resultat de la mise a jour
15497 #
15498            TYPE_CHAM      = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO(),
15499                            fr="Type du champ qui contiendra le champ mis à jour",
15500                            ang="Type of the field for the updated field" ),
15501 #
15502 # 7.3. Le nom du resultat du champ a interpoler
15503 #
15504            RESULTAT       = SIMP(statut='o',
15505                                  typ=(evol_elas,evol_noli,evol_ther),
15506                            fr="Resultat contenant le champ à mettre à jour",
15507                            ang="Result with field to be updated" ),
15508 #
15509 # 7.4. Le nom du champ a interpoler
15510 #
15511            NOM_CHAM       = SIMP(statut='o',typ='TXM',
15512                            fr="Nom du champ à mettre à jour",
15513                            ang="Name of the field to be updated" ),
15514 #
15515 # 7.5. Le paramètre temporel pour le champ a interpoler
15516 #
15517                            regles=(EXCLUS('NUME_ORDRE','INST'),),
15518 #
15519 # 7.5.1. Soit le numero d'ordre
15520 #
15521            NUME_ORDRE     = SIMP(statut='f',typ='I',
15522                            fr="Numero d ordre du champ à mettre à jour",
15523                            ang="Rank of the field to be updated" ),
15524 #
15525 # 7.5.2. Soit l'instant
15526 # 7.5.2.1. Sa valeur
15527 #
15528            INST           = SIMP(statut='f',typ='R',
15529                            fr="Instant associé",
15530                            ang="Instant" ),
15531 #
15532 # 7.5.2.2. La précision du choix de l'instant
15533 #
15534                            b_precision     =BLOC(condition="(INST != None)",
15535                              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
15536                              fr="Précision sur le choix de l'instant associé",
15537                              ang="Accuracy over instant choice" ),
15538                              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
15539                              fr="Critère de précision sur le choix de l'instant associé",
15540                              ang="Accuracy criterium over instant choice" ),),
15541          ),
15542 #
15543 # 8. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres
15544 # 8.1. Nombre de noeuds et éléments
15545 #
15546          NOMBRE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
15547                           fr="Nombre de noeuds et éléments du maillage",
15548                           ang="Number of nodes and éléments in the mesh" ),
15549 #
15550 # 8.2. Determination de la qualité des éléments du maillage
15551 #
15552          QUALITE        = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15553                           fr="Qualité du maillage",
15554                           ang="Mesh quality" ),
15555 #
15556 # 8.3. Connexite du maillage
15557 #
15558          CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15559                           fr="Connexité du maillage.",
15560                           ang="Mesh connexity." ),
15561 #
15562 # 8.4. Taille des sous-domaines du maillage
15563 #
15564          TAILLE         = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15565                           fr="Tailles des sous-domaines du maillage.",
15566                           ang="Sizes of mesh sub-domains." ),
15567 #
15568 # 8.5. Controle de la non-interpenetration des éléments
15569 #
15570          INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
15571                           fr="Controle de la non interpénétration des éléments.",
15572                           ang="Overlapping checking." ),
15573 #
15574 )  ;
15575 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
15576 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15577 # ======================================================================
15578 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15579 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15580 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15581 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15582 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15583 #
15584 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15585 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15586 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15587 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15588 #
15589 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15590 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15591 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15592 # ======================================================================
15593 # RESPONSABLE F1BHHAJ J.ANGLES
15594 from Macro.macr_ascouf_calc_ops import macr_ascouf_calc_ops
15595 def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,CHARGE,RESU_THER,**args):
15596   self.type_sdprod(MODELE,modele_sdaster)
15597   if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater)
15598   if CARA_ELEM  != None:self.type_sdprod(CARA_ELEM,cara_elem)
15599   if FOND_FISS  != None:self.type_sdprod(FOND_FISS,fond_fiss)
15600   if CHARGE     != None:self.type_sdprod(CHARGE,char_meca)
15601   if RESU_THER  != None:self.type_sdprod(RESU_THER,evol_ther)
15602   return evol_noli
15603
15604 MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=macr_ascouf_calc_prod,
15605                       fr=" ",
15606                       reentrant='n',
15607             UIinfo={"groupes":("Outils métier",)},
15608          regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),),
15609
15610          TYPE_MAILLAGE   =SIMP(statut='o',typ='TXM',
15611                                into=("SAIN",
15612                                      "FISS_COUDE",
15613                                      "FISS_AXIS_DEB",
15614                                      "SOUS_EPAIS_COUDE"
15615                                      ) ),
15616
15617          CL_BOL_P2_GV    =FACT(statut='f',
15618            ANGLE           =SIMP(statut='o',typ='R' ),
15619            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),
15620          ),
15621
15622          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
15623          MODELE          =SIMP(statut='o',typ=(CO,modele_sdaster)),
15624          CHAM_MATER      =SIMP(statut='f',typ=(CO,cham_mater)),
15625          CARA_ELEM       =SIMP(statut='f',typ=(CO,cara_elem)),
15626          FOND_FISS       =SIMP(statut='f',typ=(CO,fond_fiss)),
15627          CHARGE          =SIMP(statut='f',typ=(CO,char_meca)),
15628          RESU_THER       =SIMP(statut='f',typ=(CO,evol_ther)),
15629
15630          AFFE_MATERIAU   =FACT(statut='o',max=3,
15631            regles=(UN_PARMI('TOUT','GROUP_MA'),),
15632            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15633            GROUP_MA        =SIMP(statut='f',typ='TXM',into=("COUDE","BOL") ),
15634            MATER           =SIMP(statut='o',typ=mater_sdaster ),
15635            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
15636          ),
15637
15638          PRES_REP        =FACT(statut='f',
15639            PRES            =SIMP(statut='o',typ='R' ),
15640            EFFE_FOND_P1    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15641            PRES_LEVRE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
15642            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15643          ),
15644
15645          ECHANGE         =FACT(statut='f',
15646            COEF_H          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15647            TEMP_EXT        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15648          ),
15649
15650          TORS_P1         =FACT(statut='f',max=6,
15651            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
15652            FX              =SIMP(statut='f',typ='R' ),
15653            FY              =SIMP(statut='f',typ='R' ),
15654            FZ              =SIMP(statut='f',typ='R' ),
15655            MX              =SIMP(statut='f',typ='R' ),
15656            MY              =SIMP(statut='f',typ='R' ),
15657            MZ              =SIMP(statut='f',typ='R' ),
15658            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
15659          ),
15660
15661          COMP_INCR       =FACT(statut='f',
15662            RELATION        =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ),
15663            VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ),
15664          ),
15665
15666          COMP_ELAS       =FACT(statut='f',
15667            RELATION        =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ),
15668            ELAS            =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
15669            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
15670          ),
15671
15672          SOLVEUR         =FACT(statut='d',
15673            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
15674            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
15675              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
15676            ),
15677            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
15678              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
15679            ),
15680            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
15681                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
15682              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
15683              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15684            ),
15685            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
15686              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
15687              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
15688              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
15689              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
15690              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
15691            ),
15692            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
15693          ),
15694
15695          CONVERGENCE     =FACT(statut='d',
15696            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
15697            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
15698            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
15699            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
15700            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
15701                                 ,defaut= 1.0E-6),
15702            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
15703            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
15704            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
15705          ),
15706
15707          NEWTON          =FACT(statut='d',
15708            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
15709            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
15710            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
15711            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
15712            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
15713          ),
15714
15715          RECH_LINEAIRE   =FACT(statut='d',
15716            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
15717            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
15718          ),
15719
15720          INCREMENT       =FACT(statut='o',
15721            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
15722                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
15723            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
15724            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
15725                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
15726            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
15727            INST_INIT       =SIMP(statut='f',typ='R'),
15728            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
15729            INST_FIN        =SIMP(statut='f',typ='R'),
15730            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
15731            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
15732            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
15733            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
15734          ),
15735
15736          THETA_3D        =FACT(statut='f',max='**',
15737            R_INF           =SIMP(statut='o',typ='R' ),
15738            R_SUP           =SIMP(statut='o',typ='R' ),
15739          ),
15740
15741          IMPR_TABLE      =FACT(statut='f',
15742            regles=(UN_PARMI('TOUT_PARA','NOM_PARA', ),
15743             PRESENT_PRESENT('TOUT_PARA','ANGLE',    ),
15744             PRESENT_PRESENT('TOUT_PARA','R_CINTR',  ),
15745                    UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL',),),
15746            NOM_PARA        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=4,
15747                                  into=("TRESCA_MEMBRANE",
15748                                        "TRESCA_MFLE",
15749                                        "TRESCA",
15750                                        "SI_LONG"
15751                                        "SI_RADI"
15752                                        "SI_CIRC"
15753                                        ) ),
15754            TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15755            ANGLE           =SIMP(statut='f',typ='R',max='**' ),
15756            R_CINTR         =SIMP(statut='f',typ='R',max='**' ),
15757            POSI_CURV_LONGI =SIMP(statut='f',typ='R',max='**' ),
15758            POSI_ANGUL      =SIMP(statut='f',typ='R',max='**' ),
15759            TRANSFORMEE     =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ),
15760          ),
15761
15762          IMPRESSION      =FACT(statut='f',
15763            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
15764                                  into=("RESULTAT","ASTER","IDEAS","CASTEM") ),
15765                                  
15766            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
15767              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
15768            ),  
15769
15770            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
15771              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
15772            ),
15773
15774          ),
15775
15776          TITRE           =SIMP(statut='f',typ='TXM' ),
15777
15778          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
15779 )  ;
15780 #& MODIF COMMANDE  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
15781 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15782 # ======================================================================
15783 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15784 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15785 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15786 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15787 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15788 #
15789 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15790 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15791 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15792 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15793 #
15794 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15795 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15796 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15797 # ======================================================================
15798 # RESPONSABLE F1BHHAJ J.ANGLES
15799 from Macro.macr_ascouf_mail_ops import macr_ascouf_mail_ops
15800 MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=maillage_sdaster,
15801                       fr=" ",reentrant='n',
15802             UIinfo={"groupes":("Outils métier",)},
15803
15804          regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),),
15805
15806          EXEC_MAILLAGE   =FACT(statut='o',
15807            LOGICIEL        =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000") ),
15808            UNITE_DATG      =SIMP(statut='f',typ='I',defaut=70),  
15809            UNITE_MGIB      =SIMP(statut='f',typ='I',defaut=19),  
15810            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
15811          ),
15812
15813          TYPE_ELEM       =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8") ),
15814
15815          COUDE           =FACT(statut='o',
15816            ANGLE           =SIMP(statut='o',typ='R' ),  
15817            R_CINTR         =SIMP(statut='o',typ='R' ),  
15818            L_TUBE_P1       =SIMP(statut='o',typ='R' ),  
15819            L_TUBE_P2       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
15820            NB_ELEM_EPAIS   =SIMP(statut='f',typ='I',defaut= 3 ),  
15821            SYME            =SIMP(statut='f',typ='TXM',defaut="ENTIER",into=("ENTIER","QUART","DEMI") ),
15822            TRANSFORMEE     =SIMP(statut='o',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ),
15823            b_transf_coude  =BLOC(condition = "TRANSFORMEE == 'COUDE' ",
15824               DEXT            =SIMP(statut='o',typ='R' ),  
15825               EPAIS           =SIMP(statut='o',typ='R' ),  
15826               SUR_EPAIS       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
15827               BOL_P2          =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ),
15828            ),
15829            b_transf_tube   =BLOC(condition = "TRANSFORMEE == 'TUBE' ",
15830               TRAN_EPAIS      =SIMP(statut='o',typ='TXM',defaut="NON",into=("OUI","NON") ),
15831               b_trans_epais_oui    =BLOC(condition = "TRAN_EPAIS == 'OUI' ",
15832                       regles=(ENSEMBLE('ANGL_TETA2','EPAIS_TI'),
15833                               UN_PARMI('ABSC_CURV_TRAN','POSI_ANGU_TRAN'),),
15834                       DEXT_T1         =SIMP(statut='o',typ='R' ),  
15835                       EPAIS_T1        =SIMP(statut='o',typ='R' ),  
15836                       EPAIS_T2        =SIMP(statut='o',typ='R' ),  
15837                       EPAIS_TI        =SIMP(statut='f',typ='R' ),  
15838                       ANGL_TETA1      =SIMP(statut='o',typ='R' ),  
15839                       ANGL_TETA2      =SIMP(statut='f',typ='R' ),  
15840                       ABSC_CURV_TRAN  =SIMP(statut='f',typ='R' ),  
15841                       POSI_ANGU_TRAN  =SIMP(statut='f',typ='R' ),  
15842               ),
15843               b_trans_epais_non    =BLOC(condition = "TRAN_EPAIS == 'NON' ",
15844                       DEXT            =SIMP(statut='o',typ='R' ),  
15845                       EPAIS           =SIMP(statut='o',typ='R' ),  
15846                       SUR_EPAIS       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
15847                       BOL_P2          =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ),
15848               ),
15849            ),
15850          ),
15851
15852          SOUS_EPAIS_COUDE=FACT(statut='f',
15853            regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
15854                    UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
15855            TYPE            =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
15856            AXE_CIRC        =SIMP(statut='f',typ='R' ),  
15857            AXE_LONGI       =SIMP(statut='o',typ='R' ),  
15858            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
15859            POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),  
15860            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
15861            POSI_CURV_CIRC  =SIMP(statut='f',typ='R' ),  
15862            AZIMUT          =SIMP(statut='f',typ='R' ),  
15863            SOUS_EPAIS      =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
15864            NB_ELEM_LONGI   =SIMP(statut='o',typ='I' ),  
15865            NB_ELEM_CIRC    =SIMP(statut='o',typ='I' ),  
15866            NB_ELEM_RADI    =SIMP(statut='f',typ='I',defaut= 3 ),  
15867            EMPREINTE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15868          ),
15869
15870          SOUS_EPAIS_MULTI=FACT(statut='f',max='**',
15871            regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
15872                    UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
15873            TYPE            =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
15874            AXE_CIRC        =SIMP(statut='f',typ='R' ),  
15875            AXE_LONGI       =SIMP(statut='o',typ='R' ),  
15876            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
15877            POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),  
15878            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
15879            POSI_CURV_CIRC  =SIMP(statut='f',typ='R' ),  
15880            AZIMUT          =SIMP(statut='f',typ='R' ),  
15881            SOUS_EPAIS      =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
15882            NB_ELEM_LONGI   =SIMP(statut='o',typ='I' ),  
15883            NB_ELEM_CIRC    =SIMP(statut='o',typ='I' ),  
15884            EMPREINTE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15885          ),
15886
15887          FISS_COUDE      =FACT(statut='f',
15888            regles=(UN_PARMI('ABSC_CURV','POSI_ANGUL'),),
15889            AXIS            =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),  
15890            b_axis_non    =BLOC(condition = "AXIS == 'NON' ",
15891                    LONGUEUR        =SIMP(statut='o',typ='R' ),  
15892            ),
15893            b_axis_oui    =BLOC(condition = "AXIS == 'OUI' ",
15894                    LONGUEUR        =SIMP(statut='f',typ='R' ),  
15895            ),
15896            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
15897            ABSC_CURV       =SIMP(statut='f',typ='R' ),  
15898            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
15899            FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT") ),
15900            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),  
15901            ORIEN           =SIMP(statut='o',typ='R',
15902                                  into=(45.,-45.,90.,0.E+0) ),
15903            NB_TRANCHE      =SIMP(statut='o',typ='I' ),  
15904            NB_SECTEUR      =SIMP(statut='o',typ='I' ),  
15905            NB_COURONNE     =SIMP(statut='o',typ='I' ),  
15906            RAYON_TORE      =SIMP(statut='f',typ='R' ),  
15907            COEF_MULT_RC2   =SIMP(statut='f',typ='R',defaut= 1. ),  
15908            COEF_MULT_RC3   =SIMP(statut='f',typ='R' ),  
15909            ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.5 ),  
15910          ),
15911
15912          IMPRESSION      =FACT(statut='f',max='**',
15913            regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
15914            FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",   
15915                                  into=("ASTER","IDEAS","CASTEM") ),
15916            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
15917              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
15918            ),  
15919            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
15920              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
15921            ),
15922            FICHIER         =SIMP(statut='f',typ='TXM' ),  
15923            UNITE           =SIMP(statut='f',typ='I' ),  
15924          ),
15925
15926          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
15927 )  ;
15928 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
15929 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15930 # ======================================================================
15931 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15932 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15933 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15934 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15935 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15936 #
15937 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15938 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15939 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15940 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15941 #
15942 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15943 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15944 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15945 # ======================================================================
15946 # RESPONSABLE F1BHHAJ J.ANGLES
15947 from Macro.macr_aspic_calc_ops import macr_aspic_calc_ops
15948
15949 def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,CHARGE,RESU_THER,**args):
15950   if MODELE      != None:self.type_sdprod(MODELE,modele_sdaster)
15951   if CHAM_MATER  != None:self.type_sdprod(CHAM_MATER,cham_mater)
15952   if CARA_ELEM   != None:self.type_sdprod(CARA_ELEM,cara_elem)
15953   if FOND_FISS_1 != None:self.type_sdprod(FOND_FISS_1,fond_fiss)
15954   if FOND_FISS_2 != None:self.type_sdprod(FOND_FISS_2,fond_fiss)
15955   if CHARGE      != None:self.type_sdprod(CHARGE,char_meca)
15956   if RESU_THER   != None:self.type_sdprod(RESU_THER,evol_ther)
15957   return evol_noli
15958
15959 MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_aspic_calc_prod,
15960                     fr=" ",reentrant='n',
15961             UIinfo={"groupes":("Outils métier",)},
15962          regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),),
15963
15964          TYPE_MAILLAGE   =SIMP(statut='o',typ='TXM',
15965                                into=("SAIN_FIN","SAIN_GROS","FISS_COUR_DEB","FISS_COUR_NONDEB","FISS_LONG_DEB",
15966                                      "FISS_LONG_NONDEB","FISS_AXIS_DEB","FISS_AXIS_NONDEB") ),
15967
15968          TUBULURE        =FACT(statut='o',
15969            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2") ),
15970          ),
15971          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
15972          MODELE          =SIMP(statut='f',typ=(CO,modele_sdaster)),
15973          CHAM_MATER      =SIMP(statut='f',typ=(CO,cham_mater)),
15974          CARA_ELEM       =SIMP(statut='f',typ=(CO,cara_elem)),
15975          FOND_FISS_1     =SIMP(statut='f',typ=(CO,fond_fiss)),
15976          FOND_FISS_2     =SIMP(statut='f',typ=(CO,fond_fiss)),
15977          CHARGE          =SIMP(statut='f',typ=(CO,char_meca)),
15978          RESU_THER       =SIMP(statut='f',typ=(CO,evol_ther)),
15979
15980          AFFE_MATERIAU   =FACT(statut='o',max=3,
15981            regles=(UN_PARMI('TOUT','GROUP_MA'),),
15982            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
15983            GROUP_MA        =SIMP(statut='f',typ='TXM',into=("TUBU","CORP","SOUD","SOUDCORP","SOUDTUBU") ),
15984            MATER           =SIMP(statut='o',typ=mater_sdaster),
15985            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
15986            RCCM            =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
15987          ),
15988
15989          EQUILIBRE       =FACT(statut='o',
15990            NOEUD           =SIMP(statut='o',typ=no),
15991          ),
15992
15993          PRES_REP        =FACT(statut='o',
15994            PRES            =SIMP(statut='o',typ='R'),
15995            NOEUD           =SIMP(statut='f',typ=no),
15996            EFFE_FOND       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
15997            PRES_LEVRE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
15998            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
15999          ),
16000
16001          ECHANGE         =FACT(statut='f',
16002            COEF_H_TUBU     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16003            COEF_H_CORP     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16004            TEMP_EXT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16005          ),
16006
16007          TORS_CORP       =FACT(statut='f',max=6,
16008            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
16009            NOEUD           =SIMP(statut='o',typ=no),
16010            FX              =SIMP(statut='f',typ='R'),
16011            FY              =SIMP(statut='f',typ='R'),
16012            FZ              =SIMP(statut='f',typ='R'),
16013            MX              =SIMP(statut='f',typ='R'),
16014            MY              =SIMP(statut='f',typ='R'),
16015            MZ              =SIMP(statut='f',typ='R'),
16016            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16017          ),
16018
16019          TORS_TUBU       =FACT(statut='f',max=6,
16020            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
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          COMP_INCR       =FACT(statut='f',
16031            RELATION        =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ),
16032            VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ),
16033          ),
16034
16035          COMP_ELAS       =FACT(statut='f',
16036            RELATION        =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ),
16037            ELAS            =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
16038            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
16039          ),
16040
16041          THETA_3D        =FACT(statut='f',max='**',
16042            R_INF           =SIMP(statut='o',typ='R'),
16043            R_SUP           =SIMP(statut='o',typ='R'),
16044          ),
16045
16046          OPTION          =SIMP(statut='f',typ='TXM',into=("CALC_G_MAX","CALC_G_MAX_LOCAL") ),
16047          BORNES          =FACT(statut='f',max='**',
16048            NUME_ORDRE      =SIMP(statut='o',typ='I'),
16049            VALE_MIN        =SIMP(statut='o',typ='R'),
16050            VALE_MAX        =SIMP(statut='o',typ='R'),
16051          ),
16052
16053          SOLVEUR         =FACT(statut='d',
16054            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
16055            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
16056              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
16057            ),
16058            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
16059              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
16060            ),
16061            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
16062                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
16063              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
16064              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
16065            ),
16066            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
16067              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
16068              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
16069              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
16070              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
16071              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
16072            ),
16073            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
16074          ),
16075
16076          CONVERGENCE     =FACT(statut='d',
16077            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
16078            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
16079            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
16080            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
16081            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut=1.0E-6),
16082            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut=10),
16083            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut=0),
16084            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
16085          ),
16086
16087          NEWTON          =FACT(statut='d',
16088            REAC_INCR       =SIMP(statut='f',typ='I',defaut=1),
16089            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL","DEPL_CALCULE")),
16090            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE")),
16091            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
16092          ),
16093
16094          RECH_LINEAIRE   =FACT(statut='d',
16095            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut=1.0E-3),
16096            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut=3),
16097          ),
16098
16099          INCREMENT       =FACT(statut='o',
16100            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
16101                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
16102            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
16103            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
16104                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
16105            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
16106            INST_INIT       =SIMP(statut='f',typ='R'),
16107            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
16108            INST_FIN        =SIMP(statut='f',typ='R'),
16109            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
16110            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
16111            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
16112            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
16113          ),
16114
16115          PAS_AZIMUT      =SIMP(statut='f',typ='I',defaut=1),
16116
16117          IMPRESSION      =FACT(statut='f',
16118            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
16119                                  into=("RESULTAT","ASTER","CASTEM","IDEAS")),
16120                                  
16121            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
16122              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
16123            ),  
16124
16125            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
16126              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
16127            ),
16128
16129            b_extrac        =BLOC(condition="((FORMAT=='IDEAS')or(FORMAT=='CASTEM'))",
16130                                  fr="extraction d un champ de grandeur",
16131              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST'),),
16132              NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,
16133                                    into=("DEPL","EQUI_ELNO_SIGM","TEMP")),
16134              
16135              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
16136              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
16137              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
16138            ),      
16139          ),
16140
16141          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
16142
16143          TITRE           =SIMP(statut='f',typ='TXM'),
16144 )
16145 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16146 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16147 # ======================================================================
16148 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16149 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16150 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16151 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16152 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16153 #
16154 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16155 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16156 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16157 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16158 #
16159 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16160 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16161 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16162 # ======================================================================
16163 # RESPONSABLE F1BHHAJ J.ANGLES
16164
16165 from Macro.macr_aspic_mail_ops import macr_aspic_mail_ops
16166
16167 MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= macr_aspic_mail_ops,sd_prod=maillage_sdaster,reentrant='n',
16168                     fr=" ",
16169             UIinfo={"groupes":("Outils métier",)},
16170
16171          EXEC_MAILLAGE   =FACT(statut='o',
16172            LOGICIEL        =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000")),
16173            UNITE_DATG      =SIMP(statut='f',typ='I',defaut=70),  
16174            UNITE_MGIB      =SIMP(statut='f',typ='I',defaut=19),  
16175            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
16176          ),
16177
16178          TYPE_ELEM       =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8")),
16179
16180          RAFF_MAIL       =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")),
16181
16182          TUBULURE        =FACT(statut='o',
16183            E_BASE          =SIMP(statut='o',typ='R'),  
16184            DEXT_BASE       =SIMP(statut='o',typ='R'),  
16185            L_BASE          =SIMP(statut='o',typ='R'),  
16186            L_CHANF         =SIMP(statut='o',typ='R'),  
16187            E_TUBU          =SIMP(statut='o',typ='R'),  
16188            DEXT_TUBU       =SIMP(statut='o',typ='R'),  
16189            Z_MAX           =SIMP(statut='o',typ='R'),  
16190            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
16191            L_PENETR        =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
16192          ),
16193
16194          SOUDURE         =FACT(statut='o',
16195            H_SOUD          =SIMP(statut='o',typ='R'),  
16196            ANGL_SOUD       =SIMP(statut='o',typ='R'),  
16197            JEU_SOUD        =SIMP(statut='o',typ='R'),  
16198          ),
16199
16200          CORPS           =FACT(statut='o',
16201            E_CORP          =SIMP(statut='o',typ='R'),  
16202            DEXT_CORP       =SIMP(statut='o',typ='R'),  
16203            X_MAX           =SIMP(statut='o',typ='R'),  
16204          ),
16205
16206          FISS_SOUDURE    =FACT(statut='f',
16207            TYPE            =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")),
16208            AXIS            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
16209            PROFONDEUR      =SIMP(statut='o',typ='R'),  
16210            LONGUEUR        =SIMP(statut='f',typ='R'),  
16211            AZIMUT          =SIMP(statut='o',typ='R'),  
16212            RAYON_TORE      =SIMP(statut='f',typ='R'),  
16213            POSITION        =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")),
16214            FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")),
16215            LIGA_INT        =SIMP(statut='f',typ='R'),  
16216            ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
16217            COEF_MULT_RC1   =SIMP(statut='f',typ='R'),  
16218            COEF_MULT_RC2   =SIMP(statut='f',typ='R'),  
16219            COEF_MULT_RC3   =SIMP(statut='f',typ='R'),  
16220            NB_TRANCHE      =SIMP(statut='f',typ='I'),  
16221            NB_SECTEUR      =SIMP(statut='f',typ='I'),  
16222            NB_COURONNE     =SIMP(statut='f',typ='I'),  
16223          ),
16224
16225          IMPRESSION      =FACT(statut='f',max='**',
16226            regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
16227            FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")),
16228
16229            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
16230              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
16231            ),  
16232
16233            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
16234              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
16235            ),
16236            FICHIER         =SIMP(statut='f',typ='TXM'),  
16237            UNITE           =SIMP(statut='f',typ='I'),  
16238          ),
16239
16240          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
16241 )  ;
16242 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
16243 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16244 # ======================================================================
16245 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
16246 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16247 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16248 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16249 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16250 #                                                                       
16251 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16252 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16253 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16254 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16255 #                                                                       
16256 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16257 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16258 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16259 # ======================================================================
16260
16261 from Macro.macr_cabri_calc_ops import macr_cabri_calc_ops
16262    
16263 def macr_cabri_calc_prod(self,MODELE_THER,MODELE_MECA,CHAM_MATER,
16264                          CHAR_THER,CHAR_MECA,RESU_THER,**args):
16265   if MODELE_THER != None:
16266    self.type_sdprod(MODELE_THER,modele_sdaster)   
16267   if MODELE_MECA != None:
16268    self.type_sdprod(MODELE_MECA,modele_sdaster)  
16269   if RESU_THER != None:
16270    self.type_sdprod(RESU_THER,evol_ther)     
16271   if CHAM_MATER != None:
16272    self.type_sdprod(CHAM_MATER,cham_mater)     
16273   if CHAR_THER != None: 
16274     for m in CHAR_THER:
16275       self.type_sdprod(m['CHARGE'],char_ther)
16276   if CHAR_MECA != None: 
16277     for m in CHAR_MECA:
16278       self.type_sdprod(m['CHARGE'],char_meca)
16279   return evol_noli
16280
16281
16282 MACR_CABRI_CALC=MACRO(nom="MACR_CABRI_CALC",
16283                       op=macr_cabri_calc_ops,
16284                       sd_prod=macr_cabri_calc_prod,
16285                       fr="Calcul d'une jonction boulonnée de tuyauterie",
16286                       reentrant='n',
16287                       UIinfo={"groupes":("Outils métier",)},
16288                       MAILLAGE   = SIMP(statut='o',typ=maillage_sdaster,),
16289                       AFFE_MATERIAU = FACT(statut='o',max='**',
16290                         regles=(UN_PARMI('TOUT','GROUP_MA',),),
16291                         TOUT     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
16292                         GROUP_MA = SIMP(statut='f',typ='TXM',into=(
16293                                                                   "BRIDE",
16294                                                                   "GOUJON",
16295                                                                   "ROND",
16296                                                                   "ECROU",
16297                                                                   "JOINT",) ),
16298                         MATER    = SIMP(statut='o',typ=mater_sdaster),
16299                         TEMP_REF = SIMP(statut='d',typ='R',defaut= 25. ),
16300                       ),                      
16301                       CHAM_MATER = SIMP(statut = 'f',typ=(cham_mater,CO),),
16302                       MODELE_THER= SIMP(statut = 'f',typ=(modele_sdaster,CO),),
16303                       
16304                       DEFI_CHAR_THER = FACT(statut ='d',
16305                         TEMP_INIT     = SIMP(statut='d',typ='R',defaut= 25.,),
16306                         COEF_H_FLUI   = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16307                         TEMP_EXT_FLUI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16308                         COEF_H_AIR    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16309                         TEMP_EXT_AIR  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16310                         LIST_INST     = SIMP(statut='f',typ=listr8_sdaster),
16311                       ),                      
16312                       
16313                       CHAR_THER  = FACT(statut = 'f',max=4,
16314                         CHARGE    = SIMP(statut='o',typ=(char_ther,CO)),
16315                         TYPE      = SIMP(statut='o',typ='TXM',
16316                                  into=("BRIDE_FLUIDE","BRIDE_AIR","ECROU_GOUJON",
16317                                        "BRIDE_JOINT"),)
16318                                        ),
16319
16320                       RESU_THER  = SIMP(statut = 'f',typ=(evol_ther,CO),),                                       
16321
16322                                        
16323                       MODELE_MECA= SIMP(statut = 'f',typ=(modele_sdaster,CO),),
16324
16325                       DEFI_CHAR_MECA   = FACT(statut='o',
16326                         PRETENS    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16327                         PRES_REP   = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16328                         EFFE_FOND  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
16329                       ),                                                             
16330
16331                       CHAR_MECA  = FACT(statut = 'f',max=11,
16332                         CHARGE    = SIMP(statut='o',typ=(char_meca,CO)),
16333                         TYPE      = SIMP(statut='o',typ='TXM',
16334                                  into=("BLOC_BAS_GOUJ","BLOC_BAS_JOINT",
16335                                        "BLOC_LAT_ALES","BLOC_LAT_NALES",
16336                                        "PLAN_TUBE",
16337                                        "PRES_FLU","EFFET_FOND",
16338                                        "CONT_JOINT",
16339                                        "DEFO_THER",
16340                                        "SERR_ECROU_1","SERR_ECROU_2",),)
16341                                        ),
16342                      
16343                       RELATION = SIMP(statut='f',typ='TXM',
16344                                        into=('VMIS_ISOT_TRAC','ELAS','ELAS_VMIS_TRAC',),),
16345                         
16346                       SOLVEUR   = FACT(statut='d',
16347                         METHODE  = SIMP(statut='d',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT",) ),
16348                         b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ",
16349                            fr="Paramètres de la méthode multi frontale",
16350                            RENUM           = SIMP(statut='d',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
16351                            NPREC           = SIMP(statut='d',typ='I',defaut=8),
16352                            STOP_SINGULIER  = SIMP(statut='d',typ='TXM',defaut="OUI",into=("OUI","NON") ),
16353                            ),                 
16354                       ),                                             
16355                       INCREMENT = FACT(statut='f',
16356                         regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
16357                                 EXCLUS('NUME_INST_FIN','INST_FIN'),),
16358                         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
16359                         EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
16360                                  into=("CHRONOLOGIQUE",) ),                                 
16361                         NUME_INST_INIT  =SIMP(statut='f',typ='I'),
16362                         INST_INIT       =SIMP(statut='f',typ='R'),
16363                         NUME_INST_FIN   =SIMP(statut='f',typ='I'),
16364                         INST_FIN        =SIMP(statut='f',typ='R'),
16365                         PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
16366                         SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
16367                         SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
16368                         COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
16369                         OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
16370                         NOM_CHAM        =SIMP(statut='f',typ='TXM',),
16371                         NOM_CMP         =SIMP(statut='f',typ='TXM',),
16372                         VALE            =SIMP(statut='f',typ='R'),
16373                       ),
16374                       NEWTON          =FACT(statut='d',
16375                         REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
16376                         PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL") ),
16377                         MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
16378                         PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
16379                         REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
16380                         EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
16381                       ),
16382                       CONVERGENCE     =FACT(statut='d',
16383                         regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
16384                         SIGM_REFE       =SIMP(statut='f',typ='R'),
16385                         EPSI_REFE       =SIMP(statut='f',typ='R'),
16386                         FLUX_THER_REFE  =SIMP(statut='f',typ='R'),        
16387                         RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
16388                         RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
16389                         RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
16390                         ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
16391                         ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
16392                         RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
16393                                  into=("IMPLICITE",)),
16394                       ),
16395                      );
16396
16397 #& MODIF COMMANDE  DATE 01/03/2005   AUTEUR MABBAS M.ABBAS 
16398 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16399 # ======================================================================
16400 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
16401 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16402 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16403 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16404 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16405 #                                                                       
16406 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16407 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16408 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16409 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16410 #                                                                       
16411 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16412 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16413 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16414 # ======================================================================
16415
16416 from Macro.macr_cabri_mail_ops import macr_cabri_mail_ops
16417
16418 MACR_CABRI_MAIL=MACRO(nom="MACR_CABRI_MAIL",
16419                       op=macr_cabri_mail_ops,
16420                       sd_prod=maillage_sdaster,
16421                       fr="maillage d'une jonction boulonnée de tuyauterie",
16422                       reentrant='n',
16423                       UIinfo={"groupes":("Outils métier",)},
16424                       EXEC_MAILLAGE = FACT(statut='o',
16425                         LOGICIEL      = SIMP(statut = 'o',typ='TXM',into=("GIBI2000",),),
16426                         UNITE_DATG    = SIMP(statut = 'f',typ='I',defaut=70,),
16427                         UNITE_MGIB    = SIMP(statut = 'f',typ='I',defaut=19,),
16428                         NIVE_GIBI     = SIMP(statut = 'f',typ='I',defaut=10,
16429                                           into = (3,4,5,6,7,8,9,10,11),
16430                                             ),
16431                                           ),
16432                       RAFF_MAILLAGE   = FACT(statut = 'd',
16433                         NB_RADIAL    = SIMP(statut = 'f',typ='I',defaut=2,),
16434                         NB_CIRCONF   = SIMP(statut = 'f',typ='I',defaut=3,),
16435                         NB_VERTICAL  = SIMP(statut = 'f',typ='I',defaut=6,),
16436                         NB_ALESAGE   = SIMP(statut = 'f',typ='I',defaut=5,),
16437                                           ),
16438                       VERI_MAIL     = FACT(statut='d',
16439                         VERIF         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),  
16440                         APLAT         = SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
16441                                           ),                                          
16442                       GEOM_BRID     = FACT(statut = 'o',
16443                         NORME         = SIMP(statut = 'o',typ='TXM',into=("OUI","NON"),),
16444                         b_bride_iso   = BLOC(condition = "NORME == 'OUI'",
16445                           TYPE           = SIMP(statut='o',typ='TXM',
16446                                                 into=('A','AA','B','B1','C','D','D1','E','F',
16447                                                       'FF','G','GG','H','H1','I','J','J1',
16448                                                       'K','L','L1','M','N','O','P','S','T','W'), 
16449                                                ),
16450                                             ),
16451                         b_bride_niso  = BLOC(condition = "NORME == 'NON'",
16452                           TUBU_D_EXT     = SIMP(statut='o',typ='R',),
16453                           TUBU_H         = SIMP(statut='o',typ='R',),
16454                           BRID_D_EXT     = SIMP(statut='o',typ='R',),
16455                           BRID_D_INT     = SIMP(statut='o',typ='R',),
16456                           BRID_H         = SIMP(statut='o',typ='R',),
16457                           BRID_D_CONGE   = SIMP(statut='o',typ='R',),
16458                           BRID_R_CONGE   = SIMP(statut='o',typ='R',),
16459                           BRID_D_EPAUL   = SIMP(statut='o',typ='R',),
16460                           BRID_H_EPAUL   = SIMP(statut='o',typ='R',),
16461                           BRID_D_ALESAG  = SIMP(statut='o',typ='R',),
16462                           BRID_P_ALESAG  = SIMP(statut='o',typ='R',),
16463                           BRID_H_ALESAG  = SIMP(statut='o',typ='R',),
16464                           GOUJ_N_GOUJON  = SIMP(statut='o',typ='I',),
16465                           GOUJ_D_GOUJON  = SIMP(statut='o',typ='R',),
16466                           GOUJ_E_FILET   = SIMP(statut='o',typ='R',),
16467                           GOUJ_D_RONDEL  = SIMP(statut='o',typ='R',),
16468                           GOUJ_E_RONDEL  = SIMP(statut='o',typ='R',),
16469                           GOUJ_D_ECROU   = SIMP(statut='o',typ='R',),
16470                           GOUJ_E_ECROU   = SIMP(statut='o',typ='R',),
16471                           ETAN_E_JOINT   = SIMP(statut='o',typ='R',),
16472                                             ),
16473                                          ),
16474                       IMPRESSION    = FACT(statut='d',
16475                         UNITE          = SIMP(statut='f',typ='I'),
16476                         FORMAT         = SIMP(statut='f',typ='TXM',defaut="ASTER",    
16477                                               into=("ASTER","CASTEM","IDEAS"),
16478                                              ),
16479                         b_impr_castem = BLOC(condition = "FORMAT == 'CASTEM'",
16480                           NIVE_GIBI      = SIMP(statut='f',typ='I',defaut=10,into=(3,10),),
16481                                             ),
16482                         b_impr_ideas  = BLOC(condition = "FORMAT == 'IDEAS'",
16483                           VERSION        = SIMP(statut='f',typ='I',defaut=5,into=(4,5),),
16484                                             ),
16485                                           ),
16486                      );
16487
16488 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16489 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16490 # ======================================================================
16491 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
16492 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16493 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16494 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16495 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16496 #                                                                       
16497 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16498 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16499 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16500 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16501 #                                                                       
16502 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16503 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16504 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16505 # ======================================================================
16506 # RESPONSABLE JMBHH01 J.M.PROIX
16507
16508 from Macro.macr_cara_poutre_ops import macr_cara_poutre_ops
16509
16510 MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE",op=macr_cara_poutre_ops,sd_prod=tabl_cara_geom,
16511                        reentrant='n',
16512           UIinfo={"groupes":("Modélisation",)},
16513           fr="caractéristiques d'une section transversale de poutre à partir d'un maillage 2D",
16514           regles=(EXCLUS('SYME_X','GROUP_MA_BORD'),
16515                   EXCLUS('SYME_Y','GROUP_MA_BORD'),),
16516                  
16517           UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 20 ),  
16518           ORIG_INER       =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0),
16519                                 fr="Point par rapport auquel sont calculées les inerties"),  
16520           INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
16521          
16522           SYME_X          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a x=0"),
16523           SYME_Y          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a y=0"),
16524          
16525           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
16526           fr="Calcul des caractéristiques équivalentes a plusieurs sections disjointes"),
16527           
16528           GROUP_MA_BORD   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
16529                                fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"),
16530          
16531                b_gma_bord = BLOC( condition = "GROUP_MA_BORD != None",
16532                             fr=" calcul des carac. mecaniques",
16533
16534                     NOEUD           =SIMP(statut='f',typ=no,max='**',
16535                     fr="Simplement pour empecher des pivots nuls le cas echeant. Fournir un noeud quelconque"),
16536                     GROUP_MA_INTE   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
16537                     fr="groupes de mailles linéiques bordant des trous dans la section"),
16538                     ),
16539                     
16540                b_reseau = BLOC( condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""",
16541                            fr=" calcul des coef de cisaillement équivalents a un reseau de poutres",
16542                             regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,),
16543                             LONGUEUR        =SIMP(statut='f',typ='R',fr="Longueur du réseau de poutres"),  
16544                             MATERIAU        =SIMP(statut='f',typ=mater_sdaster,fr="Materiau elastique lineaire du reseau"),
16545                             LIAISON         =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"),
16546                             fr="type de conditions aux limites sur le plancher supérieur" ),
16547                               ), 
16548                     )
16549 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR VABHHTS J.PELLET 
16550 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16551 # ======================================================================
16552 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
16553 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16554 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16555 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16556 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16557 #                                                                       
16558 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16559 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16560 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16561 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16562 #                                                                       
16563 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16564 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16565 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16566 # ======================================================================
16567
16568
16569 from Macro.macr_ecla_pg_ops import macr_ecla_pg_ops
16570
16571 def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args):
16572   self.type_sdprod(RESULTAT,AsType(RESU_INIT))   
16573   self.type_sdprod(MAILLAGE,maillage_sdaster)
16574   return None
16575
16576
16577 MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",op=macr_ecla_pg_ops,sd_prod=macr_ecla_pg_prod, reentrant='n',
16578              UIinfo={"groupes":("Post traitements",)},
16579              fr="permettre la visualisation des champs aux points de Gauss d'une SD_RESULTAT.",
16580                     
16581
16582              # SD résultat ,modèle et champs à "éclater" :
16583              RESU_INIT       =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",),
16584              MODELE_INIT     =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"),
16585              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
16586                                    into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ),
16587                                    
16588              # paramètres numériques de la commande :
16589              SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
16590              TAILLE_MIN      =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
16591              
16592              # concepts produits par la commande :
16593              RESULTAT        =SIMP(statut='o',typ=(resultat_sdaster,CO),fr="SD_RESULTAT résultat de la commande"),
16594              MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster,CO),fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"),
16595                      
16596              # Sélection éventuelle d'un sous-ensemble des éléments à visualiser :           
16597              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
16598              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
16599              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
16600              
16601              # Sélection des numéros d'ordre :
16602              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
16603              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
16604              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
16605              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
16606              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
16607              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
16608              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
16609              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
16610             )
16611 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16612 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16613 # ======================================================================
16614 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16615 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16616 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16617 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16618 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16619 #
16620 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16621 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16622 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16623 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16624 #
16625 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16626 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16627 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16628 # ======================================================================
16629 MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op=  81,sd_prod=macr_elem_dyna,
16630                     fr="Définition d un macro élément pour analyse modale ou harmonique par sous structuration dynamique",
16631                     reentrant='n',
16632             UIinfo={"groupes":("Matrices/vecteurs",)},
16633          regles=(EXCLUS('MATR_AMOR','AMOR_REDUIT' ),),
16634          BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
16635          MATR_RIGI       =SIMP(statut='f',typ=matr_asse_depl_r ),
16636          MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
16637          MATR_AMOR       =SIMP(statut='f',typ=matr_asse_depl_r ),
16638          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),         
16639          OPTION          =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","RITZ",
16640                           "DIAG_MASS") ),
16641 )  ;
16642 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
16643 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16644 # ======================================================================
16645 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16646 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16647 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16648 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16649 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16650 #
16651 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16652 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16653 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16654 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16655 #
16656 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16657 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16658 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16659 # ======================================================================
16660 MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f',
16661             UIinfo={"groupes":("Matrices/vecteurs",)},
16662                     fr="Définition d un macro-élément pour l analyse statique par sous structuration",
16663         regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'),
16664                 ENSEMBLE('DEFINITION','EXTERIEUR'),),
16665          DEFINITION      =FACT(statut='f',
16666            MODELE          =SIMP(statut='o',typ=modele_sdaster),
16667            CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
16668            CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
16669            CHAR_MACR_ELEM  =SIMP(statut='f',typ=char_meca),
16670            INST            =SIMP(statut='f',typ='R',defaut=0.0E+0 ),
16671            NMAX_CAS        =SIMP(statut='f',typ='I',defaut=10),
16672            NMAX_CHAR       =SIMP(statut='f',typ='I',defaut=10),
16673          ),
16674          EXTERIEUR       =FACT(statut='f',
16675            regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),),
16676            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
16677            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
16678          ),
16679          RIGI_MECA       =FACT(statut='f',
16680          ),
16681          MASS_MECA       =FACT(statut='f',
16682          ),
16683          CAS_CHARGE      =FACT(statut='f',max='**',
16684            NOM_CAS         =SIMP(statut='o',typ='TXM'),
16685            SUIV            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
16686            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
16687            INST            =SIMP(statut='f',typ='R',defaut=0.E+0),
16688          ),
16689 )  ;
16690 #& MODIF COMMANDE  DATE 07/10/2004   AUTEUR GNICOLAS G.NICOLAS 
16691 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16692 # ======================================================================
16693 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
16694 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16695 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16696 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16697 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16698 #                                                                       
16699 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16700 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16701 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16702 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16703 #                                                                       
16704 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16705 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16706 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16707 # ======================================================================
16708 # RESPONSABLE GNICOLAS G.NICOLAS
16709
16710 from Macro.macr_fiab_impr_ops import macr_fiab_impr_ops
16711
16712 MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops,
16713                      docu="U7.04.41",
16714                      fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.",
16715                      ang="Print values for the fiability software",
16716 #
16717 # 1. Le niveau d'information
16718 #
16719    INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
16720 #
16721 # 2. Impression de la valeur de la cible
16722 #
16723 # 2.1. ==> La table contenant la valeur à imprimer
16724 #
16725    TABLE_CIBLE = SIMP(statut='o',typ=table_sdaster,
16726                  fr="Table contenant la valeur cible.",
16727                  ang="Table which includes the target value."),
16728 #
16729 # 2.2. ==> Le nom du paramètre associé à la valeur cible dans cette table
16730 #
16731    NOM_PARA_CIBLE = SIMP(statut='o',typ='TXM',
16732                     fr="Nom du paramètre associé à la valeur cible.",
16733                     ang="Name of the parameter connected to the target value."),
16734 #
16735 # 3. Impressions des valeurs des éventuels gradients
16736 #
16737    GRADIENTS = FACT(statut='f',min=1,max='**',
16738 #
16739 # 3.1. ==> La table contenant la valeur à imprimer
16740 #
16741        TABLE = SIMP(statut='o',typ=table_sdaster,
16742                     fr="Table contenant le gradient.",
16743                     ang="Table which includes the gradient."),
16744 #
16745 # 3.2. ==> Le paramètre sensible
16746 #
16747        PARA_SENSI = SIMP(statut='o',typ=(para_sensi,theta_geom),
16748                        fr="Paramètre sensible associé au gradient.",
16749                        ang="Sensitivity parameter connected to the gradient."),
16750 #
16751 # 3.3. ==> Le nom du paramètre associé au gradient dans cette table
16752 #
16753        NOM_PARA = SIMP(statut='o',typ='TXM',
16754                        fr="Nom du paramètre associé au gradient.",
16755                        ang="Name of the parameter connected to the gradient."),
16756 #
16757          ),
16758 #
16759 );
16760 #& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
16761 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16762 # ======================================================================
16763 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
16764 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
16765 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
16766 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
16767 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
16768 #                                                                       
16769 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
16770 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
16771 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
16772 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
16773 #                                                                       
16774 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
16775 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
16776 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
16777 # ======================================================================
16778 # RESPONSABLE GNICOLAS G.NICOLAS
16779
16780 from Macro.macr_fiabilite_ops import macr_fiabilite_ops
16781
16782 #
16783 #====
16784 # 1. Le retour : une liste de rééls.
16785 #====
16786 #
16787 def macr_fiabilite_prod ( self , **args ):
16788   return listr8_sdaster
16789 #
16790 #====
16791 # 2. L'entete
16792 #====
16793 #
16794 MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops,
16795                          docu="U7.03.31",
16796                          sd_prod=macr_fiabilite_prod,
16797                          fr="Faire de la mécanique fiabiliste.",
16798                          ang="Fiability mechanics.",
16799 #
16800 #====
16801 # 3. Le niveau d'information
16802 #====
16803 #
16804    INFO           = SIMP(statut="f",typ="I",defaut=1,into=(1,2)),
16805 #
16806 #====
16807 # 4. Nom et Version du logiciel de fiabilité
16808 #====
16809 #
16810    LOGICIEL = SIMP(statut="f",typ="TXM",defaut="MEFISTO",
16811                    into=("MEFISTO",),
16812                    fr="Nom du logiciel de fiabilité.",
16813                    ang="Fiability software name."),
16814 #
16815    VERSION = SIMP(statut="f",typ="TXM",defaut="V3_2",
16816                   into=("V3_2", "V3_N"),
16817                   fr="Version du logiciel de fiabilité.",
16818                   ang="Fiability software release."),
16819 #
16820 #====
16821 # 5. Les entrees-sorties du calcul ASTER déterministe
16822 #====
16823 #
16824 # 5.1. ==> Le jeu de commandes déterministe
16825 #
16826    UNITE_ESCL = SIMP(statut="o",typ="I",
16827                      fr="Unité logique associée aux commandes du calcul ASTER déterministe.",
16828                      ang="Logical unit for the commands of the ASTER deterministic calculation."),
16829 #
16830 # 5.2. ==> Le destin des messages produits par ASTER
16831 #
16832    MESS_ASTER = SIMP(statut="f",typ="TXM",defaut="DERNIER",
16833                         into=("AUCUN", "DERNIER", "TOUS"),
16834                         fr="Quels messages ASTER récupérer.",
16835                         ang="Which ASTER messages must be kept."),
16836 #
16837 #====
16838 # 6. Options
16839 #====
16840 # 6.1. ==> Générales
16841 #
16842 # 6.1.1. ==> La valeur du seuil
16843 #
16844    SEUIL = SIMP(statut="o",typ="R",max=1,
16845                 fr="Le seuil de défaillance.",
16846                 ang="Failure threshold."),
16847 #
16848 # 6.1.2. ==> Le type du seuil : on a deux cas de figure selon que
16849 #            la défaillance a lieu au dessus d'un seuil maximum ou
16850 #            en dessous d'un seuil minimum
16851 #
16852    SEUIL_TYPE = SIMP(statut="o",typ="TXM",max=1,
16853                      into=("MINIMUM","MAXIMUM"),
16854                      fr="Que faut-il ne pas dépasser : un maximum ou un minimum.",
16855                      ang="What is the failure threshold : maximum or minimum."),
16856 #
16857 # 6.2. ==> Pour MEFISTO
16858 #
16859 ### en attente de résolution de AL 2004-006 (1/2)   b_mefisto=BLOC( condition = "LOGICIEL=='MEFISTO'",
16860 #
16861 # 6.2.1. ==> Pilotage de la recherche du point de conception
16862 #
16863      RECH_PT_CONCEPT = SIMP(statut="f",typ="TXM",defaut="OUI",
16864                             into=("OUI","NON"),
16865                             fr="Pour trouver le point de conception.",
16866                             ang="To find the design point."),
16867 #
16868      b_rech_pt_concept=BLOC( condition = "RECH_PT_CONCEPT=='OUI'",
16869 #
16870        EPSILON_U = SIMP(statut="f",typ="R",defaut=1.0E-2,
16871                         fr="Précision du test d'arret sur les points itératifs dans l'espace standard.",
16872                         ang="Precision of stop test for iterative points in standard space."),
16873 #
16874        EPSILON_G = SIMP(statut="f",typ="R",defaut=1.0E-2,
16875                         fr="Précision du test d'arret sur la proximité de la surface d'état limite.",
16876                         ang="Precision of stop test for limit state surface."),
16877 #
16878        TAU       = SIMP(statut="f",typ="R",defaut=5.0E-1,
16879                         fr="Paramètre de la méthode de minimisation.",
16880                         ang="Parameter for the minimization method."),
16881 #
16882        OMEGA     = SIMP(statut="f",typ="R",defaut=1.0E-4,
16883                         fr="Paramètre de la méthode de minimisation.",
16884                         ang="Parameter for the minimization method."),
16885 #
16886        ITER_MAX  = SIMP(statut="f",typ="I",defaut=50,
16887                         fr="Nombre maximum d'itérations.",
16888                         ang="Maximum number of iterations."),
16889      ),
16890 #
16891 # 6.2.2. ==> Méthode(s) employée(s) pour la probabilité de défaillance
16892 #
16893      METHODE_FORM = SIMP(statut="f",typ="TXM",defaut="OUI",
16894                          into=("OUI","NON"),
16895                          fr="Recherche de la probabilité de défaillance avec la méthode FORM.",
16896                          ang="Research of failure probability with FORM method."),
16897 #
16898      METHODE_SORM = SIMP(statut="f",typ="TXM",defaut="NON",
16899                          into=("OUI","NON"),
16900                          fr="Recherche de la probabilité de défaillance avec la méthode SORM.",
16901                          ang="Research of failure probability with SORM method."),
16902 #
16903      TIRAGE_IMPORTANCE = SIMP(statut="f",typ="TXM",defaut="NON",
16904                               into=("OUI","NON"),
16905                               fr="Recherche de la probabilité de défaillance avec le tirage d'importance.",
16906                               ang="Research of failure probability with ."),
16907 #
16908      b_tirage_importance=BLOC( condition = "TIRAGE_IMPORTANCE=='OUI'",
16909 #
16910        NB_SIMULATION = SIMP(statut="f",typ="I",defaut=3,
16911                             fr="Nombre de simulations pour le tirage d'importance.",
16912                             ang="Number of simulation for."),
16913 #
16914      ),
16915 #
16916 # 6.2.3. ==> Création d'une surface de réponse polynomiale
16917 #
16918      POLYNOME_TAYLOR   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),),
16919      HGRAD             = SIMP(statut="f",typ="R",defaut=1.0E-2,
16920                               fr="Pas incrémental pour le calcul des gradients.",
16921                               ang="Step for calculation of gradients."),
16922      HHESS             = SIMP(statut="f",typ="R",defaut=1.0E-2,
16923                               fr="Pas incrémental pour le calcul des dérivées secondes.",
16924                               ang="Step for calculation of second derivatives."),
16925 #
16926 # 6.2.4. ==> Recherche d'un plan d'expérience
16927 #
16928      PLAN_EXPERIENCE   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16929                               fr="Construction d'un plan d'expérience.",
16930                               ang="Construction of an experiment plan."),
16931 #
16932      b_plan_experience=BLOC( condition = "PLAN_EXPERIENCE=='OUI'",
16933 #
16934        ALPHA         = SIMP(statut="f",typ="R",defaut=2.0E-1,
16935                             fr="Plan d'expérience : maille du plan de type composite centré.",
16936                             ang="Experiment plane : mesh centered composite."),
16937 #
16938        BETA          = SIMP(statut="f",typ="R",defaut=4.0E-1,
16939                             fr="Plan d'expérience : maille du plan de type factoriel.",
16940                             ang="Experiment plane : mesh factor."),
16941 #
16942      ),
16943 #
16944 # 6.2.5. ==> Les tests
16945 # 6.2.5.1. ==> Test de la sphere
16946 #
16947      T_SPHERE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16948                      fr="Test de la sphère.",
16949                      ang="Sphere test."),
16950 #
16951      b_test_de_la_sphere=BLOC( condition = "T_SPHERE=='OUI'",
16952 #
16953        METHODE_TEST = SIMP(statut="f",typ="TXM",defaut="GAUSSIENNE",
16954                            into=("GAUSSIENNE","PARAMETRIQUE","REJECTION"),
16955                            fr="Type de méthode.",
16956                            ang="Method."),
16957 #
16958        NB_POINT     = SIMP(statut="f",typ="I",max=1,defaut=60,
16959                            fr="Nombre de points de la sphere.",
16960                            ang="Number of points over the sphere.")
16961      ),
16962 #
16963 # 6.2.5.2. ==> Test du maximum fort
16964 #
16965      T_MAXIMUM_FORT = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16966                            fr="Test du maximum fort.",
16967                            ang="Strong maximum test."),
16968 #
16969      b_test_du_maximum_fort=BLOC( condition = "T_MAXIMUM_FORT=='OUI'",
16970 #
16971        COS_LIM = SIMP(statut="f",typ="R",max=1,defaut=1.0,
16972                       fr="Cosinus de l'angle d'exclusion.",
16973                       ang="Cosine of angle of exclusion."),
16974 #
16975        DPROB   = SIMP(statut="f",typ="R",max=1,defaut=4.3E-1,
16976                       fr="Fraction d'iso-densité de probabilité de défaillance.",
16977                       ang="Fraction.")
16978 #
16979      ),
16980 #
16981 # 6.2.5.3. ==> Test du hessien
16982 #
16983      T_HESSIEN = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
16984                       fr="Test du hessien.",
16985                       ang="Hessian test."),
16986 #
16987 # 6.2.6. ==> Les correlations entre les variables
16988 #
16989      MATRICE = SIMP(statut="o",typ="R",max="**",
16990                     fr="Matrice de corrélation entre les variables.",
16991                     ang="Correlation matrix."), 
16992 #
16993 ### en attente de résolution de AL 2004-006 (2/2)   ),
16994 #
16995 #====
16996 # 7. Definition des paramètres
16997 #====
16998 #
16999    VARIABLE = FACT(statut="o",min=1,max="**",
17000 #
17001 # 7.1. ==> Nom de la variable
17002 #
17003        NOM = SIMP(statut="o",typ="TXM",
17004                   fr="Nom de la variable, identique au nom de concept PARA_SENSI.",
17005                   ang="Name of the variable, identical to the name of the PARA_SENSI conceipt."),
17006 #
17007 # 7.2. ==> Loi de distribution
17008 #
17009        LOI = SIMP(statut="o",typ="TXM",
17010                   into=("UNIFORME","NORMALE","LOGNORMALE","NORMALE_TRONQUEE"),
17011                   fr="Choix de la loi",
17012                   ang="Law."),
17013 #
17014 # 7.2.1. ==> Loi normale
17015 #
17016        b_normale=BLOC(condition="LOI=='NORMALE'",
17017 #
17018          VALE_MOY   = SIMP(statut="o",typ="R",max=1,
17019                                fr="Valeur moyenne.",
17020                                ang="Mean value."),
17021 #
17022          ECART_TYPE = SIMP(statut="o",typ="R",max=1,
17023                                fr="Ecart type.",
17024                                ang="Standard deviation."),
17025 #
17026        ),
17027 #
17028 # 7.2.2. ==> Loi lognormale
17029 #
17030        b_lognormale=BLOC(condition="LOI=='LOGNORMALE'",
17031 #
17032          VALE_MIN       = SIMP(statut="o",typ="R",max=1,
17033                                    fr="Valeur minimale.",
17034                                    ang="Minimal value."),
17035 #
17036          VALE_MOY       = SIMP(statut="f",typ="R",max=1,
17037                                    fr="Valeur moyenne dans l'espace de la loi normale.",
17038                                    ang="Mean value in the space of the normal law."),
17039 #
17040          ECART_TYPE     = SIMP(statut="f",typ="R",max=1,
17041                                    fr="Ecart type dans l'espace de la loi normale.",
17042                                    ang="Standard deviation in the space of the normal law."),
17043 #
17044          VALE_MOY_PHY   = SIMP(statut="f",typ="R",max=1,
17045                                    fr="Valeur moyenne dans l'espace physique.",
17046                                    ang="Mean value in the physical space."),
17047 #
17048          ECART_TYPE_PHY = SIMP(statut="f",typ="R",max=1,
17049                                    fr="Ecart type dans l'espace physique.",
17050                                    ang="Standard deviation in the physical space."),
17051 #
17052          regles=(AU_MOINS_UN("VALE_MOY"  ,"VALE_MOY_PHY"),
17053                  AU_MOINS_UN("ECART_TYPE","ECART_TYPE_PHY"),
17054                  EXCLUS  ("VALE_MOY"  ,"VALE_MOY_PHY"),
17055                  EXCLUS  ("VALE_MOY"  ,"ECART_TYPE_PHY"),
17056                  EXCLUS  ("ECART_TYPE","VALE_MOY_PHY"),
17057                  EXCLUS  ("ECART_TYPE","ECART_TYPE_PHY")),
17058 #
17059        ),
17060 #
17061 # 7.2.3. ==> Loi uniforme
17062 #
17063        b_uniforme=BLOC(condition="LOI=='UNIFORME'",
17064 #
17065          VALE_MIN = SIMP(statut="o",typ="R",max=1,
17066                              fr="Valeur minimale.",
17067                              ang="Minimal value."),
17068 #
17069          VALE_MAX = SIMP(statut="o",typ="R",max=1,
17070                              fr="Valeur maximale.",
17071                              ang="Maximal value."),
17072 #
17073        ),
17074 #
17075 # 7.2.4. ==> Loi normale tronquée
17076 #
17077        b_normale_tronquee=BLOC(condition="LOI=='NORMALE_TRONQUEE'",
17078 #
17079          VALE_MOY   = SIMP(statut="o",typ="R",max=1,
17080                                fr="Valeur moyenne de la loi normale complète.",
17081                                ang="Mean value for the entire normal law."),
17082 #
17083          ECART_TYPE = SIMP(statut="o",typ="R",max=1,
17084                                fr="Ecart type de la loi normale complète.",
17085                                ang="Standard deviation for the entire normal law."),
17086 #
17087          VALE_MIN   = SIMP(statut="o",typ="R",max=1,
17088                                fr="Valeur minimale.",
17089                                ang="Minimal value."),
17090 #
17091          VALE_MAX   = SIMP(statut="o",typ="R.",max=1,
17092                                fr="Valeur maximale.",
17093                                ang="Maximal value."),
17094 #
17095        ),
17096 #
17097 # 7.3. ==> Paramètres de calcul
17098 # 7.3.1. ==> Soit on cherche le point de conception, soit on le connait deja
17099 #
17100        regles=(EXCLUS("POINT_INI","POINT_CONCEPT"),
17101                EXCLUS("POINT_REF","POINT_CONCEPT"),),
17102 #
17103 # 7.3.2. ==> Quand on cherche le point de conception, on peut préciser le départ de l'algorithme.
17104 #            Si on ne le fait pas, le programme prendra la valeur moyenne.
17105 #
17106        POINT_INI = SIMP(statut="f",typ="R",max=1,
17107                           fr="Point de démarrage de l'algorithme itératif.",
17108                           ang="Initial point for iterative process."),
17109 #
17110 # 7.3.3. ==> Quand on cherche le point de conception, on peut préciser un point de référence pour normaliser.
17111 #            Si on ne le fait pas, le programme prendra la valeur moyenne.
17112 #
17113        POINT_REF = SIMP(statut="f",typ="R",max=1,
17114                           fr="Point de référence de l'algorithme itératif.",
17115                           ang="Reference point for iterative process."),
17116 #
17117 # 7.3.4. ==> Quand on cherche uniquement la probabilité de défaillance, il faut donner le point de conception
17118 #
17119        POINT_CONCEPT = SIMP(statut="f",typ="R",max=1,
17120                               fr="Point de conception.",
17121                               ang="Design point."),
17122 #
17123 # 7.4. ==> Mode d'obtention du gradient par rapport à ce paramètre
17124 #
17125        GRADIENT = SIMP(statut="o",typ="TXM",max=1,
17126                            into=("OUI","NON"),
17127                            fr="ASTER calcule directement le gradient.",
17128                        ang="ASTER computes the gradient for this parameter."),
17129
17130        b_gradient=BLOC(condition="GRADIENT=='NON'",
17131          INCREMENT = SIMP(statut="o",typ="R",max=1,
17132                              fr="Incrément dans la direction.",
17133                          ang="Direction increment."),
17134        ),
17135
17136    ),
17137 #
17138 );
17139 #& MODIF COMMANDE  DATE 03/11/2004   AUTEUR MCOURTOI M.COURTOIS 
17140 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17141 # ======================================================================
17142 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17143 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17144 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17145 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17146 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17147 #
17148 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17149 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17150 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17151 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17152 #
17153 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17154 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17155 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17156 # ======================================================================
17157 # RESPONSABLE GNICOLAS G.NICOLAS
17158
17159 from Macro.macr_adap_mail_ops import macr_adap_mail_ops
17160
17161 MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
17162                      docu="U7.03.02-b",
17163                      fr="Donner des informations sur un maillage.",
17164                      ang="To give information about a mesh.",
17165 #
17166 # 1. Le niveau d'information
17167 #
17168          INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17169 #
17170 # 2. Version de HOMARD
17171 #
17172          VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V7_1",
17173                                into=("V7_1", "V7_N", "V7_N_PERSO"),
17174                            fr="Version de HOMARD",
17175                            ang="HOMARD release"),
17176 #
17177 # 3. Langue des messages issus de HOMARD
17178 #
17179          LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
17180                                into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
17181                            fr="Langue des messages issus de HOMARD.",
17182                            ang="Language for HOMARD messages." ),
17183 #
17184 # 4. Gestion des éléments autres que des simplexes
17185 #       0 : autres elements refusés
17186 #       1 : analyse exclusivement sur les simplexes, mais autres éléments acceptés
17187 #       2 : tous (defaut)
17188 #
17189          NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2),
17190                           fr="Acceptation d'éléments quad, hexa et penta",
17191                           ang="quad, hexa and penta elements allowed" ),
17192 #
17193 # 5. Le nom du maillage a analyser
17194 #
17195          MAILLAGE       = SIMP(statut='o',typ=maillage_sdaster,
17196                            fr="Maillage à analyser.",
17197                            ang="Mesh to be checked." ),
17198 #
17199 # 6. Suivi d'une frontiere
17200 #
17201          MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
17202                            fr="Maillage de la frontiere à suivre",
17203                            ang="Boundary mesh" ),
17204 #
17205          b_frontiere   =BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
17206                            fr="Groupes définissant la frontière",
17207                            ang="Groups which define the boundary",
17208                            GROUP_MA       = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ),
17209                            ) ,
17210 #
17211 # 7. Les options ; par defaut, on ne fait que les nombres
17212 # 7.1. Nombre de noeuds et elements
17213 #
17214          NOMBRE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
17215                           fr="Nombre de noeuds et éléments du maillage",
17216                           ang="Number of nodes and elements in the mesh" ),
17217 #
17218 # 7.2. Determination de la qualite des elements du maillage
17219 #
17220          QUALITE        = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17221                           fr="Qualité du maillage",
17222                           ang="Mesh quality" ),
17223 #
17224 # 7.3. Connexite du maillage
17225 #
17226          CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17227                           fr="Connexité du maillage.",
17228                           ang="Mesh connexity." ),
17229 #
17230 # 7.4. Taille des sous-domaines du maillage
17231 #
17232          TAILLE         = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17233                           fr="Tailles des sous-domaines du maillage.",
17234                           ang="Sizes of mesh sub-domains." ),
17235 #
17236 # 7.5. Controle de la non-interpenetration des elements
17237 #
17238          INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
17239                           fr="Controle de la non interpénétration des éléments.",
17240                           ang="Overlapping checking." ),
17241 #
17242 )  ;
17243 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17244 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17245 # ======================================================================
17246 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
17247 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
17248 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
17249 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
17250 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
17251 #                                                                       
17252 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
17253 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
17254 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
17255 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
17256 #                                                                       
17257 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17258 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
17259 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
17260 # ======================================================================
17261
17262 from Macro.macr_lign_coupe_ops import macr_lign_coupe_ops
17263
17264 def macr_lign_coupe_prod(self,LIGN_COUPE,**args):
17265   if not LIGN_COUPE:  raise AsException("Impossible de typer les concepts resultats")
17266   for m in LIGN_COUPE:
17267     self.type_sdprod(m['TABLE'],table_sdaster)
17268   return None
17269
17270
17271 MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=macr_lign_coupe_prod,
17272                        reentrant='n',
17273             UIinfo={"groupes":("Outils métier",)},
17274                        fr="extraction d un résultat sur des lignes de coupes définies par 2 points et un intervalle",
17275          RESULTAT        =SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ),
17276          b_meca        =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli)",fr="résultat mécanique",
17277            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='SIGM_NOEU_DEPL' ),  
17278          ),
17279          b_ther        =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique",
17280            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='TEMP' ),  
17281          ),
17282          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
17283          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=25),  
17284          LIGN_COUPE     =FACT(statut='o',max='**',
17285            NB_POINTS       =SIMP(statut='o',typ='I'),
17286            COOR_ORIG       =SIMP(statut='o',typ='R',min=2,max=3),  
17287            COOR_EXTR       =SIMP(statut='o',typ='R',min=2,max=3),  
17288            TABLE           =SIMP(statut='o',typ=(table_sdaster,CO)), 
17289          ),
17290 )  ;
17291 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17292 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17293 # ======================================================================
17294 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
17295 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
17296 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
17297 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
17298 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
17299 #                                                                       
17300 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
17301 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
17302 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
17303 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
17304 #                                                                       
17305 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17306 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
17307 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
17308 # ======================================================================
17309    
17310 from Macro.macr_recal_ops import macr_recal_ops
17311
17312 def macr_recal_prod(self,**args ):
17313   return listr8_sdaster
17314
17315 MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops,
17316             UIinfo={"groupes":("Résultats et champs",)},
17317                       sd_prod=macr_recal_prod,
17318                       fr="Réalise le recalage de modèles Aster",
17319          UNITE_ESCL      =SIMP(statut='o',typ='I'),
17320          RESU_EXP        =SIMP(statut='o',typ=assd,max='**'),
17321          POIDS           =SIMP(statut='f',typ=assd,max='**'),
17322          RESU_CALC       =SIMP(statut='o',typ=assd,max='**'),
17323          LIST_PARA       =SIMP(statut='o',typ=assd,max='**'),
17324          ITER_MAXI       =SIMP(statut='f',typ='I',defaut=10),
17325          RESI_GLOB_RELA  =SIMP(statut='f',typ='R',defaut=1.E-3),
17326          UNITE_RESU      =SIMP(statut='f',typ='I',defaut=91),
17327          PARA_DIFF_FINI  =SIMP(statut='f',typ='R',defaut=0.001),
17328          GRAPHIQUE       =FACT(statut='d',
17329            UNITE           =SIMP(statut='f',typ='I',defaut=90),
17330            INTERACTIF      =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")),)
17331 )  ;
17332 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17333 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17334 # ======================================================================
17335 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17336 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17337 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17338 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17339 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17340 #
17341 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17342 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17343 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17344 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17345 #
17346 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17347 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17348 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17349 # ======================================================================
17350 # RESPONSABLE G8BHHXD X.DESROCHES
17351
17352 from Macro.macro_elas_mult_ops import macro_elas_mult_ops
17353
17354 def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ):
17355   self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
17356   if CAS_CHARGE[0]['NOM_CAS']      != None : return mult_elas
17357   if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas
17358   raise AsException("type de concept resultat non prevu")
17359
17360 MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro_elas_mult_prod,reentrant='f',
17361             UIinfo={"groupes":("Résolution",)},
17362          regles=(UN_PARMI('CHAR_MECA_GLOBAL','CHAR_CINE_GLOBAL','LIAISON_DISCRET', ),),
17363          MODELE          =SIMP(statut='o',typ=modele_sdaster),
17364          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
17365          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
17366          NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)),
17367          CHAR_MECA_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17368          CHAR_CINE_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17369          LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)),
17370          CAS_CHARGE      =FACT(statut='o',max='**',
17371            regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'),
17372                    UN_PARMI('CHAR_MECA','CHAR_CINE','VECT_ASSE'),),
17373            NOM_CAS         =SIMP(statut='f',typ='TXM' ),
17374            MODE_FOURIER    =SIMP(statut='f',typ='I' ),
17375            TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
17376            CHAR_MECA       =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17377            CHAR_CINE       =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17378            OPTION          =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
17379                                  into=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
17380                                        "SIGM_ELNO_CART","EFGE_ELNO_CART","DEGE_ELNO_DEPL","EPSI_ELNO_DEPL",
17381                                        "EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO","EPSP_ELGA",
17382                                        "ECIN_ELEM_DEPL","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC",
17383                                        "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG","INTE_ELNO_ACTI",
17384                                        "INTE_ELNO_REAC","SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA",
17385                                        "ERRE_ELEM_NOZ2","VNOR_ELEM_DEPL","ERRE_ELNO_ELGA","SIRE_ELNO_DEPL",
17386                                        "ERRE_ELGA_NORE","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI",
17387                                        "EQUI_ELGA_EPSI","FORC_NODA","REAC_NODA","EPSI_NOEU_DEPL","SIGM_NOEU_DEPL",
17388                                        "EFGE_NOEU_DEPL","EQUI_NOEU_SIGM","EQUI_NOEU_EPSI","FLUX_NOEU_TEMP") ),
17389            NUME_COUCHE     =SIMP(statut='f',typ='I',defaut=1),
17390            NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY")),
17391            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
17392            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r),
17393          ),
17394          SOLVEUR         =FACT(statut='d',
17395            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ),
17396            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",
17397                                     fr="Paramètres de la méthode multi frontale",
17398              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17399            ),
17400            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
17401              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
17402             ),
17403            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
17404                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
17405              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
17406              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17407            ),
17408          ),
17409          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)),
17410          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
17411 )  ;
17412 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17413 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17414 # ======================================================================
17415 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17416 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17417 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17418 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17419 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17420 #
17421 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17422 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17423 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17424 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17425 #
17426 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17427 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17428 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17429 # ======================================================================
17430
17431 from Macro.macro_matr_ajou_ops import macro_matr_ajou_ops
17432
17433 def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args):
17434   self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r)
17435   self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r)
17436   self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r)
17437   if FORC_AJOU != None:
17438     for m in FORC_AJOU:
17439       self.type_sdprod(m['VECTEUR'],vect_asse_gene)
17440
17441   return None
17442
17443 MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro_matr_ajou_prod,
17444             UIinfo={"groupes":("Matrices/vecteurs",)},
17445       regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
17446               AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'),
17447               EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
17448               EXCLUS('MONO_APPUI','MODE_STAT',),
17449              ),
17450          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
17451          GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma),
17452          GROUP_MA_INTERF =SIMP(statut='o',typ=grma),
17453          MODELISATION    =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")),
17454          FLUIDE          =FACT(statut='o',max='**',
17455            RHO             =SIMP(statut='o',typ='R'),
17456            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
17457            GROUP_MA        =SIMP(statut='f',typ=grma),
17458            MAILLE          =SIMP(statut='f',typ=ma),
17459          ),
17460          DDL_IMPO        =FACT(statut='o',max='**',
17461            regles=(UN_PARMI('NOEUD','GROUP_NO'),
17462                    UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),),
17463            NOEUD           =SIMP(statut='f',typ=no),
17464            GROUP_NO        =SIMP(statut='f',typ=grno),
17465            PRES_FLUIDE     =SIMP(statut='f',typ='R'),
17466            PRES_SORTIE     =SIMP(statut='f',typ='R'),
17467          ),
17468          ECOULEMENT      =FACT(statut='f',
17469            GROUP_MA_1      =SIMP(statut='o',typ=grma),
17470            GROUP_MA_2      =SIMP(statut='o',typ=grma),
17471            VNOR_1          =SIMP(statut='o',typ='R'),
17472            VNOR_2          =SIMP(statut='f',typ='R'),
17473            POTENTIEL       =SIMP(statut='f',typ=evol_ther),
17474          ),
17475          MODE_MECA       =SIMP(statut='f',typ=mode_meca),
17476          DEPL_IMPO       =SIMP(statut='f',typ=cham_no_depl_r),
17477          MODELE_GENE     =SIMP(statut='f',typ=modele_gene),
17478          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene),
17479          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.0E-2),
17480          MATR_MASS_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
17481          MATR_RIGI_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
17482          MATR_AMOR_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
17483          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",),),
17484          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),),
17485          FORC_AJOU       =FACT(statut='f',max='**',
17486            DIRECTION     =SIMP(statut='o',typ='R',max=3),
17487            NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
17488            GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
17489            VECTEUR       =SIMP(statut='o',typ=(CO,vect_asse_gene)),
17490          ),
17491          SOLVEUR         =FACT(statut='d',
17492            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
17493            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
17494              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17495            ),
17496            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
17497              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
17498            ),
17499            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
17500                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
17501              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
17502              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17503            ),
17504            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
17505              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
17506              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
17507              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
17508              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
17509              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
17510            ),
17511          ),
17512          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17513          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
17514          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
17515 )
17516 #& MODIF COMMANDE  DATE 01/02/2005   AUTEUR VABHHTS J.PELLET 
17517 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17518 # ======================================================================
17519 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17520 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17521 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17522 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
17523 # (AT YOUR OPTION) ANY LATER VERSION.
17524 #
17525 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
17526 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
17527 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
17528 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
17529 #
17530 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17531 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17532 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
17533 # ======================================================================
17534
17535 from Macro.macro_matr_asse_ops import macro_matr_asse_ops
17536
17537 def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args):
17538   if not MATR_ASSE:  raise AsException("Impossible de typer les concepts resultats")
17539   if not NUME_DDL:  raise AsException("Impossible de typer les concepts resultats")
17540   self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
17541   for m in MATR_ASSE:
17542     opti=m['OPTION']
17543
17544     if opti in ( "RIGI_MECA","RIGI_FLUI_STRU","RIGI_MECA_LAGR" ,
17545        "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA",
17546        "AMOR_MECA","IMPE_MECA","MASS_ID_MDEP_R","MASS_ID_MDNS_R",
17547        "ONDE_FLUI","MASS_MECA_DIAG" ) : t=matr_asse_depl_r
17548
17549     if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c
17550
17551     if opti in ( "RIGI_THER","MASS_THER","RIGI_THER_CONV" ,
17552        "RIGI_THER_CONV_D","MASS_ID_MTEM_R","MASS_ID_MTNS_R",) : t=matr_asse_temp_r
17553
17554     if opti == "RIGI_MECA_HYST"   : t= matr_asse_depl_c
17555
17556     self.type_sdprod(m['MATRICE'],t)
17557   return None
17558
17559 MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops,
17560             UIinfo={"groupes":("Matrices/vecteurs",)},
17561                       sd_prod=macro_matr_asse_prod,
17562                       fr="Calcul des matrices assemblées (matr_asse_gd) par exemple de rigidité, de masse ",
17563          MODELE          =SIMP(statut='o',typ=modele_sdaster),
17564          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
17565          INST            =SIMP(statut='f',typ='R',defaut=0.),
17566          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
17567          CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'),
17568          NUME_DDL        =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)),
17569          SOLVEUR         =FACT(statut='d',
17570            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",
17571                                  into=("LDLT","MULT_FRONT","GCPC")),
17572            RENUM           =SIMP(statut='f',typ='TXM',into=("SANS","RCMK","MD","MDA","METIS")),
17573          ),
17574
17575          MATR_ASSE       =FACT(statut='o',max='**',
17576              MATRICE         =SIMP(statut='o',typ=(matr_asse,CO)),
17577              OPTION          =SIMP(statut='o',typ='TXM',
17578                                    into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG",
17579                                          "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA",
17580                                          "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU",
17581                                          "RIGI_ROTA","RIGI_GEOM","RIGI_MECA_LAGR",
17582                                          "RIGI_THER","MASS_THER",
17583                                          "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",
17584                                          "MASS_ID_MTEM_R","MASS_ID_MTNS_R","MASS_ID_MDEP_R","MASS_ID_MDNS_R",)
17585                                    ),
17586
17587              b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
17588                MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
17589              ),
17590
17591              b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'",
17592                SIEF_ELGA       =SIMP(statut='o',typ=cham_elem_sief_r),
17593                MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
17594              ),
17595
17596              b_rigi_meca_lagr = BLOC( condition = "OPTION=='RIGI_MECA_LAGR'",
17597                THETA           =SIMP(statut='o',typ=theta_geom),
17598                PROPAGATION     =SIMP(statut='f',typ='R'),
17599              ),
17600
17601              b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'",
17602                MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
17603              ),
17604
17605          ), # fin MATR_ASSE
17606
17607          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
17608          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17609 )  ;
17610 #& MODIF COMMANDE  DATE 03/11/2004   AUTEUR ACBHHCD G.DEVESA 
17611 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17612 # ======================================================================
17613 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17614 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17615 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17616 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17617 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17618 #
17619 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17620 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17621 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17622 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17623 #
17624 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17625 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17626 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17627 # ======================================================================
17628
17629 from Macro.macro_miss_3d_ops import macro_miss_3d_ops
17630
17631 MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops,fr=" ",
17632             UIinfo={"groupes":("Matrices/vecteurs",)},
17633          OPTION          =FACT(statut='o',
17634            regles=(UN_PARMI('TOUT','MODULE'),),
17635            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
17636            MODULE          =SIMP(statut='f',typ='TXM',into=("PRE_MISS","MISS_EVOL","MISS_IMPE")),
17637          ),
17638          PROJET          =SIMP(statut='o',typ='TXM'),  
17639          REPERTOIRE      =SIMP(statut='f',typ='TXM'),
17640          VERSION         =SIMP(statut='f',typ='TXM',into=("V1_2","V1_3",),defaut="V1_2"),
17641          UNITE_IMPR_ASTER=SIMP(statut='f',typ='I',defaut=25),  
17642          UNITE_OPTI_MISS =SIMP(statut='f',typ='I',defaut=26),  
17643          UNITE_MODELE_SOL=SIMP(statut='f',typ='I',defaut=27),  
17644          UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),  
17645 )  ;
17646 #& MODIF COMMANDE  DATE 28/02/2005   AUTEUR DURAND C.DURAND 
17647 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17648 # ======================================================================
17649 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17650 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17651 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17652 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17653 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17654 #
17655 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17656 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17657 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17658 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17659 #
17660 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17661 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17662 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17663 # ======================================================================
17664
17665 from Macro.macro_mode_meca_ops import macro_mode_meca_ops
17666
17667 MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=mode_meca,
17668                      reentrant='n',
17669             UIinfo={"groupes":("Résolution",)},
17670          MATR_A          =SIMP(statut='o',typ=matr_asse_depl_r ),
17671          MATR_B          =SIMP(statut='o',typ=matr_asse_depl_r ),
17672          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
17673 #  ce mot cle ne devrait il pas etre dans calc_freq  
17674          METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",    
17675                                into=("TRI_DIAG","JACOBI","SORENSEN",) ),
17676          b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
17677            PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
17678            NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
17679            PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
17680            NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
17681          ),
17682          b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
17683            PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
17684            NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
17685            PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
17686            NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
17687          ),
17688          b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
17689            PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
17690            NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
17691            PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
17692          ),
17693          OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",    
17694                                into=("MODE_RIGIDE","SANS") ),
17695          CALC_FREQ       =FACT(statut='d',min=0,
17696            regles=(UN_PARMI('FREQ','FREQ_MAX'),
17697                    PRESENT_PRESENT('FREQ_MIN','FREQ_MAX'),
17698                    PRESENT_PRESENT('FREQ_MAX','NB_BLOC_FREQ'),
17699                    EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
17700            FREQ            =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max='**',val_min=0.E+0 ),  
17701            FREQ_MIN        =SIMP(statut='f',typ='R' ),  
17702            FREQ_MAX        =SIMP(statut='f',typ='R' ),  
17703            NB_BLOC_FREQ    =SIMP(statut='f',typ='I' ),  
17704            DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),  
17705            COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
17706            NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),  
17707            NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),  
17708            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2 ),  
17709            SEUIL_FREQ      =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ),  
17710            STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ),
17711          ),
17712          VERI_MODE       =FACT(statut='d',min=0,
17713            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17714            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6 ),  
17715            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3 ),  
17716            STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17717          ),
17718          NORM_MODE       =FACT(statut='o',max='**',
17719            MASS_INER       =SIMP(statut='o',typ=tabl_mass_iner ),
17720            NORME           =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA",    
17721                                  into=("MASS_GENE","RIGI_GENE","EUCL",           
17722                                        "EUCL_TRAN","TRAN","TRAN_ROTA") ),
17723            INFO            =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ),
17724          ),
17725          FILTRE_MODE     =FACT(statut='f',
17726            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
17727                                  into=("MASS_EFFE_UN","MASS_GENE") ),
17728            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
17729          ),
17730          IMPRESSION      =FACT(statut='d',
17731            TOUT_PARA       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17732            CUMUL           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17733            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
17734                                  into=("MASS_EFFE_UN","MASS_GENE",) ),
17735          ),
17736 )  ;
17737 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17738 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17739 # ======================================================================
17740 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17741 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17742 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17743 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17744 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17745 #
17746 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17747 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17748 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17749 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17750 #
17751 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17752 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17753 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17754 # ======================================================================
17755
17756 from Macro.macro_proj_base_ops import macro_proj_base_ops
17757
17758 def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args ):
17759   if MATR_ASSE_GENE != None:
17760     for m in MATR_ASSE_GENE:
17761       self.type_sdprod(m['MATRICE'],matr_asse_gene_r)
17762       self.type_sdprod(m['MATR_ASSE'],matr_asse_depl_r)
17763   if VECT_ASSE_GENE != None:
17764     for v in VECT_ASSE_GENE:
17765       self.type_sdprod(v['VECTEUR'],vect_asse_gene)
17766   return None
17767
17768 MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops,
17769             UIinfo={"groupes":("Matrices/vecteurs",)},
17770                       sd_prod=macro_proj_base_prod,
17771                       fr="Projection des matrices et/ou vecteurs assemblés sur une base de vecteurs",
17772          BASE            =SIMP(statut='o',typ=(mode_meca,mode_stat,base_modale,mode_gene) ),
17773          NB_VECT         =SIMP(statut='f',typ='I',defaut= 9999),
17774          PROFIL          =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("PLEIN","DIAG") ),
17775          MATR_ASSE_GENE  =FACT(statut='f',max='**',
17776            MATRICE         =SIMP(statut='o',typ=(CO,matr_asse)),
17777            MATR_ASSE       =SIMP(statut='f',typ=matr_asse_depl_r),
17778            MATR_ASSE_GENE  =SIMP(statut='f',typ=matr_asse_gene_r),
17779          ),
17780          VECT_ASSE_GENE  =FACT(statut='f',max='**',
17781            VECTEUR         =SIMP(statut='o',typ=(CO,vect_asse)),
17782            TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
17783            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r),
17784            VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene),
17785          ),
17786          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17787 )  ;
17788 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17789 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17790 # ======================================================================
17791 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17792 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17793 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17794 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17795 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17796 #
17797 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17798 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17799 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17800 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17801 #
17802 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17803 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17804 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17805 # ======================================================================
17806 MAJ_CATA=PROC(nom="MAJ_CATA",op=20,
17807             UIinfo={"groupes":("Gestion du travail",)},
17808               fr="Compilation des catalogues de commandes et d éléments",
17809
17810          ELEMENT         =FACT(statut='f',),
17811
17812 )  ;
17813 #& MODIF COMMANDE  DATE 10/02/2005   AUTEUR LEBOUVIE F.LEBOUVIER 
17814 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17815 # ======================================================================
17816 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17817 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17818 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17819 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
17820 # (AT YOUR OPTION) ANY LATER VERSION.
17821 #
17822 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
17823 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
17824 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
17825 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
17826 #
17827 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17828 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17829 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
17830 # ======================================================================
17831 # RESPONSABLE VABHHTS J.PELLET
17832 MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
17833                    fr="Analyse mécanique statique linéaire",reentrant='f',
17834             UIinfo={"groupes":("Résolution",)},
17835                    regles=(EXCLUS("INST","LIST_INST"),
17836                            AU_MOINS_UN('CHAM_MATER','CARA_ELEM',), ),
17837          MODELE          =SIMP(statut='o',typ=modele_sdaster),
17838          CHAM_MATER      =SIMP(statut='f',typ=cham_mater,
17839          fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)",
17840          ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"),
17841          CARA_ELEM       =SIMP(statut='f',typ=cara_elem,
17842          fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...",
17843          ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."),
17844          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
17845          EXCIT           =FACT(statut='o',max='**',
17846            CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
17847            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17848            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
17849          ),
17850          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17851          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
17852          INST_FIN        =SIMP(statut='f',typ='R'),
17853          OPTION          =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA_DEPL","SANS"),defaut="SIEF_ELGA_DEPL",max=1,
17854              fr="seule option : contraintes aux points de Gauss. Utiliser CALC_ELEM pour les autres.",
17855                           ),
17856          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
17857                                fr="Liste des paramètres de sensibilité.",
17858                                ang="List of sensitivity parameters"),
17859          SOLVEUR         =FACT(statut='d',
17860          METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","FETI") ),
17861            b_feti          =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1",
17862              PARTITION       =SIMP(statut='o',typ=sd_feti_sdaster),
17863              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17864              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.),
17865              NMAX_ITER       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
17866              TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ),              
17867              NB_REORTHO_DD   =SIMP(statut='f',typ='I',defaut=0,val_min=0),
17868              PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ),
17869              SCALING         =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ),                
17870              VERIF_SDFETI    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),           
17871              TEST_CONTINU    =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.),
17872              INFO_FETI       =SIMP(statut='f',typ='TXM',defaut='FFFFFFFF')                      
17873            ),
17874            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
17875              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17876            ),
17877            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
17878              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
17879            ),
17880            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' or METHODE == 'FETI' ",
17881                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
17882              NPREC           =SIMP(statut='f',typ='I',defaut=8),
17883              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17884            ),
17885            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
17886              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
17887              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
17888              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
17889              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6),
17890              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
17891            ),
17892          ),
17893          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
17894 )  ;
17895 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17896 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17897 # ======================================================================
17898 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17899 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17900 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17901 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17902 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17903 #
17904 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17905 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17906 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17907 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17908 #
17909 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17910 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17911 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17912 # ======================================================================
17913 # RESPONSABLE GNICOLAS G.NICOLAS
17914 MEMO_NOM_SENSI=PROC(nom="MEMO_NOM_SENSI",op=129,
17915             UIinfo={"groupes":("Fonction",)},
17916                     fr="Mémorisation des noms des concepts dérivés.",
17917                     ang="Memorisation of the names of the sensitive concepts.",
17918
17919          regles=(AU_MOINS_UN('NOM','NOM_ZERO','NOM_UN'),),
17920
17921          NOM=FACT(statut='f',max='**',
17922              regles=(PRESENT_PRESENT('MOT_CLE','VALEUR','MOT_FACT' ),),
17923
17924              NOM_SD=SIMP(statut='o',typ='TXM',
17925                          fr="Nom de la structure de base",
17926                          ang="Name of the basic structure"),
17927
17928              PARA_SENSI=SIMP(statut='o',typ=(para_sensi,theta_geom),
17929                          fr="Nom du paramètre sensible",
17930                          ang="Name of the sensitive parameter"),
17931
17932              NOM_COMPOSE=SIMP(statut='f',typ='TXM',defaut=" ",
17933                          fr="Nom de la structure composée",
17934                          ang="Name of the built structure"),
17935
17936              MOT_FACT=SIMP(statut='f',typ='TXM',max='**',
17937                          fr="Liste des mots clés facteurs concernés par la dérivation",
17938                          ang="Factor keyword list involved in derivation"),
17939
17940              MOT_CLE=SIMP(statut='f',typ='TXM',max='**',
17941                          fr="Liste des mots clés concernés par la dérivation",
17942                          ang="Keyword list involved in derivation"),
17943
17944              VALEUR=SIMP(statut='f',typ='TXM',max='**',
17945                          fr="Liste des objets concernés par la dérivation",
17946                          ang="Object list involved in derivation"),
17947
17948                  ),
17949
17950          NOM_ZERO=SIMP(statut='f',typ=fonction_sdaster,
17951                        fr="Nom de la fonction nulle",
17952                        ang="Name of the zero fonction"),
17953
17954          NOM_UN  =SIMP(statut='f',typ=fonction_sdaster,
17955                        fr="Nom de la fonction unité",
17956                        ang="Name of the one fonction"),
17957
17958 )  ;
17959 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
17960 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17961 # ======================================================================
17962 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17963 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17964 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17965 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17966 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17967 #
17968 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17969 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17970 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17971 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17972 #
17973 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17974 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17975 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17976 # ======================================================================
17977 MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op=  80,sd_prod=mode_cycl,
17978                     fr="Modes propres d une structure à répétitivité cyclique à partir d une base de modes propres réels",
17979                     reentrant='n',
17980             UIinfo={"groupes":("Résolution",)},
17981          BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
17982          NB_MODE         =SIMP(statut='f',typ='I',defaut= 999 ),
17983          NB_SECTEUR      =SIMP(statut='o',typ='I' ),
17984          LIAISON         =FACT(statut='o',
17985            DROITE          =SIMP(statut='o',typ='TXM' ),
17986            GAUCHE          =SIMP(statut='o',typ='TXM' ),
17987            AXE             =SIMP(statut='f',typ='TXM' ),
17988          ),
17989          VERI_CYCL       =FACT(statut='f',
17990            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
17991            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ),
17992            DIST_REFE       =SIMP(statut='f',typ='R' ),
17993          ),
17994          CALCUL          =FACT(statut='o',
17995            TOUT_DIAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
17996            NB_DIAM         =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
17997            OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE"
17998                                 ,into=("PLUS_PETITE","CENTRE","BANDE") ),
17999            b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
18000              FREQ            =SIMP(statut='o',typ='R',),
18001            ),
18002            b_bande       =BLOC(condition = "OPTION == 'BANDE'",
18003              FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2),
18004            ),
18005 #  NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE                                
18006            NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10 ),
18007            PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 100. ),
18008            PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
18009            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 50 ),
18010          ),
18011          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18012 )  ;
18013 #& MODIF COMMANDE  DATE 20/10/2004   AUTEUR DURAND C.DURAND 
18014 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18015 # ======================================================================
18016 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18017 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18018 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18019 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18020 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18021 #
18022 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18023 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18024 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18025 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18026 #
18027 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18028 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18029 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18030 # ======================================================================
18031 def mode_iter_inv_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
18032   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
18033   if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
18034   if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
18035   if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
18036   if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
18037   raise AsException("type de concept resultat non prevu")
18038
18039 MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op=  44,sd_prod=mode_iter_inv_prod
18040                     ,fr="Modes propres par itérations inverses ; valeurs propres et modes réels ou complexes",
18041                      reentrant='n',
18042             UIinfo={"groupes":("Résolution",)},
18043          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
18044          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
18045          MATR_C          =SIMP(statut='f',typ=matr_asse_depl_r ),
18046          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",   
18047                                into=("MODE_FLAMB","DYNAMIQUE"),fr="Type d analyse" ),
18048          b_dynam         =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
18049            CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
18050            
18051              OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
18052                                    fr="Choix de l option pour estimer les valeurs propres"  ),
18053              FREQ            =SIMP(statut='o',typ='R',max='**'),
18054              AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),     
18055              NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
18056              NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
18057              PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
18058              NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=0 ),
18059              PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
18060
18061              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
18062              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18063              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
18064              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
18065            ),
18066          ),
18067          b_flamb        =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
18068            CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
18069            
18070              OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
18071                                  fr="Choix de l option pour estimer les valeurs propres"  ),
18072              CHAR_CRIT       =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
18073              NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
18074              NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
18075              PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
18076              NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ),
18077              PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
18078            
18079              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
18080              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18081              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
18082              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
18083            ),
18084          ),
18085          CALC_MODE       =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres",
18086            OPTION          =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ),
18087            PREC            =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=0.E+0,fr="Précision de convergence" ),
18088            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ),
18089          ),
18090          VERI_MODE       =FACT(statut='d',min=0,
18091            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18092            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0,
18093                                  fr="Valeur limite admise pour l ereur a posteriori des modes"  ),
18094          ),
18095          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
18096                                fr="Liste des param\350tres de sensibilit\351.",
18097                                ang="List of sensitivity parameters",
18098          ),
18099          b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
18100              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
18101              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
18102              EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
18103          ),
18104          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18105          TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18106 )  ;
18107 #& MODIF COMMANDE  DATE 20/10/2004   AUTEUR DURAND C.DURAND 
18108 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18109 # ======================================================================
18110 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18111 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18112 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18113 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18114 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18115 #
18116 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18117 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18118 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18119 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18120 #
18121 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18122 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18123 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18124 # ======================================================================
18125 def mode_iter_simult_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
18126   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
18127   if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
18128   if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
18129   if AsType(MATR_A) == matr_asse_depl_c : return mode_meca_c
18130   if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
18131   if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
18132   raise AsException("type de concept resultat non prevu")
18133
18134 MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op=  45,sd_prod=mode_iter_simult_prod,
18135                       fr="Modes propres par itérations simultanées ; valeurs propres et modes propres réels ou complexes",
18136                       reentrant='n',
18137             UIinfo={"groupes":("Résolution",)},
18138          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ),
18139          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
18140          MATR_C          =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
18141          METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",
18142                                into=("TRI_DIAG","JACOBI","SORENSEN") ),
18143          b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
18144            PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
18145            NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18146            PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
18147            NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
18148          ),
18149          b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
18150            PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
18151            NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
18152            PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
18153            NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
18154          ),
18155          b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
18156            PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
18157            NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
18158            PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
18159          ),
18160          TYPE_RESU       =SIMP(statut='f',position='global',typ='TXM',defaut="DYNAMIQUE",
18161                                into=("MODE_FLAMB","DYNAMIQUE"),
18162                                fr="Type d analyse" ),
18163          OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"),
18164                                fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ),
18165
18166          b_flamb         =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
18167            CALC_FREQ       =FACT(statut='d',min=0,
18168              OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
18169                                    fr="Choix de l option et par conséquent du shift du problème modal" ),
18170              b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
18171                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
18172              ),
18173              b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
18174                                  fr="Recherche des valeurs propres les plus proches d une valeur donnée",
18175                CHAR_CRIT       =SIMP(statut='o',typ='R',
18176                                      fr="Charge critique autour de laquelle on cherche les charges critiques propres"),
18177                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
18178              ),
18179              b_bande       =BLOC(condition = "(OPTION == 'BANDE')",
18180                                  fr="Recherche des valeurs propres dans une bande donnée",
18181                CHAR_CRIT       =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
18182                                      fr="Valeur des deux charges critiques délimitant la bande de recherche"),
18183              ),           
18184              APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"),
18185                                    fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
18186              regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
18187              DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
18188              COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
18189              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
18190              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18191              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
18192              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
18193            ),
18194          ),
18195
18196          b_dynam        =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
18197            CALC_FREQ       =FACT(statut='d',min=0,
18198              OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
18199                                    fr="Choix de l option et par conséquent du shift du problème modal" ),
18200              b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
18201                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
18202              ),
18203              b_centre       =BLOC(condition = "OPTION == 'CENTRE'",
18204                                   fr="Recherche des valeurs propres les plus proches d une valeur donnée",
18205                FREQ            =SIMP(statut='o',typ='R',
18206                                      fr="Fréquence autour de laquelle on cherche les fréquences propres"),
18207                AMOR_REDUIT     =SIMP(statut='f',typ='R',),
18208                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
18209              ),
18210              b_bande         =BLOC(condition = "(OPTION == 'BANDE')",
18211                                    fr="Recherche des valeurs propres dans une bande donnée",
18212                FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
18213                                      fr="Valeur des deux fréquences délimitant la bande de recherche"),
18214              ),           
18215              APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"),
18216                                    fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
18217              regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
18218              DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
18219              COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
18220              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
18221              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18222              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
18223              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
18224            ),
18225          ),
18226
18227          VERI_MODE       =FACT(statut='d',min=0,
18228            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18229            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ),
18230            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0,
18231                                  fr="Valeur limite admise pour l ereur a posteriori des modes" ),
18232            STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18233          ),
18234          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
18235                                fr="Liste des param\350tres de sensibilit\351.",
18236                                ang="List of sensitivity parameters",
18237          ),
18238          b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
18239              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
18240              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
18241              EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
18242          ),
18243          STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18244          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18245          TITRE           =SIMP(statut='f',typ='TXM',max='**'),        
18246 )  ;
18247 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18248 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18249 # ======================================================================
18250 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18251 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18252 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18253 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18254 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18255 #
18256 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18257 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18258 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18259 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18260 #
18261 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18262 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18263 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18264 # ======================================================================
18265 def mode_stat_prod(MODE_STAT,FORCE_NODALE,PSEUDO_MODE,**args):
18266  if (MODE_STAT != None)          : return mode_stat_depl
18267  if (PSEUDO_MODE !=None)         : return mode_stat_acce
18268  if (FORCE_NODALE != None)       : return mode_stat_forc
18269  raise AsException("type de concept resultat non prevu")
18270 MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod,
18271                    fr="Calcul de modes statiques",
18272                    reentrant='n',
18273             UIinfo={"groupes":("Résolution",)},
18274          MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
18275          MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
18276                regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE'),),
18277          MODE_STAT       =FACT(statut='f',max='**',
18278            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
18279                    UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
18280            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
18281            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
18282            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
18283            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
18284            AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18285            SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18286          ),
18287          FORCE_NODALE    =FACT(statut='f',max='**',
18288            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
18289                    UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
18290            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",), ),
18291            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
18292            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
18293            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",), ),
18294            AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18295            SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18296          ),
18297          PSEUDO_MODE       =FACT(statut='f',max='**',
18298            regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),),
18299            AXE             =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3),
18300            DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3),
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            b_dir           =BLOC(condition = "DIRECTION != None",
18305              NOM_DIR         =SIMP(statut='f',typ='TXM' ),),
18306            b_cmp          =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None",
18307              regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
18308              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
18309              AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
18310              SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'), 
18311         ),
18312          ),
18313          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
18314          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
18315 )  ;
18316 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18317 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18318 # ======================================================================
18319 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18320 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18321 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18322 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18323 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18324 #
18325 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18326 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18327 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18328 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18329 #
18330 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18331 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18332 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18333 # ======================================================================
18334 MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca,
18335                       reentrant='f',
18336             UIinfo={"groupes":("Matrices/vecteurs",)},
18337 #  la commande modi_base _modale : reentrant = f ou o                      
18338          regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),),
18339          BASE            =SIMP(statut='o',typ=mode_meca ),
18340          BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu_sdaster ),
18341          NUME_VITE_FLUI  =SIMP(statut='o',typ='I' ),
18342          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18343          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
18344          AMOR_UNIF       =SIMP(statut='f',typ='R' ),
18345          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
18346          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
18347 )  ;
18348 #& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
18349 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18350 # ======================================================================
18351 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18352 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18353 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18354 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18355 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18356 #
18357 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18358 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18359 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18360 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18361 #
18362 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18363 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18364 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18365 # ======================================================================
18366 # RESPONSABLE G8BHHXD X.DESROCHES
18367 MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
18368                    fr="Modification de la connectivité de groupes de mailles 2D ou 3D affectées à la modélisation de contact",
18369                    reentrant='o',
18370             UIinfo={"groupes":("Maillage",)},
18371       regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18372                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
18373                        'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB8','SYMETRIE',
18374                        ),
18375               PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18376                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18377               PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D',
18378                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18379               PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D',
18380                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18381               PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA',
18382                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
18383               PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18384                        'PLAQ_TUBE','MODI_MAILLE',),
18385               PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18386                        'PLAQ_TUBE','MODI_MAILLE',),
18387               PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18388                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE',),
18389               PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
18390                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE',),
18391               EXCLUS('EQUE_PIQUA','PLAQ_TUBE'),
18392               EXCLUS('EQUE_PIQUA','TUBE_COUDE'),
18393               EXCLUS('ROTATION','MODI_BASE'),
18394               EXCLUS('SYMETRIE','ROTATION'),
18395               EXCLUS('SYMETRIE','TRANSLATION'),
18396               EXCLUS('SYMETRIE','MODI_BASE'),
18397               EXCLUS('SYMETRIE','ECHELLE'),
18398               ),
18399          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
18400
18401          ORIE_FISSURE    =FACT(statut='f',
18402            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18403          ),
18404
18405          DEFORME         =FACT(statut='f',
18406            OPTION          =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ),
18407            DEPL            =SIMP(statut='o',typ=cham_no_depl_r ),
18408         b_deform        =BLOC(condition = "OPTION=='TRAN_APPUI'", 
18409            GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),
18410            GROUP_NO_STRU  = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),),
18411          ),
18412
18413          EQUE_PIQUA      =FACT(statut='f',
18414            GROUP_NO        =SIMP(statut='o',typ=grno),
18415            E_BASE          =SIMP(statut='o',typ='R' ),
18416            DEXT_BASE       =SIMP(statut='o',typ='R' ),
18417            L_BASE          =SIMP(statut='o',typ='R' ),
18418            L_CHANF         =SIMP(statut='o',typ='R' ),
18419            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
18420            H_SOUD          =SIMP(statut='o',typ='R' ),
18421            ANGL_SOUD       =SIMP(statut='o',typ='R' ),
18422            JEU_SOUD        =SIMP(statut='o',typ='R' ),
18423            E_CORP          =SIMP(statut='o',typ='R' ),
18424            DEXT_CORP       =SIMP(statut='o',typ='R' ),
18425            AZIMUT          =SIMP(statut='o',typ='R' ),
18426            RAFF_MAIL       =SIMP(statut='o',typ='TXM' ),
18427            X_MAX           =SIMP(statut='o',typ='R' ),
18428          ),
18429          ORIE_PEAU_2D    =FACT(statut='f',max='**',
18430            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18431          ),
18432          ORIE_PEAU_3D    =FACT(statut='f',max='**',
18433            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18434          ),
18435          ORIE_SHB8       =FACT(statut='f',max=1,
18436            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18437          ),
18438          ORIE_NORM_COQUE =FACT(statut='f',max='**',
18439            regles=(EXCLUS('NOEUD','GROUP_NO'),
18440                    PRESENT_PRESENT('NOEUD','VECT_NORM'),
18441                    PRESENT_PRESENT('GROUP_NO','VECT_NORM'),),
18442            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
18443            VECT_NORM       =SIMP(statut='f',typ='R',max=3),
18444            NOEUD           =SIMP(statut='f',typ=no),
18445            GROUP_NO        =SIMP(statut='f',typ=grno),
18446          ),
18447          b_modele        =BLOC(condition = "(ORIE_PEAU_2D != None) or (ORIE_PEAU_3D != None) or(ORIE_NORM_COQUE != None)",
18448            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
18449          ),
18450          PLAQ_TUBE       =FACT(statut='f',
18451            DEXT            =SIMP(statut='o',typ='R' ),
18452            EPAIS           =SIMP(statut='o',typ='R' ),
18453            L_TUBE_P1       =SIMP(statut='o',typ='R' ),
18454            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),
18455            COUTURE         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",)  ),
18456          ),
18457          TUBE_COUDE      =FACT(statut='f',
18458            ANGLE           =SIMP(statut='o',typ='R' ),
18459            R_CINTR         =SIMP(statut='o',typ='R' ),
18460            L_TUBE_P1       =SIMP(statut='o',typ='R' ),
18461          ),
18462          MODI_MAILLE     =FACT(statut='f',max=1,
18463            regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),),
18464            OPTION          =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ),
18465            GROUP_MA_FOND   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1),
18466            MAILLE_FOND     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max=1),
18467            GROUP_NO_FOND   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
18468            NOEUD_FOND      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
18469          ),
18470          MODI_BASE       =FACT(statut='f',
18471            VECT_X          =SIMP(statut='o',typ='R',min=2,max=3),
18472            VECT_Y          =SIMP(statut='f',typ='R',min=2,max=3),
18473          ),
18474          ECHELLE         =SIMP(statut='f',typ='R',),        
18475          TRANSLATION     =SIMP(statut='f',typ='R',min=2,max=3),
18476          ROTATION        =FACT(statut='f',max='**',
18477            POIN_1           =SIMP(statut='o',typ='R',min=2,max=3),
18478            ANGL             =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
18479            regles=(EXCLUS('DIR','POIN_2'),),
18480            POIN_2           =SIMP(statut='f',typ='R',min=2,max=3),
18481            DIR              =SIMP(statut='f',typ='R',min=2,max=3),
18482          ),
18483          SYMETRIE        =FACT(statut='f',max='**',
18484                           fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.",
18485            POINT           =SIMP(statut='o',typ='R',min=2,max=3,
18486                             fr="Point appartenant à la droite ou au plan."),
18487            AXE_1           =SIMP(statut='o',typ='R',min=2,max=3,
18488                             fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."),
18489            AXE_2           =SIMP(statut='f',typ='R',min=3,max=3,
18490                             fr="2nd vecteur appartenant du plan."),
18491          ),
18492          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18493 )  ;
18494 #& MODIF COMMANDE  DATE 05/07/2004   AUTEUR GENIAUT S.GENIAUT 
18495 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18496 # ======================================================================
18497 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
18498 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
18499 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
18500 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
18501 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
18502 #                                                                       
18503 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
18504 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
18505 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
18506 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
18507 #                                                                       
18508 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
18509 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
18510 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
18511 # ======================================================================
18512
18513 MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f',
18514             UIinfo={"groupes":("Modélisation",)},
18515                fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes",
18516
18517     MODELE_IN       =SIMP(statut='o',typ=modele_sdaster,min=01,max=01,),
18518     FISSURE         =SIMP(statut='o',typ=fiss_xfem,min=01,max=01,),
18519     INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)),
18520
18521 )  ;
18522 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18523 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18524 # ======================================================================
18525 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18526 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18527 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18528 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18529 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18530 #
18531 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18532 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18533 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18534 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18535 #
18536 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18537 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18538 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18539 # ======================================================================
18540 MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=obstacle_sdaster,
18541                    fr=" ",reentrant='f',
18542             UIinfo={"groupes":("Modélisation",)},
18543       regles=(PRESENT_ABSENT('R_MOBILE','CRAYON'),
18544               PRESENT_PRESENT('V_USUR_TUBE','V_USUR_OBST'),),
18545          V_USUR_TUBE     =SIMP(statut='f',typ='R',max='**'),
18546          V_USUR_OBST     =SIMP(statut='f',typ='R',max='**'),
18547          TABL_USURE      =SIMP(statut='f',typ=tabl_post_usur),
18548          INST            =SIMP(statut='f',typ='R'),  
18549          OBSTACLE        =SIMP(statut='f',typ=obstacle_sdaster),
18550          GUIDE           =SIMP(statut='o',typ=obstacle_sdaster),
18551          CRAYON          =SIMP(statut='f',typ=obstacle_sdaster),
18552          R_MOBILE        =SIMP(statut='f',typ='R'),  
18553          PERCEMENT       =SIMP(statut='f',typ='R',defaut=1),  
18554          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
18555 )  ;
18556 #& MODIF COMMANDE  DATE 29/09/2005   AUTEUR CIBHHLV L.VIVAN 
18557 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18558 # ======================================================================
18559 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18560 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18561 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18562 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
18563 # (AT YOUR OPTION) ANY LATER VERSION.
18564 #
18565 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
18566 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
18567 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
18568 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
18569 #
18570 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
18571 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
18572 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
18573 # ======================================================================
18574 # RESPONSABLE JMBHH01 J.M.PROIX
18575 def modi_repere_prod(RESULTAT,**args):
18576   if AsType(RESULTAT) == evol_elas :    return evol_elas
18577   if AsType(RESULTAT) == evol_noli :    return evol_noli
18578   if AsType(RESULTAT) == evol_ther :    return evol_ther
18579   if AsType(RESULTAT) == dyna_trans :   return dyna_trans
18580   if AsType(RESULTAT) == dyna_harmo :   return dyna_harmo
18581   if AsType(RESULTAT) == mode_meca :    return mode_meca
18582   if AsType(RESULTAT) == mode_flamb :   return mode_flamb
18583   if AsType(RESULTAT) == mult_elas :    return mult_elas
18584   if AsType(RESULTAT) == base_modale  : return base_modale
18585   raise AsException("type de concept resultat non prevu")
18586
18587 MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='n',
18588             UIinfo={"groupes":("Résultats et champs",)},
18589                     fr="Impression des resultats dans un repere cylindrique",
18590          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca,
18591                                                evol_noli,mult_elas,
18592                                                evol_ther,base_modale,mode_flamb) ),
18593          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
18594                         'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),),
18595          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
18596          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18597          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18598          NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18599          NOM_CAS         =SIMP(statut='f',typ='TXM' ),
18600
18601          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18602          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18603          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
18604          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
18605
18606          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
18607          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
18608
18609          MODI_CHAM       =FACT(statut='o',max='**',
18610            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18611            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
18612            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18613            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
18614            TYPE_CHAM       =SIMP(statut='o',typ='TXM',
18615                                  into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),),
18616            NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
18617            b_vect_2d       =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
18618               NOM_CMP         =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
18619            b_vect_3d       =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
18620               NOM_CMP         =SIMP(statut='o',typ='TXM',min=3,max=3 ),),
18621            b_tors_3d       =BLOC(condition = "TYPE_CHAM=='TORS_3D'",
18622               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
18623            b_tens_2d       =BLOC(condition = "TYPE_CHAM=='TENS_2D'",
18624               NOM_CMP         =SIMP(statut='o',typ='TXM',min=4,max=4 ),),
18625            b_tens_3d       =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
18626               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
18627          ),
18628          DEFI_REPERE     =FACT(statut='o',
18629          regles=(UN_PARMI('ANGL_NAUT','ORIGINE'),),
18630            REPERE          =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR",
18631                                  into=("UTILISATEUR","CYLINDRIQUE"),),
18632            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
18633            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=3),
18634            AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),
18635          ),
18636          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
18637          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
18638 )  ;
18639 #& MODIF COMMANDE  DATE 11/08/2004   AUTEUR A3BHHAE H.ANDRIAMBOLOLONA 
18640 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18641 # ======================================================================
18642 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18643 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18644 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18645 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18646 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18647 #
18648 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18649 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18650 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18651 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18652 #
18653 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18654 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18655 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18656 # ======================================================================
18657 def norm_mode_prod(MODE,**args ):
18658   if AsType(MODE) == mode_meca   : return mode_meca
18659   if AsType(MODE) == mode_meca_c : return mode_meca_c
18660   if AsType(MODE) == mode_flamb  : return mode_flamb
18661   raise AsException("type de concept resultat non prevu")
18662
18663 NORM_MODE=OPER(nom="NORM_MODE",op=  37,sd_prod=norm_mode_prod,
18664                fr="Normalisation de modes propres",
18665                reentrant='f',
18666             UIinfo={"groupes":("Résolution",)},
18667          regles=(UN_PARMI('NORME','NOEUD','AVEC_CMP','SANS_CMP'),),
18668          MODE       =SIMP(statut='o',typ=(mode_meca,mode_flamb) ),
18669          NORME      =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...",
18670                           into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ),
18671          NOEUD      =SIMP(statut='f',typ=no, fr="Composante donnée d un noeud spécifié égale à 1"),
18672          b_noeud    =BLOC(condition = "NOEUD != None",
18673            NOM_CMP    =SIMP(statut='o',typ='TXM' ),
18674          ),
18675          AVEC_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18676          SANS_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18677          MASS_INER  =SIMP(statut='f',typ=tabl_mass_iner ),
18678          MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes",
18679            NOEUD      =SIMP(statut='o',typ=no,fr="Noeud ou sera imposé le signe"),
18680            NOM_CMP    =SIMP(statut='o',typ='TXM',fr="Composante du noeud ou sera imposé le signe" ),
18681            SIGNE      =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"),
18682                             fr="Choix du signe" ),
18683          ),
18684          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
18685                                fr="Liste des param\350tres de sensibilit\351.",
18686                                ang="List of sensitivity parameters",
18687          ),
18688          TITRE      =SIMP(statut='f',typ='TXM',max='**'),
18689          INFO       =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
18690 )  ;
18691 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18692 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18693 # ======================================================================
18694 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18695 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18696 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18697 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18698 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18699 #
18700 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18701 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18702 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18703 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18704 #
18705 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18706 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18707 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18708 # ======================================================================
18709 # RESPONSABLE VABHHTS J.PELLET
18710 NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n',
18711             UIinfo={"groupes":("Matrices/vecteurs",)},
18712               fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice",
18713                   regles=(UN_PARMI('MATR_RIGI','MODELE'),), 
18714          MATR_RIGI       =SIMP(statut='f',validators=NoRepeat(),max=100,
18715                                typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ),
18716          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
18717          b_modele        =BLOC(condition = "MODELE != None",
18718            CHARGE     =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),),
18719          ),
18720          METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
18721          b_mult_front    =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale",
18722            RENUM           =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ),
18723          ),
18724          b_ldlt          =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT",
18725            RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
18726          ),
18727          b_gcpc          =BLOC(condition="METHODE=='GCPC'",fr="paramètres associés à la méthode gradient conjugué",
18728            RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
18729          ),
18730          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
18731 )  ;
18732 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18733 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18734 # ======================================================================
18735 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18736 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18737 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18738 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18739 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18740 #
18741 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18742 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18743 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18744 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18745 #
18746 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18747 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18748 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18749 # ======================================================================
18750 NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene,
18751                    fr="Etablissement de la numérotation des ddl d un modèle établi en coordonnées généralisées",
18752                     reentrant='n',
18753             UIinfo={"groupes":("Matrices/vecteurs",)},
18754          regles=UN_PARMI('MODELE_GENE','BASE'),
18755          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
18756              b_modele_gene     =BLOC(condition = "MODELE_GENE != None",
18757                STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ),
18758                                     ),
18759          BASE     =SIMP(statut='f',typ=(mode_meca,mode_stat,base_modale,mode_gene ) ),
18760              b_base     =BLOC(condition = "BASE != None",
18761                STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("DIAG","PLEIN") ),
18762                NB_VECT     =SIMP(statut='f',typ='I',defaut= 9999 ),
18763                              ),
18764 )  ;
18765 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18766 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18767 # ======================================================================
18768 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18769 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18770 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18771 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18772 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18773 #
18774 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18775 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18776 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18777 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18778 #
18779 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18780 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18781 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18782 # ======================================================================
18783 POST_DYNA_ALEA=OPER(nom="POST_DYNA_ALEA",op= 132,sd_prod=tabl_post_alea,
18784                     fr="Traitements statistiques de résultats de type interspectre et impression sur fichiers",
18785                     reentrant='n',
18786             UIinfo={"groupes":("Post traitements",)},
18787          regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),),
18788          INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
18789          NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),  
18790          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
18791          NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**' ),
18792          NOEUD_I         =SIMP(statut='f',typ=no,max='**'),         
18793          OPTION          =SIMP(statut='f',typ='TXM',into=("DIAG",) ),
18794          b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None",
18795            NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**' ),   
18796          ),  
18797          b_noeud_i      =BLOC(condition = "NOEUD_I != None",
18798            NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
18799            NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**' ),  
18800            NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**' ),     
18801          ),  
18802          DEPASSEMENT     =FACT(statut='f',max='**',
18803            fr="Loi de dépassement d un seuil pendant une durée donnée",
18804            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18805            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18806            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18807            PAS             =SIMP(statut='f',typ='R' ),  
18808            DUREE           =SIMP(statut='f',typ='R',defaut= 1. ),  
18809          ),
18810          RAYLEIGH        =FACT(statut='f',max='**',
18811            fr="Densité de probabilité de pic positif, loi adaptée à des signaux à bande étroite",
18812            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18813            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18814            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18815            PAS             =SIMP(statut='f',typ='R' ),  
18816          ),
18817          GAUSS           =FACT(statut='f',max='**',
18818            fr="Densité de probabilité de pic positif, loi normale adaptée à des signaux large bande",
18819            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18820            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18821            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18822            PAS             =SIMP(statut='f',typ='R' ),  
18823          ),
18824          VANMARCKE       =FACT(statut='f',max='**',
18825            fr="Probabilité de non dépassement de seuil pendant une durée donnée (analyse sismique)",
18826            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
18827            VALE_MIN        =SIMP(statut='f',typ='R' ),  
18828            VALE_MAX        =SIMP(statut='f',typ='R' ),  
18829            PAS             =SIMP(statut='f',typ='R' ),  
18830            DUREE           =SIMP(statut='f',typ='R',defaut= 10. ),  
18831          ),
18832          MOMENT          =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux en complément des cinq premiers" ),  
18833          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
18834          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
18835 )  ;
18836 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18837 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18838 # ======================================================================
18839 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18840 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18841 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18842 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18843 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18844 #
18845 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18846 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18847 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18848 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18849 #
18850 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18851 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18852 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18853 # ======================================================================
18854 POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=tabl_post_dyna,
18855                       fr="Post-traitements en coordonnées généralisées issus de DYNA_TRAN_MODAL",
18856                       reentrant='n',
18857             UIinfo={"groupes":("Post traitements",)},
18858         regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),),
18859          RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
18860          CHOC            =FACT(statut='f',max='**',
18861                                fr="Analyse des non linéarités de choc",
18862            INST_INIT       =SIMP(statut='f',typ='R',defaut= -1. ),  
18863            INST_FIN        =SIMP(statut='f',typ='R',defaut= 999. ),  
18864            NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
18865            SEUIL_FORCE     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
18866            DUREE_REPOS     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
18867            OPTION          =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ),
18868            NB_CLASSE       =SIMP(statut='f',typ='I',defaut= 10 ),  
18869          ),
18870          RELA_EFFO_DEPL  =FACT(statut='f',
18871                                fr="Analyse des relationsnon linéaires effort-déplacement",
18872            NOEUD           =SIMP(statut='o',typ=no),
18873            NOM_CMP         =SIMP(statut='o',typ='TXM' ),  
18874          ),
18875          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
18876          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
18877 )  ;
18878 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
18879 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18880 # ======================================================================
18881 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18882 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18883 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18884 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18885 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18886 #
18887 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18888 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18889 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18890 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18891 #
18892 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18893 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18894 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18895 # ======================================================================
18896 # RESPONSABLE G8BHHXD X.DESROCHES
18897 def post_elem_prod( MASS_INER,ENER_POT,ENER_CIN,TRAV_EXT,WEIBULL,
18898                     CARA_GEOM,CARA_POUTRE,RICE_TRACEY,CHAR_LIMITE,
18899                     INDIC_ENER,INDIC_SEUIL,ENER_ELAS,ENER_TOTALE,
18900                     AIRE_INTERNE,**args ):
18901   if MASS_INER    != None  : return tabl_mass_iner
18902   if ENER_POT     != None  : return tabl_ener_pot
18903   if ENER_CIN     != None  : return tabl_ener_cin
18904   if TRAV_EXT     != None  : return tabl_trav_ext
18905   if WEIBULL      != None  : return tabl_weibull
18906   if CARA_GEOM    != None  : return tabl_cara_geom
18907   if CARA_POUTRE  != None  : return tabl_cara_geom
18908   if RICE_TRACEY  != None  : return tabl_rice_tracey
18909   if CHAR_LIMITE  != None  : return tabl_char_limite
18910   if INDIC_ENER   != None  : return tabl_indic_ener
18911   if INDIC_SEUIL  != None  : return tabl_indic_seuil
18912   if ENER_ELAS    != None  : return tabl_ener_elas
18913   if ENER_TOTALE  != None  : return tabl_ener_totale
18914   if AIRE_INTERNE != None  : return tabl_aire_int
18915   raise AsException("type de concept resultat_sdaster non prevu")
18916
18917 POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,reentrant='f',
18918             UIinfo={"groupes":("Post traitements",)},
18919                fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle",
18920
18921          regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT',
18922                           'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE',
18923                           'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL',
18924                           'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE'),
18925                 ),
18926
18927          MASS_INER      = FACT(statut='f',max='**',
18928                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18929                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18930                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18931                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18932                                ORIG_INER    = SIMP(statut='f',typ='R',min=3,max=3 ),
18933                               ),
18934          b_mass_iner = BLOC(condition = "( MASS_INER != None )",
18935                        fr="calcul de la masse, les inerties et le centre de gravité",
18936                        regles=(EXCLUS('CHAM_GD','RESULTAT'),
18937                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
18938                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
18939                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18940                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18941                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
18942                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18943                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
18944                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
18945                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18946                        GEOMETRIE      = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")),
18947                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
18948                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas,
18949                                                              fourier_elas,dyna_trans) ),
18950                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18951                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18952                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18953                        NUME_ORDRE     = SIMP(statut='f',typ='I',),
18954                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
18955                        INST           = SIMP(statut='f',typ='R',),
18956                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
18957                        FREQ           = SIMP(statut='f',typ='R',),
18958                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
18959                        NUME_MODE      = SIMP(statut='f',typ='I',),
18960                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2),
18961                        NOM_CAS        = SIMP(statut='f',typ='TXM',),
18962          ),
18963
18964          ENER_POT       = FACT(statut='f',max='**',
18965                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
18966                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18967                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
18968                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
18969                               ),
18970          b_ener_pot = BLOC(condition = "( ENER_POT  != None )",
18971                        fr="calcul de l'énergie potentielle de déformation",
18972                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
18973                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
18974                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
18975                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
18976                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
18977                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
18978                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
18979                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
18980                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
18981                        ANGLE          = SIMP(statut='f',typ='I',defaut=0),
18982                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
18983                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
18984                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ),
18985                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
18986                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18987                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
18988                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
18989                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
18990                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18991                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
18992                        FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
18993                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
18994                        NUME_MODE      = SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**'),
18995                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18996                        NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
18997          ),
18998
18999          ENER_CIN       = FACT(statut='f',max='**',
19000                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19001                                OPTION       = SIMP(statut='f',typ='TXM',
19002                                                    into=("MASS_MECA","MASS_MECA_DIAG"),
19003                                                    defaut="MASS_MECA" ),
19004                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19005                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19006                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19007                               ),
19008          b_ener_cin = BLOC(condition = "( ENER_CIN != None )",
19009                        fr="calcul de l'énergie cinétique",
19010                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
19011                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
19012                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
19013                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19014                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19015                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19016                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19017                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
19018                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
19019                        ANGLE          = SIMP(statut='f',typ='I',defaut=0),
19020                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19021                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
19022                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ),
19023                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19024                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19025                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19026                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19027                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19028                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19029                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19030                        FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19031                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
19032                        NUME_MODE      = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19033                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19034                        NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19035          ),
19036
19037          ENER_ELAS      = FACT(statut='f',max='**',
19038                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19039                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19040                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19041                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19042                               ),
19043          b_ener_elas = BLOC(condition = "( ENER_ELAS != None )",
19044                        fr="calcul de l'énergie de déformation élastique",
19045                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19046                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19047                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19048                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19049                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
19050                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
19051                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19052                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19053                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19054                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19055                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19056                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19057                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19058                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19059                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19060                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19061          ),
19062
19063          ENER_TOTALE    = FACT(statut='f',max='**',
19064                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19065                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19066                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19067                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19068                               ),
19069          b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )",
19070                        fr="calcul de l'énergie de déformation totale",
19071                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19072                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19073                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19074                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19075                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
19076                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
19077                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19078                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19079                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19080                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19081                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19082                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19083                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19084                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19085                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19086                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19087          ),
19088
19089          WEIBULL        = FACT(statut='f',max='**',
19090                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19091                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19092                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19093                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19094                                OPTION       = SIMP(statut='f',typ='TXM',
19095                                                    into=("SIGM_ELGA","SIGM_ELMOY"),
19096                                                    defaut="SIGM_ELGA"),
19097                                CORR_PLAST   = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
19098                                COEF_MULT    = SIMP(statut='f',typ='R',defaut=1.),
19099                               ),
19100          b_weibull = BLOC(condition = "( WEIBULL != None )",
19101                        fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull",
19102                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
19103                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19104                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19105                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19106                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19107                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19108                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
19109                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
19110                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19111                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
19112                        RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
19113                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19114                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19115                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19116                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19117                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19118                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19119                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19120          ),
19121
19122          RICE_TRACEY    = FACT(statut='f',max='**',
19123                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19124                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19125                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19126                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19127                                OPTION       = SIMP(statut='f',typ='TXM',
19128                                                    into=("SIGM_ELGA","SIGM_ELMOY"),
19129                                                    defaut="SIGM_ELGA"),
19130                                LOCAL        = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
19131                               ),
19132          b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )",
19133                        fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine",
19134                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
19135                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19136                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19137                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19138                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19139                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19140                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
19141                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
19142                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19143                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
19144                        RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
19145                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19146                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19147                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19148                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19149                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19150                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19151                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19152          ),
19153
19154          INDIC_ENER     = FACT(statut='f',max='**',
19155                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19156                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19157                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19158                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19159                               ),
19160          b_indic_ener = BLOC(condition = "( INDIC_ENER != None )",
19161                        fr="calcul un indicateur global de perte de proportionnalité du chargement",
19162                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19163                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19164                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19165                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19166                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19167                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19168                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19169                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19170                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19171                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19172                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19173                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19174                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19175          ),
19176
19177          INDIC_SEUIL    = FACT(statut='f',max='**',
19178                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19179                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19180                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19181                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19182                               ),
19183          b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )",
19184                        fr="calcul un indicateur global de perte de proportionnalité du chargement",
19185                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19186                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19187                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19188                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19189                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19190                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19191                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19192                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19193                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19194                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19195                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19196                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19197                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19198          ),
19199
19200          CHAR_LIMITE    = FACT(statut='f',min=0,
19201                                CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON")
19202                               ),
19203          b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )",
19204                        fr="post-traitement du calcul de la charge limite",
19205                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19206                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19207                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
19208                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19209                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19210                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
19211                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
19212                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19213                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19214                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19215                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19216                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
19217                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19218                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
19219          ),
19220
19221          CARA_GEOM      = FACT(statut='f',max='**',
19222                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19223                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19224                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19225                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19226                                SYME_X       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
19227                                SYME_Y       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
19228                                ORIG_INER    = SIMP(statut='f',typ='R',min=2,max=2),
19229                               ),
19230          b_cara_geom = BLOC(condition = "( CARA_GEOM != None )",
19231                        fr="calcul des caractéristiques géométriques d'un section de poutre",
19232                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19233                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19234                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19235                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19236          ),
19237
19238          CARA_POUTRE    = FACT(statut='f',max='**',
19239                                regles=(AU_MOINS_UN('TOUT','GROUP_MA'),
19240                                        ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),),
19241                                TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19242                                GROUP_MA      = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19243                                GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19244                                CARA_GEOM     = SIMP(statut='f',typ=tabl_cara_geom),
19245                                RT            = SIMP(statut='f',typ='R'),
19246                                LAPL_PHI      = SIMP(statut='f',typ=evol_ther),
19247                                LAPL_PHI_Y    = SIMP(statut='f',typ=evol_ther),
19248                                LAPL_PHI_Z    = SIMP(statut='f',typ=evol_ther),
19249                                LIAISON       = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")),
19250                                LONGUEUR      = SIMP(statut='f',typ='R'),
19251                                MATERIAU      = SIMP(statut='f',typ=mater_sdaster),
19252                                OPTION        = SIMP(statut='f',typ='TXM',
19253                                                     into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ),
19254                              ),
19255          b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )",
19256                        fr="calcul des caractéristiques mécaniques d'un section de poutre",
19257                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19258                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
19259                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
19260                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
19261          ),
19262
19263           AIRE_INTERNE   = FACT(statut='f',max='**',
19264                                 GROUP_MA_BORD  = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
19265                                ),
19266          b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )",
19267                        fr="calcul de l'aire d'un trou dans un maillage 2D",
19268                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
19269          ),
19270
19271          TRAV_EXT       = FACT(statut='f',),
19272          b_trav_ext = BLOC(condition = "( TRAV_EXT != None )",
19273                        fr="calcul du travail des efforts extérieurs",
19274                        RESULTAT       = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ),
19275                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
19276                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19277                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
19278          ),
19279
19280          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
19281          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19282
19283  )  ;
19284 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19285 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19286 # ======================================================================
19287 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19288 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19289 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19290 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19291 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19292 #
19293 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19294 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19295 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19296 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19297 #
19298 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19299 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19300 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19301 # ======================================================================
19302 POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=tabl_post_f_alea,reentrant='n',
19303             UIinfo={"groupes":("Post traitements",)},
19304                     fr="Calcul du dommage subi par une structure soumise à unesollicitation de type aléatoire",
19305          regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'),
19306                  PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'),
19307                  UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ),
19308          MOMENT_SPEC_0   =SIMP(statut='f',typ='R'),  
19309          MOMENT_SPEC_2   =SIMP(statut='f',typ='R'),  
19310          MOMENT_SPEC_4   =SIMP(statut='f',typ='R'),  
19311          TABL_POST_ALEA  =SIMP(statut='f',typ=tabl_post_alea),
19312          COMPTAGE        =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")),
19313          DUREE           =SIMP(statut='f',typ='R',defaut= 1.),  
19314          CORR_KE         =SIMP(statut='f',typ='TXM',into=("RCCM",)),
19315          DOMMAGE         =SIMP(statut='o',typ='TXM',into=("WOHLER",)),
19316          MATER           =SIMP(statut='o',typ=mater_sdaster),
19317          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
19318 )  ;
19319 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
19320 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19321 # ======================================================================
19322 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19323 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19324 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19325 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
19326 # (AT YOUR OPTION) ANY LATER VERSION.
19327 #
19328 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
19329 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
19330 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
19331 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
19332 #
19333 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
19334 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
19335 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19336 # ======================================================================
19337 POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=tabl_post_fatig,reentrant='n',
19338             UIinfo={"groupes":("Post traitements",)},
19339                   fr="Calcul du dommage subi par une structure soumise à une histoire de chargement",
19340
19341          CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","PERIODIQUE","QUELCONQUE")),
19342
19343          b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'",
19344                       regles=(PRESENT_PRESENT('CORR_KE','MATER'),
19345                               PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'),
19346                               PRESENT_PRESENT('DOMMAGE','MATER'),),
19347              HISTOIRE       = FACT(statut='o',
19348                                  regles=(UN_PARMI('SIGM','EPSI'),),
19349                                  SIGM  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19350                                  EPSI  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
19351              COMPTAGE       = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL")),
19352              DELTA_OSCI     = SIMP(statut='f',typ='R',defaut= 0.0E+0),
19353              COEF_MULT      = FACT(statut='f',
19354                                  KT    = SIMP(statut='o',typ='R'),),
19355              CORR_KE        = SIMP(statut='f',typ='TXM',into=("RCCM",)),
19356              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN",
19357                                                               "TAHERI_MANSON","TAHERI_MIXTE")),
19358              MATER          = SIMP(statut='f',typ=mater_sdaster),
19359              CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")),
19360              TAHERI_NAPPE   = SIMP(statut='f',typ=(nappe_sdaster,formule)),
19361              TAHERI_FONC    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19362              CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
19363          ),
19364
19365          b_periodique = BLOC( condition = "CHARGEMENT=='PERIODIQUE'",
19366              HISTOIRE       = FACT(statut='o',
19367                                  SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19368                                  SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19369                                  SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19370                                  SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19371                                  SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19372                                  SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
19373              CRITERE        = SIMP(statut='o',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")),
19374              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER",)),
19375              MATER          = SIMP(statut='o',typ=mater_sdaster),
19376              COEF_CORR      = SIMP(statut='f',typ='R'),
19377          ),
19378
19379          b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'",
19380              HISTOIRE       = FACT(statut='o',
19381                                  SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19382                                  SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19383                                  SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19384                                  SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19385                                  SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19386                                  SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19387                                  EPSP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19388                                  TEMP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),),
19389              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),),
19390              MATER          = SIMP(statut='o',typ=mater_sdaster),
19391              CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
19392          ),
19393
19394          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19395          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
19396 )  ;
19397 #& MODIF COMMANDE  DATE 03/02/2005   AUTEUR GALENNE E.GALENNE 
19398 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19399 # ======================================================================
19400 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19401 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19402 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19403 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19404 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19405 #
19406 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19407 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19408 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19409 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19410 #
19411 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19412 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19413 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19414 # ======================================================================
19415 # RESPONSABLE GALENNE E.GALENNE
19416
19417 POST_K1_K2_K3=OPER(nom="POST_K1_K2_K3",op=188,sd_prod=tabl_post_k,
19418                    fr="Calcul des FIC par extrapolation du champ de déplacements sur les lèvres de la fissure",
19419                    reentrant='n',
19420             UIinfo={"groupes":("Post traitements",)},
19421
19422            regles=(UN_PARMI('RESULTAT','TABL_DEPL_SUP'),
19423                    PRESENT_PRESENT('RESULTAT','FOND_FISS'),),
19424
19425          MODELISATION  =SIMP(statut='o',typ='TXM',
19426                              into=("3D","AXIS","D_PLAN","C_PLAN"),
19427                              fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"),
19428          FOND_FISS     =SIMP(statut='f',typ=fond_fiss),
19429          b_fond_fiss   =BLOC (condition="(FOND_FISS!= None)",
19430                          MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
19431                          NOEUD         = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19432                          GROUP_NO      = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19433                          SANS_NOEUD    = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19434                          SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19435                          TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) )
19436                          ),
19437          MATER         =SIMP(statut='o',typ=mater_sdaster,
19438                              fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"),
19439          RESULTAT      =SIMP(statut='f',typ=(evol_elas,evol_noli),
19440                              fr="Table déplacement des noeuds de la lèvre supérieure et inférieure"),
19441          TABL_DEPL_SUP =SIMP(statut='f',typ=tabl_post_rele,
19442                              fr="Table issue de post_releve_t sur les noeuds de la lèvre supérieure"),
19443          TABL_DEPL_INF =SIMP(statut='f',typ=tabl_post_rele,
19444                              fr="Table issue de post_releve_t sur les noeuds de la lèvre inférieure"),
19445          ABSC_CURV_MAXI=SIMP(statut='f',typ='R',
19446                              fr="distance maximum à partir du fond de fissure à utiliser pour le calcul"),  
19447          PREC_VIS_A_VIS= SIMP(statut='f',typ='R',defaut=0.1),
19448          TOUT_ORDRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19449          NUME_ORDRE    =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19450          LIST_ORDRE    =SIMP(statut='f',typ=listis_sdaster),
19451          INST          =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19452          LIST_INST     =SIMP(statut='f',typ=listr8_sdaster),
19453              b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
19454                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
19455                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
19456              ),
19457          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","SANS") ),
19458          INFO          =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19459          VECT_K1       =SIMP(statut='o',typ='R',max=3,
19460                              fr="Vecteur normal au plan de fissure, orienté de la lèvre inférieure vers la lèvre supérieure"),  
19461          TITRE         =SIMP(statut='f',typ='TXM',max='**'),  
19462 )  ;
19463 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19464 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19465 # ======================================================================
19466 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
19467 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19468 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19469 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19470 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19471 #
19472 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19473 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19474 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19475 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19476 #
19477 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19478 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19479 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19480 #                                                                       
19481 #                                                                       
19482 # ======================================================================
19483 #
19484 POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=tabl_post_beta,
19485                    fr="Calcul des FIC par la méthode K_BETA",
19486                    reentrant='n',
19487             UIinfo={"groupes":("Post traitements",)},
19488          MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
19489          MATER_REV     = SIMP(statut='o',typ=mater_sdaster),
19490          EPAIS_REV     = SIMP(statut='o',typ='R'),
19491          FISSURE       = FACT(statut='o',
19492             DECALAGE       = SIMP(statut='f',typ='R',defaut=-2.e-04),
19493             PROFONDEUR     = SIMP(statut='o',typ='R'),
19494             LONGUEUR       = SIMP(statut='o',typ='R'),
19495             ORIENTATION    = SIMP(statut='o',typ='TXM',
19496                                  into=("CIRC","LONGI"),),
19497          ),
19498          K1D           = FACT(statut='o',max='**',
19499             TABL_MECA_REV  = SIMP(statut='o',typ=(tabl_post_rele)),
19500             TABL_MECA_MDB  = SIMP(statut='o',typ=(tabl_post_rele)),
19501             TABL_THER      = SIMP(statut='o',typ=(tabl_post_rele)),
19502             INTITULE       = SIMP(statut='o',typ='TXM' ), 
19503          ),
19504          TITRE         = SIMP(statut='f',typ='TXM',max='**'),  
19505 );
19506 #& MODIF COMMANDE  DATE 01/04/2005   AUTEUR CIBHHLV L.VIVAN 
19507 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19508 # ======================================================================
19509 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19510 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19511 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19512 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19513 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19514 #
19515 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19516 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19517 # MERCHANTABILITY OR FITNESS FOR A PARTIC               
19518 #
19519 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19520 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19521 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19522 # ======================================================================
19523 # RESPONSABLE JMBHH01 J.M.PROIX
19524 POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=tabl_post_rccm,
19525                fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)",
19526                reentrant='n',
19527             UIinfo={"groupes":("Post traitements",)},
19528          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ),
19529          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
19530          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
19531          TYPE_RESU_MECA  =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ),
19532
19533 # ======================================================================
19534      b_evolution  =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')",
19535
19536          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
19537                                into=("PM_PB","SN","FATIGUE_ZH210") ),
19538          MATER           =SIMP(statut='o',typ=mater_sdaster ),
19539          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster),
19540          SEGMENT         =FACT(statut='o',max='**',fr="Segment sur lequel s effectue le depouillement",
19541            regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'),
19542                    EXCLUS('CHEMIN','GROUP_NO'),
19543                    EXCLUS('CHEMIN','NOEUD'),),
19544            INTITULE        =SIMP(statut='f',typ='TXM' ),
19545            CHEMIN          =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster),),
19546            NOEUD           =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),
19547            GROUP_NO        =SIMP(statut='f',typ=grno),
19548              b_acce_noeud     =BLOC(condition="(NOEUD != None)or(GROUP_NO != None)",
19549                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
19550                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
19551                                    ),
19552                                ),
19553          TRANSITOIRE     =FACT(statut='o',max='**',fr="transitoire à dépouiller",
19554            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
19555            RESULTAT        =SIMP(statut='o',typ=(evol_elas,evol_noli) ),
19556            RESU_SIGM_THER  =SIMP(statut='f',typ=(evol_elas,evol_noli),fr="résultat sous chargement thermique seul" ),
19557            NB_OCCUR        =SIMP(statut='f',typ='I',defaut= 1,fr="nombre d occurences réelles de ce transitoire" ),
19558            NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("SIEF_ELNO_ELGA","SIGM_ELNO_DEPL") ),
19559            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19560            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19561            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
19562            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19563            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
19564            b_inst          =BLOC(condition = "(INST != None) or (LIST_INST != None)" ,
19565              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
19566              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
19567                                  ), 
19568                              ),
19569          ),
19570
19571 # ======================================================================
19572      b_unitaire  =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')",
19573
19574          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
19575                                into=("PM_PB","SN","FATIGUE") ),
19576          MATER           =SIMP(statut='o',typ=mater_sdaster ),
19577          TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
19578                                fr="Ke meca seul ou partition mecanique + thermique" ),
19579          CHAR_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
19580            NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
19581            NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
19582            TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
19583            FX            =SIMP(statut='f',typ='R',fr="effort suivant x", ),
19584            FY            =SIMP(statut='f',typ='R',fr="effort suivant y", ),
19585            FZ            =SIMP(statut='f',typ='R',fr="effort suivant z", ),
19586            MX            =SIMP(statut='o',typ='R',fr="moment suivant x", ),
19587            MY            =SIMP(statut='o',typ='R',fr="moment suivant y", ),
19588            MZ            =SIMP(statut='o',typ='R',fr="moment suivant z", ),
19589                          ),
19590          RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires",
19591            TABL_FX       =SIMP(statut='f',typ=table_sdaster,
19592                               fr="table relevé des contraintes pour chargement unitaire FX"),
19593            TABL_FY       =SIMP(statut='f',typ=table_sdaster,
19594                               fr="table relevé des contraintes pour chargement unitaire FY"),
19595            TABL_FZ       =SIMP(statut='f',typ=table_sdaster,
19596                               fr="table relevé des contraintes pour chargement unitaire FZ"),
19597            TABL_MX       =SIMP(statut='o',typ=table_sdaster,
19598                               fr="table relevé des contraintes pour chargement unitaire MX"),
19599            TABL_MY       =SIMP(statut='o',typ=table_sdaster,
19600                               fr="table relevé des contraintes pour chargement unitaire MY"),
19601            TABL_MZ       =SIMP(statut='o',typ=table_sdaster,
19602                               fr="table relevé des contraintes pour chargement unitaire MZ"),
19603            TABL_PRES     =SIMP(statut='o',typ=table_sdaster,
19604                               fr="table relevé des contraintes pour chargement unitaire de pression"),
19605                          ),
19606           RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
19607            NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
19608            TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
19609                               fr="table relevé des contraintes sous chargement thermique seul" ),
19610                            ),
19611          SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
19612               NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
19613               NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
19614               NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
19615               NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
19616               COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
19617               NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ),
19618               NUME_PASSAGE     =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ),
19619               NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
19620               CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
19621               CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
19622               PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
19623               PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
19624               TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
19625               TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
19626                                ),
19627                       ),
19628 # ======================================================================
19629      b_tuyauterie  =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')",
19630
19631          OPTION          =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ),
19632          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
19633          TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
19634                                fr="Ke meca seul ou partition mecanique + thermique" ),
19635          MODELE          =SIMP(statut='o',typ=modele_sdaster),
19636          CARA_ELEM       =SIMP(statut='o',typ=cara_elem),
19637          ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés",
19638             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19639             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19640             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19641             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19642             ),
19643          RESU_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
19644            regles=(UN_PARMI('CHAM_GD','RESULTAT'),),
19645            NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
19646            NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
19647            TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
19648            CHAM_GD         =SIMP(statut='f',typ=cham_gd_sdaster),
19649            RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
19650            b_extrac        =BLOC(condition="RESULTAT != None",
19651                                  fr="extraction d un champ de grandeur",
19652              regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),),
19653              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO_DEPL","SIEF_ELNO_ELGA"),),
19654              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19655              NUME_ORDRE      =SIMP(statut='f',typ='I',),
19656              INST            =SIMP(statut='f',typ='R',),
19657              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19658              b_acce_reel     =BLOC(condition="(INST != None)",
19659                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
19660                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), ),
19661              ),
19662            ),
19663                           ),
19664          INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes",
19665             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19666             C1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"),
19667             K1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"),
19668             C2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"),
19669             K2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"),
19670             C3              =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"),
19671             K3              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"),
19672             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),),
19673             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
19674                              fr="groupe(s) de mailles ou sont affectés les indices de contraintes"),
19675             MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',
19676                              fr="liste des mailles ou sont affectés les indices de contraintes"),
19677             b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
19678                GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19679                NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19680             ),
19681             TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"),
19682                               fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"),
19683                          ),
19684           RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
19685             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
19686             NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
19687             TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
19688                               fr="table relevé des températures sur la section"),
19689             TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster,
19690                               fr="table relevé des moyennes sur la section"),
19691             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19692             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19693             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19694             b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
19695                GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19696                NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19697             ),
19698                            ),
19699          SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
19700               NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
19701               NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
19702               NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
19703               NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
19704               COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
19705               NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ),
19706               NUME_PASSAGE     =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ),
19707               NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
19708               CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
19709               CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
19710               PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
19711               PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
19712               TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
19713               TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
19714                                ),
19715                ),
19716 )  ;
19717 #& MODIF COMMANDE  DATE 07/10/2004   AUTEUR GNICOLAS G.NICOLAS 
19718 # ======================================================================
19719 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19720 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19721 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19722 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19723 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19724 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19725 #
19726 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19727 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19728 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19729 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19730 #
19731 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19732 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19733 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19734 # ======================================================================
19735 # RESPONSABLE G8BHHXD X.DESROCHES
19736 POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,reentrant='f',
19737             UIinfo={"groupes":("Post traitements",)},
19738          ACTION          =FACT(statut='o',max='**',
19739            regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'),
19740                    EXCLUS('CHEMIN','GROUP_NO'),
19741                    EXCLUS('CHEMIN','NOEUD'),
19742                    PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'),
19743                    UN_PARMI('RESULTAT','CHAM_GD'),            
19744                    UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'),
19745                    PRESENT_PRESENT('TRAC_DIR','DIRECTION'),          
19746                    ENSEMBLE('MOMENT','POINT'),
19747                    PRESENT_PRESENT('MOMENT','RESULTANTE'),
19748                    PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'),
19749                    EXCLUS('TRAC_DIR','TRAC_NOR'),
19750                    PRESENT_PRESENT('ORIGINE','AXE_Z'),),
19751            INTITULE        =SIMP(statut='o',typ='TXM'),  
19752            CHEMIN          =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ),
19753            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19754            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19755            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19756            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19757            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19758            FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")),
19759            CHAM_GD         =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r,cham_no_var2_r,
19760                                                  cham_elem_sief_r,cham_elem_epsi_r,cham_elem_flux_r,cham_elem_crit_r,
19761                                                  cham_elem_ener_r,cham_elem_dbel_r,cham_elem_pres_r,cham_elem_erreur,
19762                                                  cham_elem_vari_r,cham_no_depl_c,cham_no_temp_c,cham_no_pres_c,
19763                                                  cham_elem_sief_c,cham_elem_epsi_c,cham_no_facy_r)),
19764            RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_ther,evol_noli,dyna_trans,
19765                                                  mode_meca,mode_flamb,mode_acou,base_modale,mode_stat,
19766                                                  mult_elas,fourier_elas,dyna_harmo,acou_harmo)),
19767            b_sensibilite   =BLOC(condition="RESULTAT != None",
19768                                  fr="Définition des paramètres de sensibilité",
19769                                  ang="Definition of sensitivity parameters",
19770              SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
19771                                    fr="Liste des paramètres de sensibilité.",
19772                                    ang="List of sensitivity parameters"),),
19773
19774            b_extrac        =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
19775              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE',         
19776                             'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ),           
19777              NOM_CHAM        =SIMP(statut='o',typ='TXM' ),  
19778              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19779              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
19780              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
19781              NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
19782              LIST_MODE       =SIMP(statut='f',typ=listis_sdaster),
19783              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19784              NOM_CAS         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),  
19785              FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
19786              LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
19787              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
19788              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
19789              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
19790              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
19791            ),
19792            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",)),
19793            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),  
19794            INVARIANT       =SIMP(statut='f',typ='TXM',into=("OUI",)),
19795            ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19796            RESULTANTE      =SIMP(statut='f',typ='TXM',max='**'),  
19797            MOMENT          =SIMP(statut='f',typ='TXM',max='**'),  
19798            POINT           =SIMP(statut='f',typ='R',max='**'),  
19799
19800            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
19801                                  into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
19802            ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),  
19803            ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
19804            AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),  
19805
19806            TRAC_NOR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
19807            TRAC_DIR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
19808            DIRECTION       =SIMP(statut='f',typ='R',max='**'),  
19809  
19810            VECT_Y          =SIMP(statut='f',typ='R',max='**'),  
19811            MOYE_NOEUD      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
19812            OPERATION       =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE"),validators=NoRepeat(),max=2),
19813          ),
19814          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19815          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
19816 )  ;
19817 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19818 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19819 # ======================================================================
19820 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19821 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19822 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19823 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19824 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19825 #
19826 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19827 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19828 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19829 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19830 #
19831 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19832 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19833 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19834 # ======================================================================
19835 POST_SIMPLIFIE=OPER(nom="POST_SIMPLIFIE",op=185,sd_prod=tabl_post_simpli,
19836                     fr=" ",reentrant='n',
19837             UIinfo={"groupes":("Outils métier",)},
19838          MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
19839          DEF_EQUI        =FACT(statut='f',
19840            METHODE         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="UTO_2_3",
19841                                  into=("UTO_2_3",) ),
19842            EPAIS           =SIMP(statut='o',typ='R'),  
19843            LONG_FISS       =SIMP(statut='o',typ='R'),  
19844            LONG_LIGA_INT   =SIMP(statut='o',typ='R'),  
19845            DEXT            =SIMP(statut='o',typ='R'),  
19846            TEMP_ANALYSE    =SIMP(statut='f',typ='R'),  
19847          ),
19848 )  ;
19849 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
19850 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19851 # ======================================================================
19852 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19853 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19854 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19855 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19856 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19857 #
19858 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19859 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19860 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19861 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19862 #
19863 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19864 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19865 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19866 # ======================================================================
19867 POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,reentrant='f',
19868             UIinfo={"groupes":("Post traitements",)},
19869                 fr="Calcul des volumes d'usure et des profondeurs d'usure",
19870          regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'),
19871                  PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'),
19872                  PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),),
19873          TUBE_NEUF       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19874          ETAT_INIT       =FACT(statut='f',
19875            TABL_USURE      =SIMP(statut='f',typ=tabl_post_usur),
19876            INST_INIT       =SIMP(statut='f',typ='R'),  
19877                          ),
19878          RESU_GENE       =SIMP(statut='f',typ=tran_gene),
19879          NOEUD           =SIMP(statut='f',typ=no,),
19880          INST_INIT       =SIMP(statut='f',typ='R',defaut=-1.0E+0),  
19881          INST_FIN        =SIMP(statut='f',typ='R'),  
19882          NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
19883          PUIS_USURE      =SIMP(statut='f',typ='R'),  
19884          LOI_USURE       =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")),
19885          b_archard       =BLOC(condition = "LOI_USURE == 'ARCHARD'",
19886            regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'), 
19887                    EXCLUS('MATER_USURE','OBSTACLE'),
19888                    EXCLUS('MOBILE','USURE_OBST'),),
19889            MOBILE          =FACT(statut='f',
19890              COEF_USURE      =SIMP(statut='o',typ='R'), 
19891            ),   
19892            OBSTACLE        =FACT(statut='f',
19893              COEF_USURE      =SIMP(statut='o',typ='R'), 
19894            ),
19895            SECTEUR         =FACT(statut='f',max='**',
19896              CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",  
19897                                                               "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", 
19898                                                               "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
19899              COEF_USUR_MOBILE=SIMP(statut='f',typ='R'),  
19900              COEF_USUR_OBST  =SIMP(statut='f',typ='R'),  
19901              ANGL_INIT       =SIMP(statut='f',typ='R'),  
19902              ANGL_FIN        =SIMP(statut='f',typ='R'),  
19903            ),
19904            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
19905            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
19906          ),
19907          b_kwu_epri        =BLOC(condition = "LOI_USURE == 'KWU_EPRI'",
19908            regles=(UN_PARMI('MOBILE','MATER_USURE'), 
19909                    EXCLUS('MATER_USURE','OBSTACLE'),
19910                    EXCLUS('MOBILE','USURE_OBST'),),
19911            MOBILE          =FACT(statut='f',
19912              COEF_FNOR       =SIMP(statut='f',typ='R'),  
19913              COEF_VTAN       =SIMP(statut='f',typ='R'),  
19914              COEF_USURE      =SIMP(statut='f',typ='R'),  
19915              COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
19916              COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
19917            ),   
19918            OBSTACLE        =FACT(statut='f',
19919              COEF_FNOR       =SIMP(statut='f',typ='R' ),  
19920              COEF_VTAN       =SIMP(statut='f',typ='R' ),  
19921              COEF_USURE      =SIMP(statut='o',typ='R'), 
19922              COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
19923              COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
19924            ),   
19925            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
19926            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
19927            FNOR_MAXI       =SIMP(statut='f',typ='R' ),  
19928            VTAN_MAXI       =SIMP(statut='f',typ='R' ),  
19929          ),
19930          b_edf_mz          =BLOC(condition = "LOI_USURE == 'EDF_MZ'",
19931            regles=(UN_PARMI('MOBILE','MATER_USURE'), 
19932                    EXCLUS('MATER_USURE','OBSTACLE'),
19933                    EXCLUS('MOBILE','USURE_OBST'),),
19934            MOBILE          =FACT(statut='f',
19935              COEF_USURE      =SIMP(statut='f',typ='R',defaut=1.0E-13),  
19936              COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
19937              COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
19938              COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
19939            ),   
19940            OBSTACLE        =FACT(statut='f',
19941              COEF_USURE      =SIMP(statut='o',typ='R',defaut=1.0E-13), 
19942              COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
19943              COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
19944              COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
19945            ),   
19946            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
19947            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
19948          ),
19949          b_tube_neuf       =BLOC(condition = "TUBE_NEUF == 'OUI'",
19950             TABL_USURE      =SIMP(statut='o',typ=tabl_post_usur),
19951             INST            =SIMP(statut='f',typ='R'),
19952          ),
19953          CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",    
19954                                                           "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE",        
19955                                                           "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
19956          RAYON_MOBILE    =SIMP(statut='f',typ='R'),  
19957          RAYON_OBST      =SIMP(statut='f',typ='R'),  
19958          LARGEUR_OBST    =SIMP(statut='f',typ='R'),  
19959          ANGL_INCLI      =SIMP(statut='f',typ='R'),  
19960          ANGL_ISTHME     =SIMP(statut='f',typ='R'),  
19961          ANGL_IMPACT     =SIMP(statut='f',typ='R'),  
19962          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
19963          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
19964          COEF_INST       =SIMP(statut='f',typ='R',defaut=1.0E+0),  
19965          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19966          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
19967 )  ;
19968 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
19969 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19970 # ======================================================================
19971 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19972 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19973 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19974 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19975 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19976 #
19977 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19978 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19979 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19980 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19981 #
19982 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19983 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19984 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19985 # ======================================================================
19986 POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,reentrant='n',
19987             UIinfo={"groupes":("Post traitements",)},
19988               fr="Donne l'état adapté ou accommodé d'une structure sous chargement cyclique élastique affine ou non",
19989          MODELE          =SIMP(statut='o',typ=modele_sdaster),
19990          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
19991          EXCIT           =FACT(statut='o',max='**',
19992            CHARGE          =SIMP(statut='o',typ=char_meca),
19993            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19994            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",into=("FIXE_CSTE",)),
19995          ),
19996          EVOL_ELAS       =SIMP(statut='o',typ=evol_elas),
19997          b_evol_elas     =BLOC(condition="EVOL_ELAS != None",
19998            regles=(UN_PARMI('NUME_ORDRE','LIST_INST','INST'),),
19999            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
20000            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
20001            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
20002          ),
20003          TEMP_ZAC        =SIMP(statut='f',typ='R',defaut=0.0E+0),  
20004          EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
20005          b_evol_noli     =BLOC(condition="EVOL_NOLI != None",
20006            INST_MAX        =SIMP(statut='o',typ='R'),  
20007          ),
20008          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),  
20009          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20010
20011 )  ;
20012 #& MODIF COMMANDE  DATE 30/01/2006   AUTEUR D6BHHJP J.P.LEFEBVRE 
20013 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20014 # ======================================================================
20015 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20016 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20017 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20018 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20019 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20020 #
20021 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20022 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20023 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20024 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20025 #
20026 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20027 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20028 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20029 # ======================================================================
20030 POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',fr="Poursuite d une étude",
20031                 sd_prod = ops.POURSUITE,
20032             UIinfo={"groupes":("Gestion du travail",)},
20033                 op_init = ops.POURSUITE_context,fichier_ini = 1,
20034          FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
20035                                typ='TXM',defaut="NON",into=("OUI","NON",) ), 
20036          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
20037                            into=("OUI","NON"),defaut="OUI"),
20038          BASE            =FACT(fr="définition des parmètres associés aux bases JEVEUX",
20039                                statut='f',min=1,max=3,
20040            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM'),
20041            TITRE           =SIMP(statut='f',typ='TXM'),
20042            CAS             =SIMP(statut='f',typ='TXM'),
20043            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
20044            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
20045            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
20046          ),
20047          IMPRESSION      =FACT(statut='f',min=1,max=3,
20048            FICHIER         =SIMP(statut='o',typ='TXM'),
20049            UNITE           =SIMP(statut='o',typ='I'),
20050          ),
20051          CATALOGUE       =FACT(statut='f',min=1,max=10,
20052            FICHIER         =SIMP(statut='o',typ='TXM'),
20053            TITRE           =SIMP(statut='f',typ='TXM'),
20054            UNITE           =SIMP(statut='f',typ='I'),
20055          ),
20056          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
20057                                statut='f',min=1,max=1,
20058            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
20059                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
20060            JEVEUX          =SIMP(fr="force les déchargement sur disque",
20061                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
20062            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
20063                                  statut='f',typ='TXM',into=('TEST',)),
20064          ),
20065          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
20066            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
20067            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
20068            TAILLE          =SIMP(statut='f',typ='I'),
20069            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
20070            PARTITION       =SIMP(statut='f',typ='R' ),
20071          ),
20072          CODE            =FACT("définition d un nom pour l'esemble d'une étude",
20073                                statut='f',min=1,max=1,
20074            NOM             =SIMP(statut='o',typ='TXM'),
20075            UNITE           =SIMP(statut='f',typ='I',defaut=15),
20076          ),
20077 )  ;
20078 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20079 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20080 # ======================================================================
20081 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20082 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20083 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20084 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20085 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20086 #
20087 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20088 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20089 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20090 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20091 #
20092 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20093 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20094 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20095 # ======================================================================
20096 PRE_GIBI=PROC(nom="PRE_GIBI",op=49,
20097             UIinfo={"groupes":("Gestion du travail",)},
20098               fr="Conversion d un fichier de maillage GIBI",
20099          UNITE_GIBI      =SIMP(statut='f',typ='I',defaut=19),  
20100          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
20101 )  ;
20102 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20103 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20104 # ======================================================================
20105 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20106 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20107 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20108 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20109 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20110 #
20111 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20112 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20113 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20114 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20115 #
20116 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20117 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20118 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20119 # ======================================================================
20120
20121 PRE_GMSH=PROC(nom="PRE_GMSH",op=47,
20122             UIinfo={"groupes":("Gestion du travail",)},
20123                fr="Conversion d un fichier universel GMSH au format Aster",
20124          UNITE_GMSH      =SIMP(statut='f',typ='I',defaut=19),  
20125          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
20126 )  ;
20127 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20128 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20129 # ======================================================================
20130 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20131 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20132 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20133 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20134 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20135 #
20136 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20137 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20138 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20139 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20140 #
20141 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20142 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20143 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20144 # ======================================================================
20145 PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47,
20146             UIinfo={"groupes":("Gestion du travail",)},
20147                fr="Conversion d un fichier universel IDEAS-SUPERTAB au format Aster",
20148          UNITE_IDEAS     =SIMP(statut='f',typ='I',defaut=19),  
20149          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
20150          CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
20151 )  ;
20152 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20153 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20154 # ======================================================================
20155 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20156 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20157 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20158 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20159 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20160 #
20161 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20162 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20163 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20164 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20165 #
20166 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20167 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20168 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20169 # ======================================================================
20170 def prod_matr_cham_prod(MATR_ASSE,**args):
20171   if AsType(MATR_ASSE) == matr_asse_depl_r : return cham_no_depl_r
20172   if AsType(MATR_ASSE) == matr_asse_depl_c : return cham_no_depl_c
20173   if AsType(MATR_ASSE) == matr_asse_temp_r : return cham_no_temp_r
20174   if AsType(MATR_ASSE) == matr_asse_pres_c : return cham_no_pres_c
20175   raise AsException("type de concept resultat non prevu")
20176
20177 PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=prod_matr_cham_prod,
20178                     fr="Effectuer le produit d une matrice par un vecteur",
20179                     reentrant='n',
20180             UIinfo={"groupes":("Résultats et champs",)},
20181          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ),
20182          CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_temp_r,cham_no_pres_c ) ),
20183          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
20184 )  ;
20185 #& MODIF COMMANDE  DATE 29/09/2004   AUTEUR MJBHHPE J.L.FLEJOU 
20186 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20187 # ======================================================================
20188 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20189 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20190 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20191 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20192 # (AT YOUR OPTION) ANY LATER VERSION.
20193 #
20194 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20195 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20196 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20197 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20198 #
20199 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20200 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20201 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20202 # ======================================================================
20203 # RESPONSABLE VABHHTS J.PELLET
20204 def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ):
20205     if AsType(RESULTAT)     == evol_ther      : return evol_ther
20206     if AsType(RESULTAT)     == evol_elas      : return evol_elas
20207     if AsType(RESULTAT)     == evol_noli      : return evol_noli
20208     if AsType(RESULTAT)     == evol_char      : return evol_char
20209     if AsType(CHAM_NO_REFE) == cham_no_depl_r : return cham_no_depl_r
20210     if AsType(CHAM_NO_REFE) == cham_no_depl_c : return cham_no_depl_c
20211     if AsType(CHAM_NO_REFE) == cham_no_pres_c : return cham_no_pres_c
20212     if AsType(CHAM_NO_REFE) == cham_no_temp_r : return cham_no_temp_r
20213     if AsType(CHAM_NO_REFE) == cham_no_epsi_r : return cham_no_epsi_r
20214     if AsType(CHAM_NO_REFE) == cham_no_sief_r : return cham_no_sief_r
20215     if AsType(CHAM_NO_REFE) == cham_no_flux_r : return cham_no_flux_r
20216     raise AsException("type de concept resultat non prevu")
20217
20218 PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
20219             UIinfo={"groupes":("Résultats et champs",)},
20220                 fr="Projection d'un champ aux noeuds sur les noeuds d'un autre maillage",
20221 #
20222          METHODE         =SIMP(statut='f',typ='TXM',defaut="ELEM",
20223                                into=("NUAGE_DEG_0","NUAGE_DEG_1","ELEM",) ),
20224          b_nuage         =BLOC(condition="(METHODE=='NUAGE_DEG_1') or (METHODE=='NUAGE_DEG_0')",
20225                                fr="Lissage d'un nuage de points",
20226            CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,cham_no_temp_r,
20227                                                  cham_no_epsi_r,cham_no_sief_r,cham_no_flux_r)),
20228            CHAM_NO_REFE    =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,cham_no_temp_r,
20229                                                  cham_no_epsi_r,cham_no_sief_r,cham_no_flux_r)),
20230          ),
20231          b_elem          =BLOC(condition="METHODE=='ELEM'",
20232                               fr="Utilisation des fonctions de forme du maillage initial",
20233            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'),
20234                    EXCLUS('TOUT_CHAM','NOM_CHAM',), ),
20235            RESULTAT        =SIMP(statut='o',typ=(evol_ther,evol_elas,evol_noli,evol_char) ),
20236            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
20237                                fr="Liste des paramètres de sensibilité.",
20238                                ang="List of sensitivity parameters",),
20239            MODELE_1        =SIMP(statut='o',typ=modele_sdaster),
20240            MODELE_2        =SIMP(statut='o',typ=modele_sdaster),
20241
20242            TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20243            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
20244
20245            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20246            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
20247            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
20248            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
20249            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
20250            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
20251            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
20252            DISTANCE_MAX    =SIMP(statut='f',typ='R',max=1,
20253             fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."),
20254          ),
20255
20256          VIS_A_VIS       =FACT(statut='f',max='**',
20257            regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
20258                    AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
20259            TOUT_1          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20260            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20261            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20262            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20263            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20264            TOUT_2          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20265            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20266            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20267            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20268            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20269          ),
20270
20271          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
20272          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
20273 )  ;
20274 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20275 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20276 # ======================================================================
20277 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20278 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20279 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20280 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20281 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20282 #
20283 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20284 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20285 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20286 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20287 #
20288 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20289 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20290 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20291 # ======================================================================
20292 def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args):
20293   if AsType(MATR_ASSE) == matr_asse_depl_r  : return matr_asse_gene_r
20294   if AsType(MATR_ASSE_GENE) == matr_asse_gene_r  : return matr_asse_gene_r
20295   if AsType(MATR_ASSE) == matr_asse_depl_c  : return matr_asse_gene_c
20296   if AsType(MATR_ASSE_GENE) == matr_asse_gene_c  : return matr_asse_gene_c
20297   raise AsException("type de concept resultat non prevu")
20298
20299 PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op=  71,sd_prod=matr_asse_gene_prod,
20300                     fr="Projection d une matrice assemblée sur une base (modale ou de RITZ)",
20301                     reentrant='n',
20302             UIinfo={"groupes":("Matrices/vecteurs",)},
20303          regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),),            
20304          BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
20305          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
20306          MATR_ASSE       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ),
20307          MATR_ASSE_GENE  =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ),
20308 )  ;
20309
20310 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
20311 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20312 # ======================================================================
20313 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20314 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20315 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20316 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20317 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20318 #
20319 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20320 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20321 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20322 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20323 #
20324 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20325 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20326 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20327 # ======================================================================
20328 def proj_mesu_modal_prod(MODELE_MESURE,**args):
20329      vale=MODELE_MESURE['NOM_PARA']
20330      if  vale == 'INST'   : return tran_gene
20331      if  vale == 'FREQ'   : return harm_gene
20332      if  vale == 'DEFORMEE'   : return mode_gene
20333      raise AsException("type de concept resultat non prevu")
20334
20335 PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193,
20336                      sd_prod=proj_mesu_modal_prod,
20337                      reentrant='n',
20338             UIinfo={"groupes":("Résultats et champs",)},
20339                      fr="Calcul de coordonnees generalisees de mesure experimentale relatives a une base de projection",
20340
20341          MODELE_CALCUL   =FACT(statut='o',
20342            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
20343            BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,) ),
20344                          ),
20345          MODELE_MESURE   =FACT(statut='o',
20346            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
20347            MESURE          =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,) ),
20348            NOM_PARA        =SIMP(statut='f',typ='TXM',defaut="INST",into=("INST","FREQ","DEFORMEE",),),
20349            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ),
20350                          ),
20351          CORR_MANU       =FACT(statut='f',max='**',
20352            regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),),
20353            NOEU_CALCUL     =SIMP(statut='f',typ=no),
20354            NOEU_MESURE     =SIMP(statut='f',typ=no),
20355                          ),
20356          RESOLUTION      =FACT(statut='f',
20357            METHODE         =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ),
20358            b_svd =BLOC(condition="METHODE=='SVD'",
20359                        EPS=SIMP(statut='f',typ='R',defaut=0. ),
20360                       ),
20361            REGUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ),
20362            b_regul =BLOC(condition="REGUL!='NON'",
20363                          regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),),
20364                          COEF_PONDER   =SIMP(statut='f',typ='R',defaut=0.     ,max='**' ),  
20365                          COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
20366                         ),
20367              ),
20368
20369           ); 
20370 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20371 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20372 # ======================================================================
20373 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20374 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20375 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20376 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20377 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20378 #
20379 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20380 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20381 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20382 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20383 #
20384 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20385 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20386 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20387 # ======================================================================
20388 PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=tabl_intsp,reentrant='n',
20389             UIinfo={"groupes":("Matrices/vecteurs",)},
20390                     fr="Projection d un ou plusieurs spectres de turbulenc sur un ensemble de bases modales ",
20391       regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'),
20392               ENSEMBLE('FREQ_INIT','FREQ_FIN','NB_POIN'),),
20393          SPEC_TURB       =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ),
20394          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
20395          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
20396          CHAM_NO         =SIMP(statut='f',typ=cham_no_depl_r ),
20397          FREQ_INIT       =SIMP(statut='f',typ='R',val_min=0.E+0 ),  
20398          FREQ_FIN        =SIMP(statut='f',typ='R',val_min=0.E+0 ),  
20399          NB_POIN         =SIMP(statut='f',typ='I' ),  
20400          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")),
20401          GROUP_MA        =SIMP(statut='f',typ=grma),
20402 #  Quel est le type attendu derriere  MODELE_INTERFACE         
20403          MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster),
20404          VECT_X          =SIMP(statut='f',typ='R',min=3,max=3 ),  
20405          VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3 ),  
20406          ORIG_AXE        =SIMP(statut='f',typ='R',min=3,max=3 ),  
20407          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
20408 )  ;
20409 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20410 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20411 # ======================================================================
20412 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20413 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20414 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20415 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20416 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20417 #
20418 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20419 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20420 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20421 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20422 #
20423 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20424 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20425 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20426 # ======================================================================
20427 PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op=  72,sd_prod=vect_asse_gene,
20428                     fr="Projection d un vecteur assemblé sur une base (modale ou de RITZ)",
20429                     reentrant='n',
20430             UIinfo={"groupes":("Matrices/vecteurs",)},
20431          regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),),              
20432          BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
20433          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
20434          TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
20435          VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
20436          VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
20437 )  ;
20438 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20439 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20440 # ======================================================================
20441 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20442 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20443 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20444 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20445 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20446 #
20447 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20448 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20449 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20450 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20451 #
20452 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20453 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20454 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20455 # ======================================================================
20456 RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=tabl_reca_weib,
20457                      fr=" ",reentrant='n',
20458             UIinfo={"groupes":("Post traitements",)},
20459          LIST_PARA       =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ),
20460          RESU            =FACT(statut='o',max='**',
20461            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',),
20462                    AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),),
20463            EVOL_NOLI       =SIMP(statut='o',typ=(evol_noli) ),
20464            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
20465            CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
20466            TEMPE           =SIMP(statut='f',typ='R' ),
20467            LIST_INST_RUPT  =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
20468            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20469            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
20470            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
20471            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
20472            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20473            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20474            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20475            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.E0 ),
20476                          ),
20477          OPTION          =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ),
20478          CORR_PLAST      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
20479          METHODE         =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ),
20480          INCO_GLOB_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
20481          ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
20482          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
20483                        )  ;
20484 #& MODIF COMMANDE  DATE 10/10/2005   AUTEUR MCOURTOI M.COURTOIS 
20485 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20486 # ======================================================================
20487 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20488 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20489 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20490 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20491 # (AT YOUR OPTION) ANY LATER VERSION.
20492 #
20493 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20494 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20495 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20496 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20497 #
20498 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20499 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20500 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20501 # ======================================================================
20502 # RESPONSABLE MCOURTOI M.COURTOIS
20503 def recu_fonction_prod(RESULTAT=None,TABLE=None,OBSTACLE=None,
20504                        RESU_GENE=None,BASE_ELAS_FLUI=None,CHAM_GD=None,
20505                        TYPE_RESU=None,**args):
20506   if AsType(RESULTAT) == dyna_harmo : return fonction_c
20507 #  On ne sait pas interpreter les deux conditions suivantes
20508   if TABLE != None :
20509      if TYPE_RESU != None :
20510         if TYPE_RESU == "FONCTION_C" : return fonction_c
20511         if TYPE_RESU == "FONCTION"   : return fonction_sdaster
20512      else:
20513         return fonction_sdaster
20514   if RESU_GENE      != None         : return fonction_sdaster
20515   if BASE_ELAS_FLUI != None         : return fonction_sdaster
20516   if RESULTAT       != None         : return fonction_sdaster
20517   if CHAM_GD        != None         : return fonction_sdaster
20518   if OBSTACLE       != None         : return fonction_sdaster
20519   raise AsException("type de concept resultat non prevu")
20520
20521 RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod,
20522                    fr="Extraire sous forme d une fonction, l évolution temporelle d une composante d un champ ou d une table",
20523                    reentrant='n',
20524             UIinfo={"groupes":("Fonction",)},
20525          regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','OBSTACLE'),),
20526
20527          CHAM_GD         =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r,cham_elem_sief_r,
20528                                                cham_elem_vari_r,cham_elem_epsi_r,cham_elem_flux_r,
20529                                                cham_elem_pres_r,) ),
20530          RESULTAT        =SIMP(statut='f',typ=(evol_elas,dyna_trans,evol_noli,evol_ther,dyna_harmo ) ),
20531          RESU_GENE       =SIMP(statut='f',typ=tran_gene),
20532 #  concept table à créer
20533          TABLE           =SIMP(statut='f',typ=table_sdaster),
20534          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster),
20535          OBSTACLE        =SIMP(statut='f',typ=obstacle_sdaster),
20536
20537          b_tran_gene = BLOC ( condition = "RESU_GENE != None",
20538                               fr="Récupération de la fonction concernant les chocs à partir d un concept TRAN_GENE",
20539             regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),
20540                     EXCLUS('MULT_APPUI','CORR_STAT'),),
20541              MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20542              CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20543              ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20544              PARA_X          =SIMP(statut='f',typ='TXM' ),
20545              PARA_Y          =SIMP(statut='f',typ='TXM' ),
20546              SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
20547              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
20548              INTITULE        =SIMP(statut='f',typ='TXM' ),
20549          ),
20550          b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None",
20551                                    fr="Récupération de la fonction à partir d un concept melasflu",
20552            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),),
20553            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20554            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20555            NUME_MODE       =SIMP(statut='o',typ='I' ),
20556            PARA_X          =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ),
20557            PARA_Y          =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ),
20558          ),
20559          b_table = BLOC ( condition = "TABLE != None",fr="Récupération de la fonction à partir d un concept table",
20560            regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'),
20561                    PRESENT_PRESENT('PARA_X','PARA_Y'),),
20562            PARA_X          =SIMP(statut='f',typ='TXM',
20563                                  fr="1ère colonne de la table qui définit la fonction à récupérer", ),
20564            PARA_Y          =SIMP(statut='f',typ='TXM',
20565                                  fr="2ème colonne de la table qui définit la fonction à récupérer", ),
20566            NOM_PARA_TABL   =SIMP(statut='f',typ='TXM',into=("FONCTION",),
20567                                  fr="Nom du paramètre de la table à qui est associé la fonction" ),
20568            b_nom_para_tabl = BLOC (condition = "NOM_PARA_TABL != None",
20569              TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="FONCTION",into=("FONCTION","FONCTION_C") ),
20570            ),
20571
20572            FILTRE          =FACT(statut='f',max='**',
20573               NOM_PARA        =SIMP(statut='o',typ='TXM' ),
20574               CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
20575                                     into=("EQ","LT","GT","NE","LE","GE","VIDE",
20576                                           "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
20577               b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
20578                  regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
20579                  VALE            =SIMP(statut='f',typ='R' ),
20580                  VALE_I          =SIMP(statut='f',typ='I' ),
20581                  VALE_C          =SIMP(statut='f',typ='C' ),
20582                  VALE_K          =SIMP(statut='f',typ='TXM' ),),
20583
20584               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20585               PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20586            ),
20587          ),
20588 # RESULTAT
20589          b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT",
20590            regles=(
20591 #    A voir par Mathieu Courtois : il existe de tests (SDNX300B) qui ne satisfont pas ce UN_PARMI
20592 #           UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','TOUT_INST','LIST_INST','FREQ','LIST_FREQ'),
20593                    AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC','NOM_PARA_RESU'),
20594                    PRESENT_PRESENT('MAILLE','NOM_CMP'),
20595                    PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
20596                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
20597                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
20598                    PRESENT_PRESENT('POINT','NOM_CMP'),
20599                    EXCLUS('POINT','NOEUD'),
20600                    EXCLUS('GROUP_MA','MAILLE'),
20601                    EXCLUS('GROUP_NO','NOEUD'),
20602                    EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),
20603                    UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
20604            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
20605            NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
20606            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20607            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20608            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
20609            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20610            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20611            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
20612            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20613            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
20614            b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
20615              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20616              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20617              INTERP_NUME     =SIMP(statut='f',typ='TXM',into=("NON","LIN") ),
20618            ),
20619            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
20620
20621            MAILLE          =SIMP(statut='f',typ=ma),
20622            GROUP_MA        =SIMP(statut='f',typ=grma),
20623            NOEUD           =SIMP(statut='f',typ=no),
20624            GROUP_NO        =SIMP(statut='f',typ=grno),
20625            POINT           =SIMP(statut='f',typ='I' ),
20626            SOUS_POINT      =SIMP(statut='f',typ='I' ),
20627            NOEUD_CHOC      =SIMP(statut='f',typ=no),
20628            GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
20629          ),
20630 # RESU_GENE
20631          b_resu_gene = BLOC ( condition = "RESU_GENE != None", fr="Opérandes en cas de RESU_GENE",
20632 #    A voir par Mathieu Courtois : il existe de tests (SDNX300B) qui ne satisfont pas ce UN_PARMI
20633 #           regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','TOUT_INST','LIST_INST','FREQ','LIST_FREQ'),),
20634            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ),
20635            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20636            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20637            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
20638            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20639            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20640            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
20641            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20642            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
20643            b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
20644              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20645              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20646              INTERP_NUME     =SIMP(statut='f',typ='TXM',into=("NON","LIN") ),
20647            ),
20648            b_local_cham = BLOC ( condition = "NOM_CHAM!='PTEM'", fr="Opérandes de localisation du champ",
20649              regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'),
20650                      PRESENT_PRESENT('MAILLE','NOM_CMP'),
20651                      PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
20652                      PRESENT_PRESENT('NOEUD','NOM_CMP'),
20653                      PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
20654                      PRESENT_PRESENT('POINT','NOM_CMP'),
20655                      EXCLUS('POINT','NOEUD'),
20656                      EXCLUS('GROUP_MA','MAILLE'),
20657                      EXCLUS('GROUP_NO','NOEUD'),
20658                      EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),),
20659              NOM_CMP         =SIMP(statut='f',typ='TXM' ),
20660
20661              MAILLE          =SIMP(statut='f',typ=ma),
20662              GROUP_MA        =SIMP(statut='f',typ=grma),
20663              NOEUD           =SIMP(statut='f',typ=no),
20664              GROUP_NO        =SIMP(statut='f',typ=grno),
20665              POINT           =SIMP(statut='f',typ='I' ),
20666              SOUS_POINT      =SIMP(statut='f',typ='I' ),
20667              NOEUD_CHOC      =SIMP(statut='f',typ=no),
20668              GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
20669            ),
20670          ),
20671 # CHAM_GD
20672          b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD",
20673
20674            regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'),
20675                    PRESENT_PRESENT('MAILLE','NOM_CMP'),
20676                    PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
20677                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
20678                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
20679                    PRESENT_PRESENT('POINT','NOM_CMP'),
20680                    EXCLUS('POINT','NOEUD'),
20681                    EXCLUS('GROUP_MA','MAILLE'),
20682                    EXCLUS('GROUP_NO','NOEUD'),
20683                    EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),),
20684            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
20685
20686            MAILLE          =SIMP(statut='f',typ=ma),
20687            GROUP_MA        =SIMP(statut='f',typ=grma),
20688            NOEUD           =SIMP(statut='f',typ=no),
20689            GROUP_NO        =SIMP(statut='f',typ=grno),
20690            POINT           =SIMP(statut='f',typ='I' ),
20691            SOUS_POINT      =SIMP(statut='f',typ='I' ),
20692            NOEUD_CHOC      =SIMP(statut='f',typ=no),
20693            GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
20694          ),
20695          b_obstacle = BLOC ( condition = "OBSTACLE != None",
20696                               fr="Choix du repère",
20697             REPERE          =SIMP(statut='f',typ='TXM',into=("POLAIRE","GLOBAL") ),
20698          ),
20699 ###
20700          NOM_PARA        =SIMP(statut='f',typ='TXM',),
20701          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
20702          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
20703          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
20704          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
20705
20706          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
20707          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
20708 )  ;
20709 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20710 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20711 # ======================================================================
20712 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20713 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20714 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20715 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20716 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20717 #
20718 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20719 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20720 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20721 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20722 #
20723 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20724 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20725 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20726 # ======================================================================
20727 RECU_GENE=OPER(nom="RECU_GENE",op=  76,sd_prod=vect_asse_gene,reentrant='n',
20728             UIinfo={"groupes":("Résultats et champs",)},
20729                fr="Récupération d un champ de grandeur à partir d un résultat en coordonnées généralisées",
20730          RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
20731          INST            =SIMP(statut='o',typ='R' ),
20732          NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE") ),
20733          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
20734          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF" ,into=("ABSOLU","RELATIF") ),
20735          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20736 )  ;
20737 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20738 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20739 # ======================================================================
20740 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20741 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20742 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20743 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20744 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20745 #
20746 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20747 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20748 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20749 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20750 #
20751 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20752 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20753 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20754 # ======================================================================
20755 # RESPONSABLE VABHHTS J.PELLET
20756 RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster,
20757                 fr=" ",reentrant='n',
20758             UIinfo={"groupes":("Résultats et champs",)},
20759          CO              =SIMP(statut='o',typ=assd),
20760          regles=(UN_PARMI('NOM_TABLE','NOM_PARA')),
20761          NOM_TABLE       =SIMP(statut='f',typ='TXM' ),
20762          NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),  
20763          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
20764 )  ;
20765 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20766 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20767 # ======================================================================
20768 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20769 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20770 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20771 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20772 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20773 #
20774 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20775 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20776 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20777 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20778 #
20779 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20780 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20781 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20782 # ======================================================================
20783 def reso_grad_prod(MATR_ASSE,**args ):
20784   if AsType(MATR_ASSE) == matr_asse_depl_r : return cham_no_depl_r
20785   if AsType(MATR_ASSE) == matr_asse_temp_r : return cham_no_temp_r
20786   if AsType(MATR_ASSE) == matr_asse_pres_r : return cham_no_pres_r
20787   raise AsException("type de concept resultat non prevu")
20788
20789 RESO_GRAD=OPER(nom="RESO_GRAD",op=  84,sd_prod=reso_grad_prod,
20790                fr="Résolution par la méthode du gradient conjugué préconditionné",
20791                reentrant='f',
20792             UIinfo={"groupes":("Résolution",)},
20793          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
20794          CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r ) ),
20795          CHAM_CINE       =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r ) ),
20796          MATR_FACT       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
20797          NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),  
20798          REPRISE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
20799          RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1E-6 ),  
20800          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
20801 )  ;
20802 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20803 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20804 # ======================================================================
20805 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20806 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20807 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20808 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20809 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20810 #
20811 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20812 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20813 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20814 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20815 #
20816 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20817 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20818 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20819 # ======================================================================
20820 # RESPONSABLE VABHHTS J.PELLET
20821 def reso_ldlt_prod(CHAM_NO,**args ):
20822   if AsType(CHAM_NO) == cham_no_temp_r : return cham_no_temp_r
20823   if AsType(CHAM_NO) == cham_no_depl_r : return cham_no_depl_r
20824   if AsType(CHAM_NO) == cham_no_pres_r : return cham_no_pres_r
20825   if AsType(CHAM_NO) == cham_no_temp_c : return cham_no_temp_c
20826   if AsType(CHAM_NO) == cham_no_depl_c : return cham_no_depl_c
20827   if AsType(CHAM_NO) == cham_no_pres_c : return cham_no_pres_c
20828   raise AsException("type de concept resultat non prevu")
20829
20830 RESO_LDLT=OPER(nom="RESO_LDLT",op=15,sd_prod=reso_ldlt_prod,reentrant='f',
20831                fr="Résolution en place ou hors place d un système factorisé",
20832             UIinfo={"groupes":("Résolution",)},
20833          MATR_FACT       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
20834                                                matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
20835          CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r,
20836                                                cham_no_temp_c,cham_no_depl_c,cham_no_pres_c) ),
20837          CHAM_CINE       =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_c) ),
20838          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
20839          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
20840 )  ;
20841 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
20842 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20843 # ======================================================================
20844 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20845 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20846 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20847 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20848 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20849 #
20850 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20851 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20852 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20853 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20854 #
20855 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20856 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20857 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20858 # ======================================================================
20859 # RESPONSABLE BOYERE E.BOYERE
20860 def rest_base_phys_prod(RESU_GENE,RESULTAT,**args ):
20861   if AsType(RESU_GENE) == tran_gene : return dyna_trans
20862   if AsType(RESU_GENE) == mode_gene : return mode_meca
20863   if AsType(RESU_GENE) == mode_cycl : return mode_meca
20864   if AsType(RESU_GENE) == harm_gene : return dyna_harmo
20865   if AsType(RESULTAT)  == mode_meca : return mode_meca
20866   raise AsException("type de concept resultat non prevu")
20867
20868 REST_BASE_PHYS=OPER(nom="REST_BASE_PHYS",op=  75,sd_prod=rest_base_phys_prod,
20869                     fr="Restituer dans la base physique des résultats en coordonnées généralisées",
20870                     reentrant='n',
20871             UIinfo={"groupes":("Matrices/vecteurs",)},
20872         regles=(UN_PARMI('RESU_GENE','RESULTAT'),
20873                 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'),
20874                 EXCLUS('TOUT_INST','NUME_ORDRE','INST','LIST_INST','TOUT_ORDRE'),
20875 #  Doc U à revoir
20876                 EXCLUS('MULT_APPUI','CORR_STAT'),
20877                 EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'),
20878                 EXCLUS('CORR_STAT','NOEUD','GROUP_NO'),             
20879                 EXCLUS('NOEUD','GROUP_NO'), 
20880                 PRESENT_PRESENT('RESULTAT','SQUELETTE'),
20881                 PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),),
20882          RESU_GENE       =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene ) ),
20883          RESULTAT        =SIMP(statut='f',typ=mode_meca ),
20884          
20885          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
20886          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20887          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
20888          TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20889          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
20890          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
20891          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
20892          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
20893          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
20894          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
20895          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
20896          MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20897          CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20898          NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",   
20899                                into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
20900                                      "SIGM_ELNO_DEPL","FORC_NODA",) ),
20901          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20902          GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20903          NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20904  
20905          ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
20906          DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3 ),
20907
20908          SQUELETTE       =SIMP(statut='f',typ=squelette ),
20909          SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),  
20910          SECTEUR         =SIMP(statut='f',typ='I',defaut= 1 ),  
20911          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
20912 )  ;
20913 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
20914 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20915 # ======================================================================
20916 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20917 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20918 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20919 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20920 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20921 #
20922 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20923 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20924 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20925 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20926 #
20927 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20928 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20929 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20930 # ======================================================================
20931 REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=tabl_intsp,
20932                     reentrant='n',
20933             UIinfo={"groupes":("Matrices/vecteurs",)},
20934          regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),),
20935          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
20936          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
20937          BANDE           =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2    ),  
20938          NUME_ORDRE      =SIMP(statut='f',typ='I'      ,validators=NoRepeat(),max='**' ),  
20939          INTE_SPEC_GENE  =SIMP(statut='o',typ=tabl_intsp ),
20940          NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
20941          MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
20942          NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
20943          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7,    
20944                                into=("DEPL","VITE","ACCE","EFGE_ELNO_DEPL",
20945                                      "SIPO_ELNO_DEPL","SIGM_ELNO_DEPL","FORC_NODA") ),
20946          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc), ),
20947          EXCIT           =FACT(statut='f',
20948            NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
20949            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
20950          ),
20951          MOUVEMENT       =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ),
20952          OPTION          =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG",    
20953                                into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ),
20954          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
20955 )  ;
20956 #& MODIF COMMANDE  DATE 09/11/2005   AUTEUR ASSIRE A.ASSIRE 
20957 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20958 # ======================================================================
20959 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
20960 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
20961 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
20962 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
20963 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
20964 #                                                                       
20965 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
20966 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
20967 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
20968 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
20969 #                                                                       
20970 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
20971 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
20972 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
20973 # ======================================================================
20974
20975 from Macro.stanley_ops import stanley_ops
20976
20977 STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None,
20978                        reentrant='n',
20979               UIinfo={"groupes":("Outils métier",)},
20980                        fr="Outil de post-traitement interactif Stanley ",
20981          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) ),
20982          MODELE          =SIMP(statut='f',typ=modele_sdaster),
20983          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
20984          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
20985          DISPLAY         =SIMP(statut='f',typ='TXM'),
20986 )  ;
20987 #& MODIF COMMANDE  DATE 09/11/2004   AUTEUR NICOLAS O.NICOLAS 
20988 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20989 # ======================================================================
20990 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20991 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20992 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20993 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20994 # (AT YOUR OPTION) ANY LATER VERSION.
20995 #
20996 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20997 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20998 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20999 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21000 #
21001 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21002 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21003 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21004 # ======================================================================
21005 # RESPONSABLE PBADEL P.BADEL
21006 STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
21007                    fr="Analyse mécanique statique non linéaire",
21008                    reentrant='f',
21009             UIinfo={"groupes":("Résolution",)},
21010          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'),),
21011          MODELE          =SIMP(statut='o',typ=modele_sdaster),
21012          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
21013          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
21014          EXCIT           =FACT(statut='o',max='**',
21015            CHARGE          =SIMP(statut='o',typ=char_meca),
21016            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21017            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
21018                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
21019          ),
21020          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
21021                 regles=(UN_PARMI('TOUT','MAILLE'),),
21022                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
21023                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21024                 MAILLE      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
21025               ),
21026          VARI_COMM           =FACT(statut='f',
21027            regles=(AU_MOINS_UN('IRRA','CORROSION'),),
21028            IRRA       =SIMP(statut='f',typ=evol_varc),
21029            CORROSION  =SIMP(statut='f',typ=carte_corr_r),
21030          ),
21031          COMP_INCR       =C_COMP_INCR(),
21032          COMP_ELAS       =FACT(statut='f',max='**',
21033            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
21034                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
21035                                        "ELAS_POUTRE_GR","CABLE")),
21036            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
21037            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
21038            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
21039            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
21040            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
21041            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
21042       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
21043            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21044            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
21045            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21046          ),
21047          b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
21048            ETAT_INIT       =FACT(statut='o',
21049              regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
21050                      EXCLUS('EVOL_NOLI','DEPL',),
21051                      EXCLUS('EVOL_NOLI','SIGM',),
21052                      EXCLUS('EVOL_NOLI','VARI',),
21053                      EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
21054                      EXCLUS('NUME_ORDRE','INST'), ),
21055              DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
21056              SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
21057              VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
21058              VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
21059              EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
21060              NUME_ORDRE      =SIMP(statut='f',typ='I'),
21061              INST            =SIMP(statut='f',typ='R'),
21062              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21063              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21064              NUME_DIDI       =SIMP(statut='f',typ='I'),
21065              INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
21066          ),),
21067          b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
21068            ETAT_INIT       =FACT(statut='f',
21069              regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
21070                      EXCLUS('EVOL_NOLI','DEPL',),
21071                      EXCLUS('EVOL_NOLI','SIGM',),
21072                      EXCLUS('EVOL_NOLI','VARI',),
21073                      EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
21074                      EXCLUS('NUME_ORDRE','INST'), ),
21075              DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
21076              SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
21077              VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
21078              VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
21079              EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
21080              NUME_ORDRE      =SIMP(statut='f',typ='I'),
21081              INST            =SIMP(statut='f',typ='R'),
21082              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21083              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21084              NUME_DIDI       =SIMP(statut='f',typ='I'),
21085              INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
21086          ),),
21087          INCREMENT       =FACT(statut='o',
21088            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
21089                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
21090            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
21091            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
21092                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
21093            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
21094            INST_INIT       =SIMP(statut='f',typ='R'),
21095            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
21096            INST_FIN        =SIMP(statut='f',typ='R'),
21097            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
21098            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),
21099            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),
21100            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),
21101            OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
21102            NOM_CHAM        =SIMP(statut='f',typ='TXM',),
21103            NOM_CMP         =SIMP(statut='f',typ='TXM',),
21104            VALE            =SIMP(statut='f',typ='R'),
21105          ),
21106          NEWTON          =FACT(statut='d',
21107            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
21108            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
21109            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
21110            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
21111            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
21112            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
21113            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
21114          ),
21115          RECH_LINEAIRE   =FACT(statut='f',
21116            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
21117            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
21118            ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
21119            PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
21120            RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
21121            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
21122            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2),
21123          ),
21124          PILOTAGE        =FACT(statut='f',
21125            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
21126            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
21127            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
21128            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
21129            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
21130            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
21131            ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
21132            PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
21133            SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
21134            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21135            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
21136            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
21137            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
21138            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
21139            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
21140                          ),
21141          CONVERGENCE     =FACT(statut='d',
21142            regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
21143            SIGM_REFE       =SIMP(statut='f',typ='R'),
21144            EPSI_REFE       =SIMP(statut='f',typ='R'),
21145            FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
21146            FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
21147            FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),
21148            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
21149            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
21150            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
21151            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
21152            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
21153            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
21154            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
21155                                 ,defaut= 1.0E-6),
21156            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
21157            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
21158            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
21159                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
21160          ),
21161          PARM_THETA      =SIMP(statut='f',typ='R'
21162                               ,defaut= 1. ),
21163          SOLVEUR         =FACT(statut='d',
21164            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21165            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
21166              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21167            ),
21168            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
21169              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21170            ),
21171            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21172                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
21173              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21174              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
21175            ),
21176            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
21177              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21178              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21179              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21180              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21181              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21182            ),
21183            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21184          ),
21185          ARCHIVAGE       =FACT(statut='f',
21186            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
21187                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
21188            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
21189            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
21190            PAS_ARCH        =SIMP(statut='f',typ='I' ),
21191            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
21192            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
21193            NUME_INIT       =SIMP(statut='f',typ='I'),
21194            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
21195            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA",
21196                                                                      "VARI_NON_LOCAL","LANL_ELGA")),
21197          ),
21198          OBSERVATION     =FACT(statut='f',max='**',
21199            regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),
21200                    PRESENT_PRESENT('MAILLE','POINT'),),
21201            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA",
21202                                               "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU")),
21203            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
21204            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
21205            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
21206            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
21207            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21208            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21209            PAS_OBSE        =SIMP(statut='f',typ='I'),
21210            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
21211            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21212            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21213            POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
21214          ),
21215          CRIT_FLAMB     =FACT(statut='f',min=1,max=1,
21216            NB_FREQ         =SIMP(statut='f',typ='I',max=1,defaut=3),
21217            CHAR_CRIT       =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10),
21218                             fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),
21219          ),
21220            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21221                                fr="Liste des paramètres de sensibilité",
21222                                ang="List of sensitivity parameters"),
21223            SOLV_NON_LOCAL  =FACT(statut='f',
21224              METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21225              b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
21226                RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21227              ),
21228              b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
21229                RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21230              ),
21231              b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21232                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
21233                NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21234                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21235              ),
21236              b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
21237                PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21238                NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21239                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21240                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21241              ),
21242              EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
21243            ),
21244            LAGR_NON_LOCAL  =FACT(statut='f',
21245              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
21246              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
21247              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
21248              R               =SIMP(statut='f',typ='R',defaut= 1000.),
21249              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
21250            ),
21251          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
21252          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
21253  )  ;
21254 #& MODIF COMMANDE  DATE 24/05/2006   AUTEUR CIBHHLV L.VIVAN 
21255 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21256 # ======================================================================
21257 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
21258 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
21259 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
21260 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
21261 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
21262 #                                                                       
21263 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
21264 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
21265 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
21266 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
21267 #                                                                       
21268 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
21269 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
21270 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
21271 # ======================================================================
21272
21273 # RESPONSABLE MCOURTOI M.COURTOIS
21274
21275 from Macro.test_fichier_ops import test_fichier_ops
21276
21277 TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops,
21278                    UIinfo={"groupes":("Impression",)},
21279                    
21280    UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21281    FICHIER          =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)),
21282    NB_CHIFFRE      =SIMP(statut='o',typ='I',),   # defaut=6        pas de defaut, il faut
21283    EPSILON         =SIMP(statut='o',typ='R',),   # defaut=1.E-12   se poser la question !
21284    EXPR_IGNORE     =SIMP(statut='f',typ='TXM',max='**',
21285                          fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"),
21286    VALE_K          =SIMP(statut='o',typ='TXM' ),
21287    REFERENCE       =SIMP(statut='f',typ='TXM',
21288                          into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21289
21290    b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
21291       VERSION         =SIMP(statut='f',typ='TXM' ),
21292    ),
21293
21294    INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
21295 )
21296 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
21297 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21298 # ======================================================================
21299 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21300 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21301 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21302 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21303 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21304 #
21305 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21306 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21307 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21308 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21309 #
21310 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21311 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21312 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21313 # ======================================================================
21314 # RESPONSABLE MCOURTOI M.COURTOIS
21315 TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,fr="Extraction d une valeur numérique ou d un attribut de fonction",
21316             UIinfo={"groupes":("Impression",)},
21317          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21318          TEST_NOOK       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21319          VALEUR          =FACT(statut='f',max='**',
21320                                fr="Tester la valeur d une fonction ou d une nappe",
21321            regles=(UN_PARMI('VALE_REFE','VALE_REFE_C', ),),
21322            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
21323            NOM_PARA        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2),
21324            VALE_PARA       =SIMP(statut='o',typ='R'  ,validators=NoRepeat(),max=2),
21325            VALE_REFE       =SIMP(statut='f',typ='R' ),
21326            VALE_REFE_C     =SIMP(statut='f',typ='C' ),
21327            CRITERE         =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence",
21328                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21329            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
21330                                  defaut= 1.E-3 ),
21331            REFERENCE       =SIMP(statut='f',typ='TXM',
21332                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21333            b_version = BLOC (condition = "REFERENCE == 'NON_REGRESSION'", 
21334              VERSION         =SIMP(statut='f',typ='TXM' ),
21335            ),
21336          ),
21337          ATTRIBUT        =FACT(statut='f',max='**',
21338                                fr="Tester la valeur d un attribut d une fonction ou d''une nappe",
21339            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
21340            PARA            =SIMP(statut='f',typ='R' ),
21341            CRIT_PARA       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21342            PREC_PARA       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
21343            ATTR            =SIMP(statut='o',typ='TXM',
21344                                  into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL",
21345                                        "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ),
21346            ATTR_REFE       =SIMP(statut='o',typ='TXM' ),
21347            REFERENCE       =SIMP(statut='f',typ='TXM',
21348                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21349            b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
21350              VERSION         =SIMP(statut='f',typ='TXM' ),
21351            ),
21352          ),
21353          TABL_INTSP      =FACT(statut='f',max='**',
21354                                fr="Tester la valeur d une fonction contenue dans une table interspectrale",
21355            regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),),
21356            INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
21357            NOEUD_I         =SIMP(statut='f',typ=no),
21358            NUME_ORDRE_I    =SIMP(statut='f',typ='I' ),
21359            b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", 
21360              NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
21361            ),
21362            b_noeud_i = BLOC (condition = "NOEUD_I != None",             
21363              NOEUD_J         =SIMP(statut='o',typ=no),
21364              NOM_CMP_I       =SIMP(statut='o',typ='TXM' ),
21365              NOM_CMP_J       =SIMP(statut='o',typ='TXM' ),
21366            ),
21367            NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
21368            VALE_PARA       =SIMP(statut='o',typ='R' ),
21369            VALE_REFE_C     =SIMP(statut='o',typ='C' ),
21370            CRITERE         =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence",
21371                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21372            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
21373                                  defaut= 1.E-3 ),
21374            REFERENCE       =SIMP(statut='f',typ='TXM',
21375                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21376            b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
21377              VERSION         =SIMP(statut='f',typ='TXM' ),
21378            ),
21379          ),
21380 )  ;
21381 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
21382 # RESPONSABLE VABHHTS J.PELLET
21383 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21384 # ======================================================================
21385 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21386 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21387 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21388 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21389 # (AT YOUR OPTION) ANY LATER VERSION.
21390 #
21391 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21392 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21393 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21394 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21395 #
21396 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21397 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21398 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21399 #
21400 #
21401 # ======================================================================
21402 TEST_RESU=PROC(nom="TEST_RESU",op=23,
21403             UIinfo={"groupes":("Impression",)},
21404          fr="Extraction d une valeur et comparaison à une valeur de référence",
21405          regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','RESU','OBJET')),
21406          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21407
21408          CHAM_NO         =FACT(statut='f',max='**',
21409            regles=(UN_PARMI('NOEUD','GROUP_NO','TYPE_TEST'),
21410                    EXCLUS('NOEUD','GROUP_NO'),
21411                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
21412                    PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'),
21413                    UN_PARMI('VALE','VALE_I','VALE_C'),),
21414            CHAM_GD         =SIMP(statut='o',typ=cham_no_sdaster),
21415            NOEUD           =SIMP(statut='f',typ=no   ),
21416            GROUP_NO        =SIMP(statut='f',typ=grno ),
21417            NOM_CMP         =SIMP(statut='f',typ='TXM'),
21418            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
21419            VALE            =SIMP(statut='f',typ='R'),
21420            VALE_I          =SIMP(statut='f',typ='I'),
21421            VALE_C          =SIMP(statut='f',typ='C'),
21422            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
21423            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
21424            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21425                                                             "NON_REGRESSION","AUTRE_ASTER")),
21426            VERSION         =SIMP(statut='f',typ='TXM'),
21427          ),
21428
21429          CHAM_ELEM       =FACT(statut='f',max='**',
21430            regles=(UN_PARMI('MAILLE','TYPE_TEST',),
21431                    EXCLUS('NOEUD','GROUP_NO','POINT'),
21432                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
21433                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
21434                    PRESENT_PRESENT('POINT','NOM_CMP'),
21435                    UN_PARMI('VALE','VALE_I','VALE_C'), ),
21436            CHAM_GD         =SIMP(statut='o',typ=cham_elem_sdaster),
21437            MAILLE          =SIMP(statut='f',typ=ma),
21438            POINT           =SIMP(statut='f',typ='I' ),
21439            SOUS_POINT      =SIMP(statut='f',typ='I'),
21440            NOEUD           =SIMP(statut='f',typ=no),
21441            GROUP_NO        =SIMP(statut='f',typ=grno),
21442            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
21443            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
21444            VALE            =SIMP(statut='f',typ='R' ),
21445            VALE_I          =SIMP(statut='f',typ='I' ),
21446            VALE_C          =SIMP(statut='f',typ='C' ),
21447            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
21448            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21449            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21450                                                             "NON_REGRESSION","AUTRE_ASTER") ),
21451            VERSION         =SIMP(statut='f',typ='TXM' ),
21452          ),
21453
21454          RESU            =FACT(statut='f',max='**',
21455            regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),
21456                    UN_PARMI('NOM_CHAM','PARA'),
21457                    PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP','TYPE_TEST'),
21458                    PRESENT_PRESENT('NOM_CMP','NOM_CHAM'),
21459                    EXCLUS('NOEUD','GROUP_NO','POINT','TYPE_TEST'),
21460                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
21461                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
21462                    PRESENT_PRESENT('POINT','NOM_CMP'),
21463                    UN_PARMI('VALE','VALE_I','VALE_C') ,),
21464            RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
21465            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
21466                                  fr="Paramètre de sensibilité.",
21467                                  ang="Sensitivity parameter"),
21468            NUME_ORDRE      =SIMP(statut='f',typ='I'),
21469            INST            =SIMP(statut='f',typ='R'),
21470            FREQ            =SIMP(statut='f',typ='R'),
21471            NUME_MODE       =SIMP(statut='f',typ='I'),
21472            NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),
21473            NOM_CAS         =SIMP(statut='f',typ='TXM'),
21474            ANGL            =SIMP(statut='f',typ='R'),
21475            PARA            =SIMP(statut='f',typ='TXM'),
21476            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
21477            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
21478            MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
21479            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
21480            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
21481            POINT           =SIMP(statut='f',typ='I'),
21482            SOUS_POINT      =SIMP(statut='f',typ='I'),
21483            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
21484            VALE            =SIMP(statut='f',typ='R'),
21485            VALE_I          =SIMP(statut='f',typ='I'),
21486            VALE_C          =SIMP(statut='f',typ='C'),
21487            CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2),
21488            PRECISION       =SIMP(statut='f',typ='R',max=2),
21489            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21490                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
21491            VERSION         =SIMP(statut='f',typ='TXM' ),
21492          ),
21493
21494          OBJET           =FACT(statut='f',max='**',
21495            regles=(UN_PARMI('S_I','S_R','RESUME',),
21496                    UN_PARMI('VALE','VALE_I','VALE_C','RESUME','S_R','S_I'),),
21497            NOM             =SIMP(statut='o',typ='TXM'),
21498            S_R             =SIMP(statut='f',typ='R'),
21499            S_I             =SIMP(statut='f',typ='I'),
21500            RESUME          =SIMP(statut='f',typ='I'),
21501            VALE            =SIMP(statut='f',typ='R'),
21502            VALE_I          =SIMP(statut='f',typ='I'),
21503            VALE_C          =SIMP(statut='f',typ='C'),
21504            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
21505            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
21506            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
21507                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
21508            VERSION         =SIMP(statut='f',typ='TXM' ),
21509          ),
21510 )  ;
21511 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
21512 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21513 # ======================================================================
21514 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21515 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21516 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21517 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21518 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21519 #
21520 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21521 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21522 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21523 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21524 #
21525 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21526 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21527 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21528 # ======================================================================
21529 # RESPONSABLE VABHHTS J.PELLET
21530 TEST_TABLE=PROC(nom="TEST_TABLE",op= 177,
21531             UIinfo={"groupes":("Impression",)},
21532          regles=(UN_PARMI('VALE','VALE_I','VALE_C', ),),
21533          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
21534 #  concept table_sdaster à tester
21535          TABLE           =SIMP(statut='o',typ=table_sdaster),
21536
21537          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
21538                                  fr="Paramètre de sensibilité.",
21539                                  ang="Sensitivity parameter"),
21540          FILTRE          =FACT(statut='f',max='**',
21541            NOM_PARA        =SIMP(statut='o',typ='TXM' ),
21542            CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
21543                                  into=("EQ","LT","GT","NE","LE","GE","VIDE",
21544                                        "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
21545            b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
21546               regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
21547               VALE            =SIMP(statut='f',typ='R' ),
21548               VALE_I          =SIMP(statut='f',typ='I' ),
21549               VALE_C          =SIMP(statut='f',typ='C' ),
21550               VALE_K          =SIMP(statut='f',typ='TXM' ),),
21551
21552            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21553            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
21554          ),
21555          TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
21556          NOM_PARA        =SIMP(statut='o',typ='TXM' ),
21557          VALE            =SIMP(statut='f',typ='R' ),
21558          VALE_I          =SIMP(statut='f',typ='I' ),
21559          VALE_C          =SIMP(statut='f',typ='C' ),
21560          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21561          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.2E-3 ),
21562          REFERENCE       =SIMP(statut='f',typ='TXM',
21563                                into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
21564          b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
21565              VERSION         =SIMP(statut='f',typ='TXM' ),
21566          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
21567          ),
21568 )  ;
21569 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
21570 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21571 # ======================================================================
21572 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21573 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21574 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21575 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21576 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21577 #
21578 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21579 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21580 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21581 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21582 #
21583 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21584 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21585 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21586 # ======================================================================
21587 THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
21588             UIinfo={"groupes":("Résolution",)},
21589                    fr="Analyse thermique linéaire stationnaire ou transitoire",
21590          MODELE          =SIMP(statut='o',typ=modele_sdaster),
21591          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
21592          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
21593          EXCIT           =FACT(statut='o',max='**',
21594            CHARGE          =SIMP(statut='o',typ=(char_ther,char_cine_ther)),
21595            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21596          ),
21597          INCREMENT       =FACT(statut='f',
21598            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster ),
21599            NUME_INIT       =SIMP(statut='f',typ='I'),
21600            NUME_FIN        =SIMP(statut='f',typ='I'),
21601          ),
21602          TEMP_INIT       =FACT(statut='f',
21603            regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
21604            STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21605            EVOL_THER       =SIMP(statut='f',typ=evol_ther),
21606            CHAM_NO         =SIMP(statut='f',typ=cham_no_temp_r),
21607            VALE            =SIMP(statut='f',typ='R'),
21608            NUME_INIT       =SIMP(statut='f',typ='I'),
21609          ),
21610          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21611                                fr="Liste des paramètres de sensibilité.",
21612                                ang="List of sensitivity parameters",
21613          ),
21614            SENS_INIT       =FACT(statut='f',
21615              regles=(EXCLUS('STATIONNAIRE','EVOL_THER', ),),
21616              STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21617              EVOL_THER       =SIMP(statut='f',typ=evol_ther),
21618              NUME_INIT       =SIMP(statut='f',typ='I'),
21619            ),
21620          SOLVEUR         =FACT(statut='d',
21621            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21622            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
21623              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21624            ),
21625            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
21626              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21627            ),
21628            b_ldlt_mult      =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21629                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
21630              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21631              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21632            ),
21633            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
21634              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21635              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21636              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21637              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21638              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21639            ),
21640          ),
21641          PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57),
21642          ARCHIVAGE       =FACT(statut='f',
21643            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST'),),
21644            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
21645            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
21646            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
21647            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21648            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
21649                                  into=("RELATIF","ABSOLU")),
21650            PAS_ARCH        =SIMP(statut='f',typ='I'),
21651            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',into=("VARI",)),
21652          ),
21653          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
21654          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
21655 )  ;
21656 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
21657 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21658 # ======================================================================
21659 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21660 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21661 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21662 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21663 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21664 #
21665 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21666 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21667 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21668 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21669 #
21670 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21671 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21672 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21673 # ======================================================================
21674 THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
21675             UIinfo={"groupes":("Résolution",)},
21676                    fr="Analyse thermique non linéaire stationnaire ou transitoire" ,
21677          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
21678          CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
21679          CARA_ELEM       =SIMP(statut='c',typ=(cara_elem) ),
21680          COMP_THER_NL    =FACT(statut='d',max='**',
21681            RELATION        =SIMP(statut='f',typ='TXM',defaut="THER_NL",
21682                                  into=("THER_NL",
21683                                        "THER_HYDR",
21684                                        "SECH_GRANGER",
21685                                        "SECH_MENSI",
21686                                        "SECH_BAZANT",
21687                                        "SECH_NAPPE"
21688                                        ) ),
21689       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
21690            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21691            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
21692            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21693          ),
21694          EVOL_THER_SECH  =SIMP(statut='f',typ=evol_ther),
21695          EXCIT           =FACT(statut='o',max='**',
21696            CHARGE          =SIMP(statut='o',typ=char_ther),
21697            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21698          ),
21699          INCREMENT       =FACT(statut='f',
21700            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
21701            NUME_INIT       =SIMP(statut='f',typ='I'),
21702            NUME_FIN        =SIMP(statut='f',typ='I'),
21703          ),
21704          TEMP_INIT       =FACT(statut='f',
21705            regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
21706            STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",)),
21707            EVOL_THER       =SIMP(statut='f',typ=evol_ther),
21708            CHAM_NO         =SIMP(statut='f',typ=cham_no_temp_r),
21709            VALE            =SIMP(statut='f',typ='R'),
21710            NUME_INIT       =SIMP(statut='f',typ='I'),
21711          ),
21712          NEWTON          =FACT(statut='d',
21713            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21714            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21715            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 0 ),
21716          ),
21717          CONVERGENCE     =FACT(statut='d',
21718            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
21719            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
21720            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
21721          ),
21722          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21723                                fr="Liste des paramètres de sensibilité.",
21724                                ang="List of sensitivity parameters",
21725          ),
21726          SOLVEUR         =FACT(statut='d',
21727            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21728            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Parametres de la méthode multi frontale",
21729              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21730            ),
21731            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Parametres de la méthode LDLT",
21732              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21733            ),
21734            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21735                                    fr="Parametres relatifs a la non inversibilité de la matrice a factorise",
21736              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21737              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21738            ),
21739            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Parametres de la méthode du gradient conjugué",
21740              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21741              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I'  ,defaut= 0 ),
21742              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21743              RESI_RELA       =SIMP(statut='f',typ='R'  ,defaut= 1.E-6 ),
21744              NMAX_ITER       =SIMP(statut='f',typ='I'  ,defaut= 0 ),
21745            ),
21746            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
21747          ),
21748          PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57 ),
21749          ARCHIVAGE       =FACT(statut='f',
21750            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST', ),),
21751            LIST_ARCH       =SIMP(statut='f',typ=(listis_sdaster) ),
21752            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
21753            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
21754            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
21755            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
21756            PAS_ARCH        =SIMP(statut='f',typ='I'),
21757            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',into=("VARI",)),
21758          ),
21759          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
21760          OPTION          =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,
21761                                into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP") ),
21762          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
21763   
21764 )  ;
21765 #& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
21766 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21767 # ======================================================================
21768 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21769 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21770 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21771 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21772 # (AT YOUR OPTION) ANY LATER VERSION.
21773 #
21774 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21775 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21776 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21777 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21778 #
21779 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21780 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21781 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21782 # ======================================================================
21783 THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther,
21784                      fr="Thermique non lineaire en repere mobile",
21785                      reentrant='n',
21786             UIinfo={"groupes":("Résolution",)},
21787          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
21788          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
21789          CARA_ELEM       =SIMP(statut='c',typ=cara_elem ),
21790          EXCIT           =FACT(statut='o',max='**',
21791            CHARGE          =SIMP(statut='o',typ=char_ther ),
21792            FONC_MULT       =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21793          ),
21794          TEMP_INIT       =FACT(statut='f',
21795            EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
21796            NUME_INIT       =SIMP(statut='f',typ='I',defaut= 0 ),
21797          ),
21798          CONVERGENCE     =FACT(statut='d',
21799            CRIT_TEMP_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
21800            CRIT_ENTH_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
21801            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
21802            ARRET           =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21803          ),
21804          SOLVEUR         =FACT(statut='d',
21805            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
21806            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
21807              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
21808            ),
21809            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
21810              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
21811            ),
21812            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
21813                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
21814              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
21815              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21816            ),
21817            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
21818              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
21819              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
21820              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
21821              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21822              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
21823            ),
21824            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21825          ),
21826          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
21827          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
21828 )  ;
21829
21830
21831